From 0f2843a5f33c3319f5d95ca76c458da53728431e Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 06 三月 2024 16:28:42 +0800 Subject: [PATCH] 新增t_member_coupon表分表配置 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java | 118 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 57 insertions(+), 61 deletions(-) diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java index fee79df..ebc1868 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java @@ -31,13 +31,13 @@ import com.ruoyi.system.api.service.RemoteConfigService; import com.ruoyi.system.api.service.RemoteGoodsService; import com.ruoyi.system.api.service.RemoteShopService; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; @@ -432,7 +432,7 @@ coupon.setRelGoodsIds(relGoodsIds); } //判断是否指定用户 - List<Long> relUserIdList = null; + List<Long> relUserIdList; if(coupon.getSendTarget()==5&&coupon.getRelationType()==1&&!mgtCouponEditDto.getRelUserIdList().isEmpty()){ relUserIdList = mgtCouponEditDto.getRelUserIdList(); List<CouponRelUser> couponRelUserList = new ArrayList<>(); @@ -448,10 +448,12 @@ } couponRelUserService.saveBatch(couponRelUserList); coupon.setRelUserIds(userIdSj.toString()); + } else { + relUserIdList = null; } //处理优惠券发放 if(coupon.getSendFlag() == 0 && coupon.getSendType()==2&&coupon.getSendTimeType()==1){ - sendCoupon(coupon,relUserIdList); + CompletableFuture.runAsync(()->sendCoupon(coupon,relUserIdList)); coupon.setSendFlag(1); this.saveOrUpdate(coupon); }else{ @@ -467,7 +469,6 @@ * @param relUserIdList * @return void */ - @Async protected void sendCoupon(Coupon coupon, List<Long> relUserIdList){ //1.手动领取2.全部用户3.会员用户4非会员用户5自定义 Date nowTime = new Date(); @@ -507,14 +508,11 @@ MemberCoupon memberCoupon; Integer sendTotal = 0; Integer sendPerson = 0; - String memberCouponId; Integer sendUserTotal; for(Long userId : userIdList){ if(coupon.getCouponFrom()==2){ for(int i=0;i<coupon.getLimitNumber();i++){ - memberCouponId = IdUtils.simpleUUID(); memberCoupon = new MemberCoupon(); - memberCoupon.setId(memberCouponId); memberCoupon.setDelFlag(0); memberCoupon.setCouponId(coupon.getCouponId()); memberCoupon.setUserId(userId); @@ -564,56 +562,56 @@ memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); } }else{ - memberCouponId = IdUtils.simpleUUID(); - memberCoupon = new MemberCoupon(); - memberCoupon.setId(memberCouponId); - memberCoupon.setDelFlag(0); - memberCoupon.setCouponId(coupon.getCouponId()); - memberCoupon.setUserId(userId); - //memberCoupon.setShopId(coupon.getShopId()); - memberCoupon.setCouponType(coupon.getCouponType()); - if(coupon.getCouponType()==1){ - memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold()); - memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); - }else if(coupon.getCouponType()==2){ - memberCoupon.setDiscountPercent(coupon.getDiscountPercent()); - }else if(coupon.getCouponType()==3){ - memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); - }else{ - memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); - } - memberCoupon.setCouponStatus(coupon.getCouponStatus()); - memberCoupon.setCouponName(coupon.getCouponName()); - memberCoupon.setSendType(coupon.getSendType()); - memberCoupon.setSendTarget(coupon.getSendTarget()); - memberCoupon.setSendTimeType(coupon.getSendTimeType()); - memberCoupon.setSendTime(coupon.getSendTime()); - memberCoupon.setUseScope(coupon.getUseScope()); - if(memberCoupon.getUseScope()==2){ - memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); - } - memberCoupon.setValidTimeType(coupon.getValidTimeType()); - memberCoupon.setValidStartTime(coupon.getValidStartTime()); - memberCoupon.setValidEndTime(coupon.getValidEndTime()); - memberCoupon.setValidDay(coupon.getValidDay()); - memberCoupon.setCouponFrom(coupon.getCouponFrom()); - memberCoupon.setReceiveTime(nowTime); - //有效期处理1.时间段2.领取之日起 - if(coupon.getValidTimeType()==1){ - memberCoupon.setDeadlineTime(coupon.getValidEndTime()); - }else if(coupon.getValidTimeType()==2){ - memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay())); - } - memberCouponList.add(memberCoupon); - sendTotal = sendTotal + 1; - if(coupon.getSendType()==1){ - sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId()); - if(sendUserTotal!=null&&sendUserTotal>0){ + for (Integer i = 0; i < coupon.getLimitNumber(); i++) { + memberCoupon = new MemberCoupon(); + memberCoupon.setDelFlag(0); + memberCoupon.setCouponId(coupon.getCouponId()); + memberCoupon.setUserId(userId); + //memberCoupon.setShopId(coupon.getShopId()); + memberCoupon.setCouponType(coupon.getCouponType()); + if(coupon.getCouponType()==1){ + memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold()); + memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); + }else if(coupon.getCouponType()==2){ + memberCoupon.setDiscountPercent(coupon.getDiscountPercent()); + }else if(coupon.getCouponType()==3){ + memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); }else{ - sendPerson = sendPerson + 1; + memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); } + memberCoupon.setCouponStatus(coupon.getCouponStatus()); + memberCoupon.setCouponName(coupon.getCouponName()); + memberCoupon.setSendType(coupon.getSendType()); + memberCoupon.setSendTarget(coupon.getSendTarget()); + memberCoupon.setSendTimeType(coupon.getSendTimeType()); + memberCoupon.setSendTime(coupon.getSendTime()); + memberCoupon.setUseScope(coupon.getUseScope()); + if(memberCoupon.getUseScope()==2){ + memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); + } + memberCoupon.setValidTimeType(coupon.getValidTimeType()); + memberCoupon.setValidStartTime(coupon.getValidStartTime()); + memberCoupon.setValidEndTime(coupon.getValidEndTime()); + memberCoupon.setValidDay(coupon.getValidDay()); + memberCoupon.setCouponFrom(coupon.getCouponFrom()); + memberCoupon.setReceiveTime(nowTime); + //有效期处理1.时间段2.领取之日起 + if(coupon.getValidTimeType()==1){ + memberCoupon.setDeadlineTime(coupon.getValidEndTime()); + }else if(coupon.getValidTimeType()==2){ + memberCoupon.setDeadlineTime(DateUtils.addDays(nowTime,coupon.getValidDay())); + } + memberCouponList.add(memberCoupon); + sendTotal = sendTotal + 1; + if(coupon.getSendType()==1){ + sendUserTotal = memberCouponService.totalMemberCouponByUserAndCoupon(userId,coupon.getCouponId()); + if(sendUserTotal!=null&&sendUserTotal>0){ + }else{ + sendPerson = sendPerson + 1; + } + } + memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); } - memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); } } memberCouponService.saveBatch(memberCouponList); @@ -663,12 +661,9 @@ MemberCoupon memberCoupon; Integer sendTotal = 0; Integer sendPerson = 0; - String memberCouponId; Integer sendUserTotal; for(Long userId : userIdList){ - memberCouponId = IdUtils.simpleUUID(); memberCoupon = new MemberCoupon(); - memberCoupon.setId(memberCouponId); memberCoupon.setDelFlag(0); memberCoupon.setCouponId(coupon.getCouponId()); memberCoupon.setUserId(userId); @@ -1253,8 +1248,9 @@ // 根据优惠券数量生成会员优惠券列表 for(int i=0;i<birthdayGiftSendDto.getCouponNumber();i++){ memberCoupon = new MemberCoupon(); + //TODO memberCouponId = IdUtils.simpleUUID(); - memberCoupon.setId(memberCouponId); + //memberCoupon.setId(memberCouponId); memberCoupon.setDelFlag(0); memberCoupon.setCouponId(couponId); memberCoupon.setUserId(userId); @@ -1425,8 +1421,8 @@ } //生成用户优惠券 MemberCoupon memberCoupon = new MemberCoupon(); - String memberCouponId = IdUtils.simpleUUID(); - memberCoupon.setId(memberCouponId); + //String memberCouponId = IdUtils.simpleUUID(); + //memberCoupon.setId(memberCouponId); memberCoupon.setDelFlag(0); memberCoupon.setCouponId(couponId); memberCoupon.setUserId(userId); @@ -1466,8 +1462,8 @@ }else if(coupon.getValidTimeType()==2){ memberCoupon.setDeadlineTime(DateUtils.addDays(new Date(),coupon.getValidDay())); } - memberCouponService.save(memberCoupon); memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); + memberCouponService.insert(memberCoupon); } /** -- Gitblit v1.7.1