From f26537e926d7ad2d725e059700142ba14c0c2b1f Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期三, 12 七月 2023 21:04:27 +0800
Subject: [PATCH] 定时任务延时任务

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index e36ea82..a0fa97a 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -8,6 +8,7 @@
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.utils.CodeFactoryUtil;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.domain.dto.*;
@@ -22,6 +23,7 @@
 import com.ruoyi.order.service.order.OrderService;
 import com.ruoyi.order.service.order.UserServiceRecordService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.constant.SecurityConstant;
 import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.poji.goods.Goods;
 import com.ruoyi.system.api.domain.poji.goods.GoodsFile;
@@ -90,6 +92,9 @@
 
     @Resource
     private UserServiceRecordMapper userServiceRecordMapper;
+
+    @Resource
+    private RedisService redisService;
 
     /**
      * @description: buyGoods
@@ -527,6 +532,13 @@
         String activityId = appPlaceActivityDto.getActivityId();
         String goodsId = appPlaceActivityDto.getGoodsId();
         Integer buyNum = appPlaceActivityDto.getBuyNum();
+        //redis库存控制极简版
+        Integer surpNum = redisService.getCacheObject(SecurityConstant.ACTIVITY_GOODS+"-"+activityId+"-"+goodsId);
+        if(surpNum==null||surpNum<buyNum){
+            throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL);
+        }else{
+            redisService.setCacheObject(SecurityConstant.ACTIVITY_GOODS+"-"+activityId+"-"+goodsId,surpNum-buyNum);
+        }
         // 定义购买数量,服务数量,商品数量
         BigDecimal buyNumBig;
         Integer serviceNum;
@@ -560,6 +572,9 @@
             throw new ServiceException(AppErrorConstant.ACTIVITY_END);
         }
         if (activityGoodsGetVo.getAvailableBuyNum() < 1) {
+            throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL);
+        }
+        if (buyNum < activityGoodsGetVo.getAvailableBuyNum()) {
             throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL);
         }
         // 创建订单ID和订单号
@@ -977,12 +992,23 @@
         merVerifyCouponVo.setUserName(member.getNickName());
         merVerifyCouponVo.setUserMobile(member.getMobile());
         merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom());
+        merVerifyCouponVo.setCouponName(verifyCouponGetVo.getMemberCoupon().getCouponName());
+        merVerifyCouponVo.setCreateTime(verifyCouponGetVo.getMemberCoupon().getReceiveTime());
         // 将goodsList转换为MerCouponGoodsListVo列表,并设置相应属性
         List<MerCouponGoodsListVo> merCouponGoodsList = goodsList.stream()
                 .map(goods -> {
                     MerCouponGoodsListVo merCouponGoods = new MerCouponGoodsListVo();
                     merCouponGoods.setGoodsId(goods.getGoodsId());
                     merCouponGoods.setGoodsName(goods.getGoodsName());
+                    if (goods.getGoodsType() == 1) {
+                        merCouponGoods.setGoodsType("周期");
+                    } else if (goods.getGoodsType() == 2) {
+                        merCouponGoods.setGoodsType("服务");
+                    } else if (goods.getGoodsType() == 3) {
+                        merCouponGoods.setGoodsType("体验");
+                    } else if (goods.getGoodsType() == 4) {
+                        merCouponGoods.setGoodsType("单品");
+                    }
                     // 设置其他属性
                     return merCouponGoods;
                 })
@@ -1030,6 +1056,7 @@
             consumerGoodsList.add(consumerGoods);
         }
         consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
+        merVerifyCouponVo.setVerifyStatus(2);
         return merVerifyCouponVo;
     }
 
@@ -1117,6 +1144,8 @@
             appMemberBindingDto.setUserId(merVerifyPrizeDto.getUserId());
             remoteMemberService.updateMemberBinding(appMemberBindingDto);
         }
+        merVerifyAwardVo.setPrizeId(merVerifyPrizeDto.getPrizeId());
+        merVerifyAwardVo.setVerifyStatus(2);
         return merVerifyAwardVo;
     }
 
@@ -2401,18 +2430,30 @@
         merVerifyCouponVo.setUserName(member.getNickName());
         merVerifyCouponVo.setUserMobile(member.getMobile());
         merVerifyCouponVo.setCouponFrom(verifyCouponGetVo.getCouponFrom());
+        merVerifyCouponVo.setCouponName(verifyCouponGetVo.getMemberCoupon().getCouponName());
+        merVerifyCouponVo.setCreateTime(verifyCouponGetVo.getMemberCoupon().getReceiveTime());
         // 将goodsList转换为MerCouponGoodsListVo列表,并设置相应属性
         List<MerCouponGoodsListVo> merCouponGoodsList = goodsList.stream()
                 .map(goods -> {
                     MerCouponGoodsListVo merCouponGoods = new MerCouponGoodsListVo();
                     merCouponGoods.setGoodsId(goods.getGoodsId());
                     merCouponGoods.setGoodsName(goods.getGoodsName());
+                    if (goods.getGoodsType() == 1) {
+                        merCouponGoods.setGoodsType("周期");
+                    } else if (goods.getGoodsType() == 2) {
+                        merCouponGoods.setGoodsType("服务");
+                    } else if (goods.getGoodsType() == 3) {
+                        merCouponGoods.setGoodsType("体验");
+                    } else if (goods.getGoodsType() == 4) {
+                        merCouponGoods.setGoodsType("单品");
+                    }
                     // 设置其他属性
                     return merCouponGoods;
                 })
                 .collect(Collectors.toList());
         // 设置merVerifyCouponVo的goodsList属性为merCouponGoodsList
         merVerifyCouponVo.setGoodsList(merCouponGoodsList);
+        merVerifyCouponVo.setVerifyStatus(1);
         return merVerifyCouponVo;
     }
 
@@ -2475,6 +2516,8 @@
                 break;
         }
         merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime());
+        merVerifyAwardVo.setVerifyStatus(1);
+        merVerifyAwardVo.setPrizeId(verifyCode);
         return merVerifyAwardVo;
     }
 

--
Gitblit v1.7.1