Browse Source

feat(MemberCouponServiceImpl): 添加会员优惠券自动更新状态功能

- 在查询优惠券时,如果传入了 thirdMercId 参数,则自动调用 autoUpdateStatus 方法更新优惠券状态
- 新增 autoUpdateStatus 方法,用于更新已结束的优惠券状态为禁用
-优化了 commonQueryWrapper 方法,移除了多余的空行
hechunping 3 months ago
parent
commit
d50d5b0160

+ 13 - 2
src/main/java/com/xynet/marketing/service/impl/MemberCouponServiceImpl.java

@@ -52,6 +52,9 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
     private MercCouponService mercCouponService;
     private MercCouponService mercCouponService;
 
 
     private LambdaQueryWrapper<MemberCoupon> commonQueryWrapper(JMap<String, Object> param) {
     private LambdaQueryWrapper<MemberCoupon> commonQueryWrapper(JMap<String, Object> param) {
+        if (Emptys.check(param.getString("thirdMercId"))) {
+            autoUpdateStatus(param.getString("thirdMercId"));
+        }
         LambdaQueryWrapper<MemberCoupon> lqw = new LambdaQueryWrapper<MemberCoupon>()
         LambdaQueryWrapper<MemberCoupon> lqw = new LambdaQueryWrapper<MemberCoupon>()
                 .eq(Emptys.check(param.getInt("id")), MemberCoupon::getId, param.getInt("id"))
                 .eq(Emptys.check(param.getInt("id")), MemberCoupon::getId, param.getInt("id"))
                 .eq(Emptys.check(param.getString("thirdMercId")), MemberCoupon::getMercId, param.getString("thirdMercId"))
                 .eq(Emptys.check(param.getString("thirdMercId")), MemberCoupon::getMercId, param.getString("thirdMercId"))
@@ -65,8 +68,6 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
                 .ge(Emptys.check(param.getString("useTimeStart")), MemberCoupon::getUseTime, param.getString("useTimeStart"))
                 .ge(Emptys.check(param.getString("useTimeStart")), MemberCoupon::getUseTime, param.getString("useTimeStart"))
                 .le(Emptys.check(param.getString("useTimeEnd")), MemberCoupon::getUseTime, param.getString("useTimeEnd"))
                 .le(Emptys.check(param.getString("useTimeEnd")), MemberCoupon::getUseTime, param.getString("useTimeEnd"))
                 .eq(Emptys.check(param.getString("createOrderId")), MemberCoupon::getCreateOrderId, param.getString("createOrderId"));
                 .eq(Emptys.check(param.getString("createOrderId")), MemberCoupon::getCreateOrderId, param.getString("createOrderId"));
-
-
         return lqw;
         return lqw;
     }
     }
 
 
@@ -250,4 +251,14 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
         );
         );
         return map;
         return map;
     }
     }
+
+    private void autoUpdateStatus(String thirdMemberId) {
+        LocalDateTime now = LocalDateTime.now();
+        // 已结束
+        LambdaUpdateWrapper<MemberCoupon> finishedLqw = new LambdaUpdateWrapper<MemberCoupon>()
+                .set(MemberCoupon::getStatus, MemberCouponStatusEnum.DISABLED.getCode())
+                .eq(MemberCoupon::getThirdMemberId, thirdMemberId)
+                .le(MemberCoupon::getValidEndDate, now);
+        update(finishedLqw);
+    }
 }
 }