Переглянути джерело

优化管理端赠送用户会员接口

liu 2 місяців тому
батько
коміт
9a9d9f16a3

+ 11 - 0
src/main/java/com/sqx/modules/coupon/service/TbCouponUserService.java

@@ -27,4 +27,15 @@ public interface TbCouponUserService extends IService<TbCouponUser> {
      * @param expirationTime    优惠券过期时间
      */
     void addAfterVipBuySuccess(Long userId, BigDecimal money, String expirationDays, String expirationTime);
+
+    /**
+     * 批量添加会员优惠券
+     *
+     * @param userId            用户id
+     * @param money             优惠券金额
+     * @param expirationDays 有效天数
+     * @param expirationTime    优惠券过期时间
+     * @param count             优惠券数量
+     */
+    void batchAddAfterVipBuySuccess(Long userId, BigDecimal money, String expirationDays, String expirationTime, int count);
 }

+ 24 - 0
src/main/java/com/sqx/modules/coupon/service/impl/TbTbCouponUserServiceImpl.java

@@ -22,8 +22,10 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.List;
 
 @Service
 public class TbTbCouponUserServiceImpl extends ServiceImpl<TbCouponUserDao, TbCouponUser> implements TbCouponUserService {
@@ -146,4 +148,26 @@ public class TbTbCouponUserServiceImpl extends ServiceImpl<TbCouponUserDao, TbCo
         tbCouponUser.setShopId(0L);
         tbCouponUserDao.insert(tbCouponUser);
     }
+
+    @Override
+    public void batchAddAfterVipBuySuccess(Long userId, BigDecimal money, String expirationDays, String expirationTime, int count) {
+        List<TbCouponUser> couponList = new ArrayList<>();
+        for (int i = 0; i < count; i++) {
+            TbCouponUser tbCouponUser = new TbCouponUser();
+            tbCouponUser.setUserId(userId);
+            tbCouponUser.setCouponName("会员专属优惠券");
+            tbCouponUser.setCouponPicture("图片");
+            tbCouponUser.setCreateTime(VipExpirationUtil.formatCurrentTime());
+            tbCouponUser.setExpirationTime(expirationTime);
+            tbCouponUser.setMinMoney(BigDecimal.valueOf(0));
+            tbCouponUser.setGoodsType("0");
+            tbCouponUser.setMoney(money);
+            tbCouponUser.setStatus(0);
+            tbCouponUser.setEndTime(expirationDays);
+            tbCouponUser.setShopId(0L);
+            couponList.add(tbCouponUser);
+        }
+        // 批量插入
+        this.saveBatch(couponList);
+    }
 }

+ 6 - 3
src/main/java/com/sqx/modules/datacentre/service/impl/DataCentreServiceImpl.java

@@ -343,10 +343,13 @@ public class DataCentreServiceImpl implements DataCentreService {
         // 更新用户为会员
         userService.updateUserToVip(userId, expirationTime);
 
-        // 新增会员专属优惠券
-        for(int i = 0;i<Integer.valueOf(one1.getValue());i++){
-            tbCouponUserService.addAfterVipBuySuccess(userId, new BigDecimal(one2.getValue()), one.getValue(), expirationTime);
+
+        // 优化:批量添加会员专属优惠券
+        int couponCount = Integer.valueOf(one1.getValue());
+        if (couponCount > 0) {
+            tbCouponUserService.batchAddAfterVipBuySuccess(userId, new BigDecimal(one2.getValue()), one.getValue(), expirationTime, couponCount);
         }
+
         return Result.success();
     }
     @Override