From 38774d8aad97e8d80bc92bf8a6011a6e64064a9b Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sat, 7 Mar 2020 13:16:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[detail][=E4=BC=98=E5=8C=96]:=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E6=95=B0=E6=8D=AE=E5=BA=93=E8=AE=BF=E9=97=AE=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E9=AB=98=E5=B9=B6=E5=8F=91=E6=95=88=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponController.java | 1 + .../controller/WxOrderController.java | 23 +++++++++- .../service/impl/WxMerchantServiceImpl.java | 5 +-- .../mapper/WxCouponChannelMapper.xml | 43 ++++++++++++++++++- .../main/resources/mapper/WxCouponMapper.xml | 38 +++++++++++++++- 5 files changed, 103 insertions(+), 7 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java index 3d854a99e..465541e83 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -68,6 +68,7 @@ public class WxCouponController extends BaseController { if (hasKey) { // 从缓存获取用户信息 WxCouponCVo wxCouponCVo = operations.get(key); + // 库存 if (couponIdL > 0L) { // 更新状态 WxCouponCVo couponCVo = couponService.getVoStatusById(couponIdL); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 88a0b3662..982ee860d 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -26,6 +26,9 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.web.bind.annotation.*; import java.util.Date; @@ -49,6 +52,10 @@ public class WxOrderController extends BaseController { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; + @Autowired + @Qualifier("couponDetailRedisTemplate") + RedisTemplate cdRedisTemplate; + @ApiOperation(value = "下订单", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}") @PostMapping("save") public ResultData saveOrder(@RequestBody OrderSaveDto orderSaveDto) { @@ -71,7 +78,21 @@ public class WxOrderController extends BaseController { return new ResultData(ErrorCode.MEMBER_IS_LOCKED); } - resultData = couponUserCheck(user, wxCouponChannelService.findDetailVo(orderSaveDto.getCouponChannelId())); + WxCouponCVo wxCouponCVo = null; + + String key = "cc:" + orderSaveDto.getCouponChannelId(); + ValueOperations operations = cdRedisTemplate.opsForValue(); + // 缓存 + boolean hasKey = cdRedisTemplate.hasKey(key); + if (hasKey) { + // 从缓存获取用户信息 + wxCouponCVo = operations.get(key); + } + if (wxCouponCVo == null) { + return new ResultData(ErrorCode.COUPON_IS_EMPTY); + } + + resultData = couponUserCheck(user, wxCouponCVo); if (resultData != null) return resultData; Long couponId = orderSaveDto.getCouponId() == null ? wxCouponChannel.getCouponId() : orderSaveDto.getCouponId(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 9eccbeef2..cbcaa4e6c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -12,10 +12,7 @@ import com.iformall.domain.dto.WxMerchantDto; import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.TenantEntity; -import com.iformall.domain.vo.WxMerchantSimpleVo; -import com.iformall.domain.vo.WxMerchantTradeDetailVo; -import com.iformall.domain.vo.WxMerchantTradeVo; -import com.iformall.domain.vo.WxMerchantVo; +import com.iformall.domain.vo.*; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; diff --git a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml index 63e426d54..7320c3180 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml @@ -274,6 +274,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select from wx_coupon c, wx_coupon_channel cc diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 5ae375f98..db3b470c3 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -511,6 +511,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select from wx_coupon From 0dddef24e201d129ae9c9b9705d468e3e5c27654 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sat, 7 Mar 2020 13:19:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[detail][=E4=BC=98=E5=8C=96]:=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E6=95=B0=E6=8D=AE=E5=BA=93=E8=AE=BF=E9=97=AE=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E9=AB=98=E5=B9=B6=E5=8F=91=E6=95=88=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mallinkService/src/main/resources/mapper/WxCouponMapper.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index db3b470c3..03985bc82 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -555,8 +555,7 @@