Jelajahi Sumber

openId为空则不发送订阅消息

cup 2 tahun lalu
induk
melakukan
5b8febb3d6

+ 10 - 0
mp-service/src/main/java/com/qs/mp/framework/service/impl/WxSubscribeMessageImpl.java

@@ -3,6 +3,7 @@ package com.qs.mp.framework.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.qs.mp.admin.domain.Marketing;
 import com.qs.mp.common.utils.LogUtil;
+import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.common.utils.http.HttpUtils;
 import com.qs.mp.framework.domain.WxSubscribeMessage;
 import com.qs.mp.framework.service.IAppTokenService;
@@ -45,6 +46,9 @@ public class WxSubscribeMessageImpl implements IWxSubscribeMessage {
   @Override
   public boolean sendMarketingStart(Long userId, Marketing marketing) {
     String openId = getOpenIdByUserId(userId);
+    if (StringUtils.isBlank(openId)) {
+      return true;
+    }
     WxSubscribeMessage wxSubscribeMessage = new WxSubscribeMessage(userAppId, openId, state);
     wxSubscribeMessage.buildMarketingStartSuccessMessage(marketing);
     return this.sendNotify(userId, marketing.getId().toString(), wxSubscribeMessage);
@@ -53,6 +57,9 @@ public class WxSubscribeMessageImpl implements IWxSubscribeMessage {
   @Override
   public void sendMarketingHelp(Long userId, Marketing marketing) {
     String openId = getOpenIdByUserId(userId);
+    if (StringUtils.isBlank(openId)) {
+      return;
+    }
     WxSubscribeMessage wxSubscribeMessage = new WxSubscribeMessage(userAppId, openId, state);
     wxSubscribeMessage.buildMarketingHelpSuccessMessage(marketing);
     this.sendNotify(userId, marketing.getId().toString(), wxSubscribeMessage);
@@ -61,6 +68,9 @@ public class WxSubscribeMessageImpl implements IWxSubscribeMessage {
   @Override
   public boolean sendMarketingLottery(Long userId, Marketing marketing) {
     String openId = getOpenIdByUserId(userId);
+    if (StringUtils.isBlank(openId)) {
+      return true;
+    }
     WxSubscribeMessage wxSubscribeMessage = new WxSubscribeMessage(userAppId, openId, state);
     wxSubscribeMessage.buildMarketingLotterySuccessMessage(marketing);
     return this.sendNotify(userId, marketing.getId().toString(), wxSubscribeMessage);