From cd6b21f04e08a61d79e4aea2593c41fdc5cd0766 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 14 五月 2026 09:01:22 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 67 +++++++++++++++++----------------
1 files changed, 34 insertions(+), 33 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index e0efcdd..f990099 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -726,21 +726,25 @@
OperationConfigDTO config = operationConfigBiz.getConfig();
String yearsStr = config.getRegisterCouponYears();
String maxGiftStr = config.getRegisterCouponGiftCount();
- String couponIdStr = config.getRegisterCouponId();
- if (StringUtils.isBlank(yearsStr) || StringUtils.isBlank(maxGiftStr) || StringUtils.isBlank(couponIdStr)) {
+ String couponIdsStr = config.getRegisterCouponId();
+ if (StringUtils.isBlank(yearsStr) || StringUtils.isBlank(maxGiftStr) || StringUtils.isBlank(couponIdsStr)) {
return;
}
int configYears = Integer.parseInt(yearsStr);
int maxGiftCount = Integer.parseInt(maxGiftStr);
- int couponId = Integer.parseInt(couponIdStr);
if (configYears <= 0 || maxGiftCount <= 0) {
return;
}
- // 2. 鏍¢獙浼樻儬鍒稿瓨鍦ㄤ笖鍚敤
- Coupon coupon = couponMapper.selectById(couponId);
- if (coupon == null || !Constants.equalsInteger(coupon.getIsdeleted(), Constants.ZERO)
- || !Constants.equalsInteger(coupon.getStatus(), Constants.ZERO)) {
+ // 2. 瑙f瀽浼樻儬鍒窱D鍒楄〃锛屾煡璇㈡湁鏁堜紭鎯犲埜
+ List<Integer> couponIdList = Arrays.stream(couponIdsStr.split(","))
+ .map(String::trim).filter(StringUtils::isNotBlank)
+ .map(Integer::parseInt).collect(Collectors.toList());
+ List<Coupon> validCoupons = couponMapper.selectList(new QueryWrapper<Coupon>().lambda()
+ .in(Coupon::getId, couponIdList)
+ .eq(Coupon::getIsdeleted, Constants.ZERO)
+ .eq(Coupon::getStatus, Constants.ZERO));
+ if (CollectionUtils.isEmpty(validCoupons)) {
return;
}
@@ -757,40 +761,37 @@
for (Member member : members) {
int alreadyGifted = member.getRegisterCouponGiftCount() != null ? member.getRegisterCouponGiftCount() : 0;
- // 宸叉敞鍐屽勾鏁帮紙鍙栨暣锛�
int registeredYears = (int) ((now.getTime() - member.getCreateTime().getTime()) / msPerYear);
- // 搴旇禒閫佹�绘鏁�
int shouldGiftTotal = registeredYears / configYears;
- // 瀹為檯杩橀渶璧犻�佹鏁�
int remainGift = Math.min(shouldGiftTotal, maxGiftCount) - alreadyGifted;
if (remainGift <= 0) {
continue;
}
- // 4. 璧犻�佷紭鎯犲埜
+ // 4. 姣忔璧犻�佹墍鏈夋湁鏁堜紭鎯犲埜
for (int i = 0; i < remainGift; i++) {
- MemberCoupon mc = new MemberCoupon();
- mc.setCouponId(couponId);
- mc.setMemberId(member.getId());
- mc.setStatus(Constants.CouponStatus.waitClaim.getKey());
- // 鎺ㄩ�佸悗棰嗗彇鏈夋晥鏈�
- Calendar validCal = Calendar.getInstance();
- validCal.add(Calendar.DAY_OF_MONTH, coupon.getPushDays() != null ? coupon.getPushDays() : 7);
- mc.setValidDate(validCal.getTime());
- // 鎷疯礉浼樻儬鍒镐俊鎭�
- mc.setName(coupon.getName());
- mc.setInfo(coupon.getInfo());
- mc.setType(coupon.getType());
- mc.setLimitPrice(coupon.getLimitPrice());
- mc.setPrice(coupon.getPrice());
- mc.setGetMethod(coupon.getGetMethod());
- mc.setCouponType(coupon.getCouponType());
- mc.setPushDays(coupon.getPushDays());
- mc.setValidDays(coupon.getValidDays());
- mc.setIsdeleted(Constants.ZERO);
- mc.setCreateDate(now);
- mc.setEditDate(now);
- memberCouponMapper.insert(mc);
+ for (Coupon coupon : validCoupons) {
+ MemberCoupon mc = new MemberCoupon();
+ mc.setCouponId(coupon.getId());
+ mc.setMemberId(member.getId());
+ mc.setStatus(Constants.CouponStatus.waitClaim.getKey());
+ Calendar validCal = Calendar.getInstance();
+ validCal.add(Calendar.DAY_OF_MONTH, coupon.getPushDays() != null ? coupon.getPushDays() : 7);
+ mc.setValidDate(validCal.getTime());
+ mc.setName(coupon.getName());
+ mc.setInfo(coupon.getInfo());
+ mc.setType(coupon.getType());
+ mc.setLimitPrice(coupon.getLimitPrice());
+ mc.setPrice(coupon.getPrice());
+ mc.setGetMethod(coupon.getGetMethod());
+ mc.setCouponType(coupon.getCouponType());
+ mc.setPushDays(coupon.getPushDays());
+ mc.setValidDays(coupon.getValidDays());
+ mc.setIsdeleted(Constants.ZERO);
+ mc.setCreateDate(now);
+ mc.setEditDate(now);
+ memberCouponMapper.insert(mc);
+ }
}
// 5. 鏇存柊浼氬憳宸茶禒閫佹鏁�
--
Gitblit v1.9.3