Prechádzať zdrojové kódy

refactor(coupon): 重构优惠券发送功能

- 优化了 commonSend 方法的参数获取逻辑- 在 registerSend 方法中增加了备注信息
- 提高了代码的可读性和可维护性
hechunping 3 mesiacov pred
rodič
commit
a805851d67

+ 5 - 2
src/main/java/com/xynet/marketing/service/factory/coupon/merc/impl/base/MercCouponFactoryBase.java

@@ -106,11 +106,13 @@ public class MercCouponFactoryBase extends ServiceImpl<MercCouponMapper, MercCou
         List<Map<String, Object>> result = new ArrayList<>();
         LocalDate today = LocalDate.now();
         String thirdMemberId = param.getString("thirdMemberId");
+        String sendType = param.getString("sendType");
+        String remark = param.getString("remark");
         //查找商家可赠送的优惠券
         LambdaQueryWrapper<MercCoupon> lqw = new LambdaQueryWrapper<MercCoupon>()
                 .eq(MercCoupon::getMercId, param.getInt("mercId"))
                 .eq(MercCoupon::getStatus, true)
-                .eq(MercCoupon::getSendType, param.getString("sendType"))
+                .eq(MercCoupon::getSendType, sendType)
                 .and(wrapper -> wrapper.isNull(MercCoupon::getSendStartDate)
                         .or()
                         .le(MercCoupon::getSendStartDate, today))
@@ -129,7 +131,7 @@ public class MercCouponFactoryBase extends ServiceImpl<MercCouponMapper, MercCou
                     .set("couponId", mercCoupon.getId());
             Map<String, Object> existNewMember = memberCouponService.obj(existParam);
             if (!Emptys.check(existNewMember)) {
-                JMap<String, Object> memberCoupon = modelSave(mercCoupon, thirdMemberId, "新注册赠送", null);
+                JMap<String, Object> memberCoupon = modelSave(mercCoupon, thirdMemberId, remark, null);
                 result.add(memberCoupon);
                 memberCouponService.saveOrUpdate(memberCoupon);
             }
@@ -142,6 +144,7 @@ public class MercCouponFactoryBase extends ServiceImpl<MercCouponMapper, MercCou
     @Override
     public List<Map<String, Object>> registerSend(JMap<String, Object> param) {
         param.set("sendType", CouponSendTypeEnum.REGISTER.getCode());
+        param.set("remark", "新注册用户赠送");
         return commonSend(param);
     }