From 02cbb8b1a36ec0507e9f68a6b3fcff205ea05f36 Mon Sep 17 00:00:00 2001 From: Burce Date: Wed, 28 Aug 2019 16:52:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=97=A5=E7=A7=AF=E5=88=86=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=97=B6=E9=97=B4=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E6=AF=8F=E5=A4=A9=E4=B8=8A=E5=8D=888:30?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/schedule/CouponSendSchedule.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java index 4b317698f..c67e8eae8 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java @@ -1,6 +1,7 @@ package com.iformall.schedule; import com.alibaba.fastjson.JSONObject; +import com.iformall.common.ErrorCode; import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.po.*; import com.iformall.domain.po.msg.WxMsgRecord; @@ -65,6 +66,8 @@ public class CouponSendSchedule { @Autowired private MqBaseProducer mqBaseProducer; + @Autowired + private PushLimitService pushLimitService; //@Scheduled(cron = "0 0 6 1 * ?") // 每月1号发放会员的权益券 @@ -208,7 +211,7 @@ public class CouponSendSchedule { /** * 生日券发放 */ - @Scheduled(cron = "0 0 15 * * ?") // 测试每天6点发券 + @Scheduled(cron = "0 30 8 * * ?") // 测试每天8:30点发券 public void birthdayCouponSendSchedule() { logger.info("生日发券: 任务开始"); List mallList = wxMallMapper.findList(new WxMall()); @@ -256,7 +259,7 @@ public class CouponSendSchedule { logger.info("生日发券: 会员生日券投放列表为空 couponSendList = {}, 任务跳过不执行", couponSendList); return; } - boolean sent = false; + boolean couponSent = false; for (WxCouponSendVo cs : couponSendList) { String conditions = cs.getConditions(); JSONObject configJo = null; @@ -269,6 +272,12 @@ public class CouponSendSchedule { logger.info("生日发券: 会员生日券配置不存在 conditions = {}, 任务跳过不执行", conditions); return; } + + boolean couponLimit = pushLimitService.checkCoupon(cu.getTenantId(), cu.getId(), cs.getCouponId()); + if (!couponLimit) { + logger.info("生日发券: {}", ErrorCode.PUSH_LIMIT_UP_TO_COUPONLIMIT.getMessage()); + return; + } //默认生日当天发送 int beforeDays = 0; if (configJo.containsKey(WxCouponSend.KEY_BEFOREDAYS)) { @@ -309,7 +318,7 @@ public class CouponSendSchedule { logger.error("定时发券:发券失败 levelId=" + cu.getId() + " couponId=" + cs.getCouponId() + " userId=" + cu.getId() + e.getMessage()); continue; } - sent = true; + couponSent = true; logger.info("定时发券:商场[" + mall.getName() + "]会员生日[" + cu.getBirthdate().toInstant() + "]发送券[" + cs.getTitle() + @@ -317,11 +326,16 @@ public class CouponSendSchedule { " 电话-" + cu.getPhone() + " id-" + cu.getId()); } - if (sent) { + if (couponSent) { + boolean couponLimit = pushLimitService.checkMsg(cu.getTenantId()); + if (!couponLimit) { + logger.info("生日发券: {}", ErrorCode.PUSH_LIMIT_NOT_INRANG.getMessage()); + return; + } sendSMS(cu, mall); // 记录积分倍率日期 try { - WxCUserBasicInfo toUpdate = new WxCUserBasicInfo() ; + WxCUserBasicInfo toUpdate = new WxCUserBasicInfo(); toUpdate.setId(cu.getId()); toUpdate.setScoreDate(cu.getBirthdate()); wxCUserBasicInfoMapper.updateByPrimaryKeySelective(toUpdate);