From 5b56774d44be54faea118ce1fceec37c2bd4e1de Mon Sep 17 00:00:00 2001 From: jia <2744404105@qq.com> Date: Sun, 3 Mar 2024 10:02:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=A8=E8=80=831?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/ServerNameConstants.java | 1 + .../main/java/com/bwie/common/domain/Ord.java | 37 +++++++-- .../com/bwie/common/domain/request/Pay.java | 16 ++++ .../bwie/common/domain/response/OrdRes.java | 32 ++++++++ .../common/remote/ord/OrdRemoteService.java | 20 +++++ .../remote/ord/factory/OrdRemoteFactory.java | 24 ++++++ .../main/resources/META-INF/spring.factories | 3 +- .../com/bwie/gateway/filters/AuthFilter.java | 2 +- .../src/main/java/com/bwie/car/CarApp.java | 2 + .../bwie/car/controller/CarController.java | 36 ++++++--- .../java/com/bwie/car/mapper/CarMapper.java | 4 +- .../java/com/bwie/car/service/CarService.java | 7 +- .../com/bwie/car/service/CarServiceImpl.java | 24 +++++- .../src/main/resources/mapper/CarMapper.xml | 15 ++-- .../src/main/java/com/bwie/ord/OrdApp.java | 15 ++++ .../src/main/java/com/bwie/ord/Test.java | 20 +++++ .../bwie/ord/controller/OrdController.java | 44 +++++++++++ .../java/com/bwie/ord/mapper/OrdMapper.java | 19 ++++- .../java/com/bwie/ord/service/OrdService.java | 14 +++- .../com/bwie/ord/service/OrdServiceImpl.java | 76 ++++++++++++++++++- .../src/main/resources/mapper/OrdMapper.xml | 29 +++++++ 21 files changed, 404 insertions(+), 36 deletions(-) create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/request/Pay.java create mode 100644 bwie-common/src/main/java/com/bwie/common/domain/response/OrdRes.java create mode 100644 bwie-common/src/main/java/com/bwie/common/remote/ord/OrdRemoteService.java create mode 100644 bwie-common/src/main/java/com/bwie/common/remote/ord/factory/OrdRemoteFactory.java create mode 100644 bwie-modules/bwie-ord/src/main/java/com/bwie/ord/OrdApp.java create mode 100644 bwie-modules/bwie-ord/src/main/java/com/bwie/ord/Test.java create mode 100644 bwie-modules/bwie-ord/src/main/resources/mapper/OrdMapper.xml diff --git a/bwie-common/src/main/java/com/bwie/common/constant/ServerNameConstants.java b/bwie-common/src/main/java/com/bwie/common/constant/ServerNameConstants.java index a555782..a52028a 100644 --- a/bwie-common/src/main/java/com/bwie/common/constant/ServerNameConstants.java +++ b/bwie-common/src/main/java/com/bwie/common/constant/ServerNameConstants.java @@ -3,4 +3,5 @@ package com.bwie.common.constant; public class ServerNameConstants { public final static String SYSTEM_NAME="bwie-system"; + public final static String Ord_NAME="bwie-ord"; } diff --git a/bwie-common/src/main/java/com/bwie/common/domain/Ord.java b/bwie-common/src/main/java/com/bwie/common/domain/Ord.java index 0550d02..ab71941 100644 --- a/bwie-common/src/main/java/com/bwie/common/domain/Ord.java +++ b/bwie-common/src/main/java/com/bwie/common/domain/Ord.java @@ -3,22 +3,47 @@ package com.bwie.common.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@TableName(value = "ord") public class Ord { - private Long carId; - private Long goodsId; - private String goodsHao; - private String goodsName; - private String goodsBrand; + @TableId(value = "ord_id",type = IdType.AUTO) + private Long ordId; + + @TableField(value = "ord_hao") + private String ordHao; + + @TableField("car_id") + private Long carId; + + @TableField("ord_money") private Integer ordMoney; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone ="GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("ord_time") private Date ordTime; + @TableField("ord_status") + private Integer ordStatus; + + @TableField("ord_tui") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone ="GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date ordTui; + diff --git a/bwie-common/src/main/java/com/bwie/common/domain/request/Pay.java b/bwie-common/src/main/java/com/bwie/common/domain/request/Pay.java new file mode 100644 index 0000000..4c0d770 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/request/Pay.java @@ -0,0 +1,16 @@ +package com.bwie.common.domain.request; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Pay { + private List carIds; + private Integer total; + private String ordHao; +} diff --git a/bwie-common/src/main/java/com/bwie/common/domain/response/OrdRes.java b/bwie-common/src/main/java/com/bwie/common/domain/response/OrdRes.java new file mode 100644 index 0000000..4d29847 --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/domain/response/OrdRes.java @@ -0,0 +1,32 @@ +package com.bwie.common.domain.response; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class OrdRes { + + private Long carId; + private String ordHao; + private Long goodsId; + private Integer goodsNum; + private Integer ordMoney; + private String goodsHao; + private String goodsName; + private String goodsBrand; + private Integer goodsXin; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone ="GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date ordTime; + private Date ordTui; +} diff --git a/bwie-common/src/main/java/com/bwie/common/remote/ord/OrdRemoteService.java b/bwie-common/src/main/java/com/bwie/common/remote/ord/OrdRemoteService.java new file mode 100644 index 0000000..4e31b6d --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/remote/ord/OrdRemoteService.java @@ -0,0 +1,20 @@ +package com.bwie.common.remote.ord; + +import com.bwie.common.constant.ServerNameConstants; +import com.bwie.common.domain.request.Pay; +import com.bwie.common.remote.ord.factory.OrdRemoteFactory; +import com.bwie.common.result.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient( + name = ServerNameConstants.Ord_NAME, + fallbackFactory = OrdRemoteFactory.class +) +public interface OrdRemoteService{ + + + @PostMapping("addord") + public Result addord(@RequestBody Pay pay); +} diff --git a/bwie-common/src/main/java/com/bwie/common/remote/ord/factory/OrdRemoteFactory.java b/bwie-common/src/main/java/com/bwie/common/remote/ord/factory/OrdRemoteFactory.java new file mode 100644 index 0000000..d13b50c --- /dev/null +++ b/bwie-common/src/main/java/com/bwie/common/remote/ord/factory/OrdRemoteFactory.java @@ -0,0 +1,24 @@ +package com.bwie.common.remote.ord.factory; + +import com.bwie.common.domain.request.Pay; +import com.bwie.common.remote.ord.OrdRemoteService; +import com.bwie.common.result.Result; +import lombok.extern.java.Log; +import lombok.extern.log4j.Log4j2; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +@Component +@Log4j2 +public class OrdRemoteFactory implements FallbackFactory { + @Override + public OrdRemoteService create(Throwable cause) { + return new OrdRemoteService() { + @Override + public Result addord(Pay pay) { + log.error("[{}-{}]添加订单远程调用错误",pay,cause.getMessage(),cause); + return Result.error(); + } + }; + } +} diff --git a/bwie-common/src/main/resources/META-INF/spring.factories b/bwie-common/src/main/resources/META-INF/spring.factories index b83ea18..77c8030 100644 --- a/bwie-common/src/main/resources/META-INF/spring.factories +++ b/bwie-common/src/main/resources/META-INF/spring.factories @@ -3,4 +3,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.bwie.common.handler.GlobalExceptionHandle,\ com.bwie.common.config.RedisConfig,\ com.bwie.common.redis.RedisCache,\ - com.bwie.common.remote.user.factory.UserRemoteFactory + com.bwie.common.remote.user.factory.UserRemoteFactory,\ + com.bwie.common.remote.ord.factory.OrdRemoteFactory diff --git a/bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java b/bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java index f9e7e4d..76b4b00 100644 --- a/bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java +++ b/bwie-gateway/src/main/java/com/bwie/gateway/filters/AuthFilter.java @@ -54,7 +54,7 @@ public class AuthFilter implements GlobalFilter, Ordered { if(null==claims){ return GatewayUtils.errorResponse(exchange,"token格式不正确"); } - String userKey = JwtUtils.getUserKey(claims); + String userKey = JwtUtils.getUserKey(first); if(!redisCache.hasKey(TokenConstants.LOGIN_TOKEN_KEY+userKey)){ return GatewayUtils.errorResponse(exchange,"token过期"); } diff --git a/bwie-modules/bwie-car/src/main/java/com/bwie/car/CarApp.java b/bwie-modules/bwie-car/src/main/java/com/bwie/car/CarApp.java index a4db90a..5fe979b 100644 --- a/bwie-modules/bwie-car/src/main/java/com/bwie/car/CarApp.java +++ b/bwie-modules/bwie-car/src/main/java/com/bwie/car/CarApp.java @@ -4,10 +4,12 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableDiscoveryClient @MapperScan("com.bwie.car.mapper") +@EnableFeignClients(basePackages = "com.bwie.**") public class CarApp { public static void main(String[] args) { SpringApplication.run(CarApp.class); diff --git a/bwie-modules/bwie-car/src/main/java/com/bwie/car/controller/CarController.java b/bwie-modules/bwie-car/src/main/java/com/bwie/car/controller/CarController.java index 19d7e46..7ed2330 100644 --- a/bwie-modules/bwie-car/src/main/java/com/bwie/car/controller/CarController.java +++ b/bwie-modules/bwie-car/src/main/java/com/bwie/car/controller/CarController.java @@ -6,6 +6,7 @@ import com.bwie.common.constant.TokenConstants; import com.bwie.common.domain.Car; import com.bwie.common.domain.Ord; import com.bwie.common.domain.User; +import com.bwie.common.domain.request.Pay; import com.bwie.common.domain.response.CarShow; import com.bwie.common.redis.RedisCache; import com.bwie.common.result.Result; @@ -23,6 +24,7 @@ public class CarController { private final CarMapper carMapper; private final HttpServletRequest request; + public CarController(CarService carService, RedisCache redisCache, CarMapper carMapper, HttpServletRequest request) { this.carService = carService; this.redisCache = redisCache; @@ -31,34 +33,47 @@ public class CarController { } @PostMapping("addcar") - public Result addcar(@RequestParam Long goodsId){ + public Result addcar(@RequestParam Long goodsId) { Car findgoods = carService.findgoods(goodsId, info().getUserId()); - if(findgoods==null){ + if (findgoods == null) { Car build = Car.builder() .userId(info().getUserId()) .goodsId(goodsId) .goodsNum(1) .build(); carService.save(build); - }else { - findgoods.setGoodsNum(findgoods.getGoodsNum()+1); - carMapper.updateById(findgoods); + } else { + findgoods.setGoodsNum(findgoods.getGoodsNum() + 1); + carMapper.updateById(findgoods); } return Result.success(); } @GetMapping("show") - public Result show(){ + public Result show() { List show = carService.show(); return Result.success(show); } @PostMapping("delcar") - public Result delcar(@RequestParam Long carId){ + public Result delcar(@RequestParam Long carId) { carService.delcar(carId); return Result.success(); } + @PostMapping("updnum") + public Result updnum(@RequestBody CarShow carShow) { + carService.addnum(carShow); + return Result.success(); + } + + @PostMapping("pay") + public Result pay(@RequestBody Pay pay){ + carService.pay(pay); + return Result.success(); + } + + public User info() { String header = request.getHeader(TokenConstants.TOKEN); String userKey = JwtUtils.getUserKey(header); @@ -66,9 +81,6 @@ public class CarController { return cacheObject; } - @GetMapping("showord") - public Result showord(){ - List show = carService.showord(); - return Result.success(show); - } + + } diff --git a/bwie-modules/bwie-car/src/main/java/com/bwie/car/mapper/CarMapper.java b/bwie-modules/bwie-car/src/main/java/com/bwie/car/mapper/CarMapper.java index 17871e0..ef19e40 100644 --- a/bwie-modules/bwie-car/src/main/java/com/bwie/car/mapper/CarMapper.java +++ b/bwie-modules/bwie-car/src/main/java/com/bwie/car/mapper/CarMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.bwie.car.CarApp; import com.bwie.common.domain.Car; import com.bwie.common.domain.Ord; +import com.bwie.common.domain.request.Pay; import com.bwie.common.domain.response.CarShow; import java.util.List; @@ -12,7 +13,8 @@ public interface CarMapper extends BaseMapper { List show(Long userId); - List showord(Long userId); + + void updnum(CarShow carShow); } diff --git a/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarService.java b/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarService.java index 91f4f7f..408febe 100644 --- a/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarService.java +++ b/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.bwie.common.domain.Car; import com.bwie.common.domain.Goods; import com.bwie.common.domain.Ord; +import com.bwie.common.domain.request.Pay; import com.bwie.common.domain.response.CarShow; import java.util.List; @@ -14,5 +15,9 @@ public interface CarService extends IService { List show(); void delcar(Long carId); - List showord(); + + void addnum(CarShow carShow); + + void pay(Pay pay); + } diff --git a/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarServiceImpl.java b/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarServiceImpl.java index aeb21c6..5c90d1f 100644 --- a/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarServiceImpl.java +++ b/bwie-modules/bwie-car/src/main/java/com/bwie/car/service/CarServiceImpl.java @@ -7,13 +7,17 @@ import com.bwie.common.constant.TokenConstants; import com.bwie.common.domain.Car; import com.bwie.common.domain.Ord; import com.bwie.common.domain.User; +import com.bwie.common.domain.request.Pay; import com.bwie.common.domain.response.CarShow; import com.bwie.common.redis.RedisCache; +import com.bwie.common.remote.ord.OrdRemoteService; import com.bwie.common.utils.JwtUtils; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class CarServiceImpl extends ServiceImpl implements CarService { @@ -21,11 +25,13 @@ public class CarServiceImpl extends ServiceImpl implements CarSe private final RedisCache redisCache; private final CarMapper carMapper; private final HttpServletRequest request; + private final OrdRemoteService ordRemoteService; - public CarServiceImpl(RedisCache redisCache, CarMapper carMapper, HttpServletRequest request) { + public CarServiceImpl(RedisCache redisCache, CarMapper carMapper, HttpServletRequest request, OrdRemoteService ordRemoteService) { this.redisCache = redisCache; this.carMapper = carMapper; this.request = request; + this.ordRemoteService = ordRemoteService; } @Override @@ -48,9 +54,21 @@ public class CarServiceImpl extends ServiceImpl implements CarSe carMapper.deleteById(carId); } + + @Override - public List showord() { - return carMapper.showord(info().getUserId()); + public void addnum(CarShow carShow) { + carMapper.updnum(carShow); + } + + @Override + public void pay(Pay pay) { + ordRemoteService.addord(pay); + List collect = pay.getCarIds().stream().map(c -> { + String[] split = c.split("-"); + return Integer.valueOf(split[3]); + }).collect(Collectors.toList()); + carMapper.deleteBatchIds(collect); } public User info() { diff --git a/bwie-modules/bwie-car/src/main/resources/mapper/CarMapper.xml b/bwie-modules/bwie-car/src/main/resources/mapper/CarMapper.xml index ddf7ac9..4132696 100644 --- a/bwie-modules/bwie-car/src/main/resources/mapper/CarMapper.xml +++ b/bwie-modules/bwie-car/src/main/resources/mapper/CarMapper.xml @@ -2,17 +2,16 @@ + + update car set goods_num=#{goodsNum} where car_id=#{carId} + + + - + diff --git a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/OrdApp.java b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/OrdApp.java new file mode 100644 index 0000000..35bf23a --- /dev/null +++ b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/OrdApp.java @@ -0,0 +1,15 @@ +package com.bwie.ord; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +@SpringBootApplication +@MapperScan("com.bwie.ord.mapper") +@EnableDiscoveryClient +public class OrdApp { + public static void main(String[] args) { + SpringApplication.run(OrdApp.class); + } +} diff --git a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/Test.java b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/Test.java new file mode 100644 index 0000000..e57e3ca --- /dev/null +++ b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/Test.java @@ -0,0 +1,20 @@ +package com.bwie.ord; + +import java.util.Calendar; +import java.util.Date; + +public class Test { + public static void main(String[] args) { + Date date = new Date(); + System.out.println("date = " + date); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + + // 增加两天 + calendar.add(Calendar.DAY_OF_MONTH, 2); + + // 获取增加后的日期 + Date newDate = calendar.getTime(); + System.out.println("date = " + newDate); + } +} diff --git a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/controller/OrdController.java b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/controller/OrdController.java index ac23131..ea4a214 100644 --- a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/controller/OrdController.java +++ b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/controller/OrdController.java @@ -1,4 +1,48 @@ package com.bwie.ord.controller; +import com.bwie.common.domain.Ord; +import com.bwie.common.domain.request.Pay; +import com.bwie.common.domain.response.OrdRes; +import com.bwie.common.result.Result; +import com.bwie.ord.service.OrdService; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; + +@RestController +@ResponseBody public class OrdController { + + private final OrdService ordService; + + public OrdController(OrdService ordService) { + this.ordService = ordService; + } + + + @PostMapping("addord") + public Result addord(@RequestBody Pay pay){ + ordService.addord(pay); + return Result.success(); + } + + @GetMapping("show") + public Result showord(){ + List show = ordService.showord(); + return Result.success(show); + } + + @PostMapping("tui") + public Result tui(@RequestParam Long ordId,Integer goodsXin){ + ordService.tui(ordId,goodsXin); + return Result.success(); + } + + + @GetMapping("showtui") + public Result showtui(){ + List show = ordService.showtui(); + return Result.success(show); + } } diff --git a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/mapper/OrdMapper.java b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/mapper/OrdMapper.java index 5f12053..36db754 100644 --- a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/mapper/OrdMapper.java +++ b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/mapper/OrdMapper.java @@ -1,4 +1,21 @@ package com.bwie.ord.mapper; -public interface OrdMapper { +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bwie.common.domain.Ord; +import com.bwie.common.domain.request.Pay; +import com.bwie.common.domain.response.OrdRes; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +public interface OrdMapper extends BaseMapper { + void addord(@Param("pay") Pay pay, @Param("id") Integer id, @Param("price") Integer price, @Param("userId") Long userId, @Param("goodsId") Long goodsId); + + List showtui(Long userId); + + List showord(Long userId); + + void tui(Long ordId, Date date); + } diff --git a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdService.java b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdService.java index edd6c3e..5dfcd21 100644 --- a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdService.java +++ b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdService.java @@ -1,4 +1,16 @@ package com.bwie.ord.service; -public interface OrdService { +import com.baomidou.mybatisplus.extension.service.IService; +import com.bwie.common.domain.Ord; +import com.bwie.common.domain.request.Pay; +import com.bwie.common.domain.response.OrdRes; + +import java.util.List; + +public interface OrdService extends IService { + void addord(Pay pay); + List showord(); + List showtui(); + + void tui(Long ordId, Integer goodsXin); } diff --git a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdServiceImpl.java b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdServiceImpl.java index 9e1d6cc..ebcfd53 100644 --- a/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdServiceImpl.java +++ b/bwie-modules/bwie-ord/src/main/java/com/bwie/ord/service/OrdServiceImpl.java @@ -1,4 +1,78 @@ package com.bwie.ord.service; -public class OrdServiceImpl { +import cn.hutool.core.util.RandomUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bwie.common.constant.TokenConstants; +import com.bwie.common.domain.Ord; +import com.bwie.common.domain.User; +import com.bwie.common.domain.request.Pay; +import com.bwie.common.domain.response.OrdRes; +import com.bwie.common.redis.RedisCache; +import com.bwie.common.utils.JwtUtils; +import com.bwie.ord.mapper.OrdMapper; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +@Service +public class OrdServiceImpl extends ServiceImpl implements OrdService{ + private final OrdMapper ordMapper; + + private final RedisCache redisCache; + private final HttpServletRequest request; + + public OrdServiceImpl(OrdMapper ordMapper, RedisCache redisCache, HttpServletRequest request) { + this.ordMapper = ordMapper; + this.redisCache = redisCache; + this.request = request; + } + + @Override + public void addord(Pay pay) { + String s = RandomUtil.randomNumbers(6); + pay.setOrdHao(s); + pay.getCarIds().stream().forEach(c->{ + String[] split = c.split("-"); + Integer id= Integer.valueOf(split[0]); + Integer price= Integer.valueOf(split[1]); + Long goodsId= Long.valueOf(split[2]); + ordMapper.addord(pay,id,price,info().getUserId(),goodsId); + }); + + } + + @Override + public List showord() { + return ordMapper.showord(info().getUserId()); + } + + @Override + public List showtui() { + return ordMapper.showtui(info().getUserId()); + } + + @Override + public void tui(Long ordId, Integer goodsXin) { + Date date = new Date(); + + if(goodsXin==2){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + // 增加两天 + calendar.add(Calendar.DAY_OF_MONTH, 2); + // 获取增加后的日期 + date = calendar.getTime(); + } + ordMapper.tui(ordId,date); + } + + public User info() { + String header = request.getHeader(TokenConstants.TOKEN); + String userKey = JwtUtils.getUserKey(header); + User cacheObject = redisCache.getCacheObject(TokenConstants.LOGIN_TOKEN_KEY + userKey); + return cacheObject; + } } diff --git a/bwie-modules/bwie-ord/src/main/resources/mapper/OrdMapper.xml b/bwie-modules/bwie-ord/src/main/resources/mapper/OrdMapper.xml new file mode 100644 index 0000000..6786765 --- /dev/null +++ b/bwie-modules/bwie-ord/src/main/resources/mapper/OrdMapper.xml @@ -0,0 +1,29 @@ + + + + + + INSERT INTO `test_week1`.`ord` + (`ord_hao`, `goods_num`,`goods_sum`, `ord_money`, `ord_time`, `ord_status`, `ord_tui`,`goods_id`,`user_id`) + VALUES + (#{pay.ordHao}, #{id},#{price}, #{pay.total}, now(), 1, now(),#{goodsId},#{userId}) + + + + update ord set ord_status=2 where ord_id=#{ordId},ord_tui=#{data} + + + + +