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