Просмотр исходного кода

[发消息限制修改][修改]:核销不做限制

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
441f6b7a7e
5 измененных файлов: 15 добавлений и 36 удалений
  1. +2
    -2
      mallinkService/src/main/java/com/iformall/enums/EnumMsgLimitType.java
  2. +0
    -26
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  3. +2
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java
  4. +4
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxMsgLimitServiceImpl.java
  5. +7
    -0
      mallinkService/src/main/java/com/iformall/utils/DateUtils.java

+ 2
- 2
mallinkService/src/main/java/com/iformall/enums/EnumMsgLimitType.java Просмотреть файл

@@ -10,8 +10,8 @@ public enum EnumMsgLimitType {
SMS_SALE(2, "短信-营销"), SMS_SALE(2, "短信-营销"),
WEAPP_PREPAYID(11, "小程序prepayId"), WEAPP_PREPAYID(11, "小程序prepayId"),
WEAPP_FORMID(12, "小程序formId"), WEAPP_FORMID(12, "小程序formId"),
WEAPP_OPENID(13, "小程序openId"),
WXCHAT_OPENID(14, "公众号openId")
WEAPP_OPENID_SEND(101, "小程序发券统一消息"),
WXCHAT_OPENID_SEND(201, "公众号发券消息"),
; ;


public static EnumMsgLimitType getEnum(Integer code) { public static EnumMsgLimitType getEnum(Integer code) {


+ 0
- 26
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java Просмотреть файл

@@ -682,19 +682,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
} }


private void doVerifyMpMsg(WxCouponOrder couponOrder, WxCoupon coupon, WxMerchant merchant, WxCUser user, SimpleDateFormat dateFormat, String gotopage) { private void doVerifyMpMsg(WxCouponOrder couponOrder, WxCoupon coupon, WxMerchant merchant, WxCUser user, SimpleDateFormat dateFormat, String gotopage) {
/**
* 检查 公众号消息是否超限
*/
WxMsgLimit msgLimit = new WxMsgLimit();
msgLimit.setTenantId(user.getTenantId());
msgLimit.setType(EnumMsgLimitType.WXCHAT_OPENID.getCode());
msgLimit.setLimitId(user.getMpOpenId());
if(wxMsgLimitService.checkIsLimit(msgLimit)) {
// 已达到限制条件,不发消息了
logger.info("已达到限制条件,不发公众号模板消息了: " + user.getId());
return;
}

/** /**
* 卡券核销通知 * 卡券核销通知
* {{first.DATA}} * {{first.DATA}}
@@ -728,19 +715,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
} }


private void doVerifyAppUniformMsg(WxCouponOrder couponOrder, WxCoupon coupon, WxMerchant merchant, WxCUser user, SimpleDateFormat dateFormat, String gotopage) { private void doVerifyAppUniformMsg(WxCouponOrder couponOrder, WxCoupon coupon, WxMerchant merchant, WxCUser user, SimpleDateFormat dateFormat, String gotopage) {
/**
* 检查 小程序统一消息是否超限
*/
WxMsgLimit msgLimit = new WxMsgLimit();
msgLimit.setTenantId(user.getTenantId());
msgLimit.setType(EnumMsgLimitType.WEAPP_OPENID.getCode());
msgLimit.setLimitId(user.getOpenId());
if(wxMsgLimitService.checkIsLimit(msgLimit)) {
// 已达到限制条件,不发消息了
logger.info("已达到限制条件,不发小程序统一消息了: " + user.getId());
return;
}

WxAuthorizerInfo authQ = new WxAuthorizerInfo(); WxAuthorizerInfo authQ = new WxAuthorizerInfo();
authQ.setAuthorizerAppid(user.getAppId()); authQ.setAuthorizerAppid(user.getAppId());
authQ.setTenantId(user.getTenantId()); authQ.setTenantId(user.getTenantId());


+ 2
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java Просмотреть файл

@@ -1,11 +1,9 @@
package com.iformall.service.impl; package com.iformall.service.impl;


import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.po.msg.AppUniformMsg; import com.iformall.domain.po.msg.AppUniformMsg;
@@ -18,7 +16,6 @@ import com.iformall.mapper.*;
import com.iformall.mq.MqBaseProducer; import com.iformall.mq.MqBaseProducer;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -274,7 +271,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {
// 检查是否超限 // 检查是否超限
WxMsgLimit msgLimit = new WxMsgLimit(); WxMsgLimit msgLimit = new WxMsgLimit();
msgLimit.setTenantId(user.getTenantId()); msgLimit.setTenantId(user.getTenantId());
msgLimit.setType(EnumMsgLimitType.WXCHAT_OPENID.getCode());
msgLimit.setType(EnumMsgLimitType.WXCHAT_OPENID_SEND.getCode());
msgLimit.setLimitId(user.getMpOpenId()); msgLimit.setLimitId(user.getMpOpenId());
if(wxMsgLimitService.checkIsLimit(msgLimit)) { if(wxMsgLimitService.checkIsLimit(msgLimit)) {
logger.error("用户公众号模板消息超限" + user.getId()); logger.error("用户公众号模板消息超限" + user.getId());
@@ -323,7 +320,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {
// 检查是否超限 // 检查是否超限
WxMsgLimit msgLimit = new WxMsgLimit(); WxMsgLimit msgLimit = new WxMsgLimit();
msgLimit.setTenantId(user.getTenantId()); msgLimit.setTenantId(user.getTenantId());
msgLimit.setType(EnumMsgLimitType.WEAPP_OPENID.getCode());
msgLimit.setType(EnumMsgLimitType.WEAPP_OPENID_SEND.getCode());
msgLimit.setLimitId(user.getOpenId()); msgLimit.setLimitId(user.getOpenId());
if(wxMsgLimitService.checkIsLimit(msgLimit)) { if(wxMsgLimitService.checkIsLimit(msgLimit)) {
logger.error("用户小程序统一模板消息超限:" + user.getId()); logger.error("用户小程序统一模板消息超限:" + user.getId());


+ 4
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxMsgLimitServiceImpl.java Просмотреть файл

@@ -32,7 +32,8 @@ public class WxMsgLimitServiceImpl implements WxMsgLimitService {
// 删除老的, 手机, openId会出现旧数据,删掉 // 删除老的, 手机, openId会出现旧数据,删掉
if(record.getType().equals(EnumMsgLimitType.SMS_VALID.getCode()) || if(record.getType().equals(EnumMsgLimitType.SMS_VALID.getCode()) ||
record.getType().equals(EnumMsgLimitType.SMS_SALE.getCode()) || record.getType().equals(EnumMsgLimitType.SMS_SALE.getCode()) ||
record.getType().equals(EnumMsgLimitType.WXCHAT_OPENID.getCode())
record.getType().equals(EnumMsgLimitType.WEAPP_OPENID_SEND.getCode()) ||
record.getType().equals(EnumMsgLimitType.WXCHAT_OPENID_SEND.getCode())
){ ){
wxMsgLimitMapper.delLimitNum(record); wxMsgLimitMapper.delLimitNum(record);
} }
@@ -64,12 +65,12 @@ public class WxMsgLimitServiceImpl implements WxMsgLimitService {
record.setLimitNum(1); record.setLimitNum(1);
Date limitDate = DateUtils.getTimeAfterDays(7, curDate); Date limitDate = DateUtils.getTimeAfterDays(7, curDate);
record.setLimitDate(limitDate); record.setLimitDate(limitDate);
} else if(record.getType().equals(EnumMsgLimitType.WEAPP_OPENID.getCode())) {
} else if(record.getType().equals(EnumMsgLimitType.WEAPP_OPENID_SEND.getCode())) {
// 小程序openId, 2天内1条 // 小程序openId, 2天内1条
record.setLimitNum(1); record.setLimitNum(1);
Date limitDate = DateUtils.getTimeAfterDays(2, curDate); Date limitDate = DateUtils.getTimeAfterDays(2, curDate);
record.setLimitDate(limitDate); record.setLimitDate(limitDate);
} else if(record.getType().equals(EnumMsgLimitType.WXCHAT_OPENID.getCode())) {
} else if(record.getType().equals(EnumMsgLimitType.WXCHAT_OPENID_SEND.getCode())) {
// 公众号openId, 2天内1条 // 公众号openId, 2天内1条
record.setLimitNum(1); record.setLimitNum(1);
Date limitDate = DateUtils.getTimeAfterDays(2, curDate); Date limitDate = DateUtils.getTimeAfterDays(2, curDate);


+ 7
- 0
mallinkService/src/main/java/com/iformall/utils/DateUtils.java Просмотреть файл

@@ -1177,4 +1177,11 @@ public class DateUtils {
return calendar.getTime(); return calendar.getTime();
} }


public static void main(String[] args) {
Date curDate = new Date();
Date limitDate = DateUtils.getTimeAfterDays(7, curDate);
System.out.println(curDate);
System.out.println(limitDate);
}

} }

Загрузка…
Отмена
Сохранить