From c28ce9f36099301b1a5bb225937c3d55e0a2c34a Mon Sep 17 00:00:00 2001 From: "Stormeye.Wu" Date: Thu, 27 Sep 2018 20:23:11 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=B2=BE=E5=87=86=E5=8F=91=E5=88=B8=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=E6=95=B4=E7=90=86][=E6=95=B4=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/service/PushLimitService.java | 5 +-- .../service/impl/CouponInjectServiceImpl.java | 38 ++++++++++--------- .../service/impl/PushLimitServiceImpl.java | 2 +- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/PushLimitService.java b/mallinkService/src/main/java/com/iformall/service/PushLimitService.java index fc664cd40..92990ad86 100644 --- a/mallinkService/src/main/java/com/iformall/service/PushLimitService.java +++ b/mallinkService/src/main/java/com/iformall/service/PushLimitService.java @@ -50,16 +50,15 @@ public interface PushLimitService { /** * 发短信检查 * @param tenantId - * @param phone * @return */ - boolean checkMsg(String tenantId, String phone); + boolean checkMsg(String tenantId); /** * 主动发券检查 * @param tenantId * @param cUserId - * @param coupon + * @param couponId * @return */ boolean checkCoupon(String tenantId, Long cUserId, Long couponId); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/CouponInjectServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/CouponInjectServiceImpl.java index e37003494..a3a7c2729 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/CouponInjectServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/CouponInjectServiceImpl.java @@ -125,16 +125,17 @@ public class CouponInjectServiceImpl implements CouponInjectService { record.setSendAmount(cUsers.size()); couponInjectMapper.insertSelective(record); if(record.getSendType().equals(EnumCouponInjectSendType.IMMEDIATE.getCode())) { - sendNow(wxCoupon,cUsers,record.getId()); + sendNow(wxCoupon,cUsers,record); } - //发送短信 - sendMsg(record,cUsers); - return new ResultData(); } private void sendMsg(CouponInject record, List cUsers) { + if (!pushLimitService.checkMsg(record.getTenantId())) { + logger.error("发送短信时间在疲劳度允许时间范围外"); + return; + } //根据模板ID查询短信信息 WxMsgModel model = wxMsgModelService.getById(record.getModelId()); @@ -161,6 +162,7 @@ public class CouponInjectServiceImpl implements CouponInjectService { if(wxMsgConfig.getRemains() cUsers,Long couponInjectId){ + private void sendNow(WxCoupon wxCoupon,List cUsers,CouponInject record){ //查询标签用户 - int sendRealAmount=0; + List sentUsers = new ArrayList(); for (WxCUser tempCUser : cUsers) { - int result = sendCouponToUser(tempCUser,wxCoupon,couponInjectId); - sendRealAmount=sendRealAmount+result; + boolean bResult = sendCouponToUser(tempCUser,wxCoupon,record.getId()); + if (bResult) { + sentUsers.add(tempCUser); + sendRealAmount += 1; + } } - //修改卡券存库 - wxCoupon.setRemainInventory(wxCoupon.getRemainInventory()-sendRealAmount); - wxCouponService.saveOrUpdate(wxCoupon); + + //发送短信 + sendMsg(record,sentUsers); } - private int sendCouponToUser(WxCUser tempCUser,WxCoupon wxCoupon,Long couponInjectId) { - int injectResult = 0;//0注入不成功,1注入卡包成功 + + + private boolean sendCouponToUser(WxCUser tempCUser,WxCoupon wxCoupon,Long couponInjectId) { boolean checkLimit = false; // 检查疲劳度 try { @@ -227,16 +233,14 @@ public class CouponInjectServiceImpl implements CouponInjectService { logger.error(e.getMessage()); } if (!checkLimit) { - return injectResult; + return false; } // 发放免费券 WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(tempCUser.getId(), wxCoupon.getId()); if (couponOrder != null) { wxCouponActionLogService.addOne(tempCUser.getTenantId(), wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId); } - injectResult = 1; - - return injectResult; + return true; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/PushLimitServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/PushLimitServiceImpl.java index 5dfaefbe6..d94b3d79e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/PushLimitServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/PushLimitServiceImpl.java @@ -78,7 +78,7 @@ public class PushLimitServiceImpl implements PushLimitService { } @Override - public boolean checkMsg(String tenantId, String phone) { + public boolean checkMsg(String tenantId) { Date curDate = new Date(); // 1. get tenant limit PushLimit pushLimit = getPushLimit(tenantId);