From ded40ebbd1613490fc68190dbd92db5d7243267f Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 22 八月 2023 16:25:20 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/smo/wechatGateway/impl/WechatGatewaySMOImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 12 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/wechatGateway/impl/WechatGatewaySMOImpl.java b/service-api/src/main/java/com/java110/api/smo/wechatGateway/impl/WechatGatewaySMOImpl.java
index 021e128..8d2209c 100644
--- a/service-api/src/main/java/com/java110/api/smo/wechatGateway/impl/WechatGatewaySMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/wechatGateway/impl/WechatGatewaySMOImpl.java
@@ -2,24 +2,27 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.core.base.smo.front.AbstractFrontServiceSMO;
-import com.java110.core.context.IPageData;
-import com.java110.core.factory.WechatFactory;
-import com.java110.dto.owner.OwnerAppUserDto;
-import com.java110.dto.smallWeChat.SmallWeChatDto;
-import com.java110.dto.smallWechatAttr.SmallWechatAttrDto;
 import com.java110.api.properties.WechatAuthProperties;
+import com.java110.api.smo.DefaultAbstractComponentSMO;
 import com.java110.api.smo.wechatGateway.IWechatGatewaySMO;
+import com.java110.core.context.IPageData;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.factory.WechatFactory;
+import com.java110.core.log.LoggerFactory;
+import com.java110.dto.owner.OwnerAppUserDto;
+import com.java110.dto.wechat.SmallWeChatDto;
+import com.java110.dto.wechat.SmallWechatAttrDto;
+import com.java110.dto.wechat.WechatSubscribeDto;
+import com.java110.intf.user.IWechatSubscribeV1InnerServiceSMO;
+import com.java110.po.wechat.WechatSubscribePo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.constant.ServiceCodeSmallWechatAttrConstant;
-import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.constant.WechatConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
@@ -27,14 +30,13 @@
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
-
 import java.util.List;
 
 /**
  * wx鐧诲綍
  */
 @Service("wechatGatewaySMOImpl")
-public class WechatGatewaySMOImpl extends AbstractFrontServiceSMO implements IWechatGatewaySMO {
+public class WechatGatewaySMOImpl extends DefaultAbstractComponentSMO implements IWechatGatewaySMO {
 
     private final static Logger logger = LoggerFactory.getLogger(WechatGatewaySMOImpl.class);
 
@@ -46,6 +48,9 @@
 
     @Autowired
     private WechatAuthProperties wechatAuthProperties;
+
+    @Autowired
+    private IWechatSubscribeV1InnerServiceSMO wechatSubscribeV1InnerServiceSMOImpl;
 
     @Override
     public ResponseEntity<String> gateway(IPageData pd, String wId) throws Exception {
@@ -80,7 +85,7 @@
                     if (noBindOwnerResponseMessage.indexOf("?") > -1) {
                         noBindOwnerResponseMessage += ("&wAppId=" + WechatFactory.getAppId(wId));
                     } else {
-                        noBindOwnerResponseMessage += ("?wAppId=" + WechatFactory.getAppId(wId));
+//                        noBindOwnerResponseMessage += ("?wAppId=" + WechatFactory.getAppId(wId));
                     }
                 }
             }
@@ -88,6 +93,8 @@
             responseStr = WechatFactory.formatText(toUserName, fromUserName, noBindOwnerResponseMessage);
             return new ResponseEntity<String>(responseStr, HttpStatus.OK);
         }
+        //淇濆瓨鍒板叧娉ㄨ〃
+        saveWechatSubscribe(WechatFactory.getAppId(wId), fromUserName);
 
         if (WechatConstant.MSG_TYPE_TEXT.equals(msgType)) {
             responseStr = textResponseHandler(fromUserName, toUserName, keyword);
@@ -99,12 +106,13 @@
         return new ResponseEntity<>(responseStr, HttpStatus.OK);
     }
 
+
     @Override
     public SmallWeChatDto getSmallWechat(IPageData pd, SmallWeChatDto smallWeChatDto) {
 
         //List<SmallWeChatDto> smallWeChatDtos = super.getForApis(pd, smallWeChatDto, ServiceCodeSmallWeChatConstant.LIST_SMALL_WE_CHATS, SmallWeChatDto.class);
         ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/smallWeChat.listSmallWeChats?appId="
+                "smallWeChat.listSmallWeChats?appId="
                         + smallWeChatDto.getAppId() + "&page=1&row=1", HttpMethod.GET);
 
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
@@ -227,4 +235,27 @@
         return true;
     }
 
+
+    /**
+     * 鏍¢獙鏄惁鍦ㄥ叧娉ㄨ〃閲�
+     *
+     * @param appId
+     * @param fromUserName
+     */
+    private void saveWechatSubscribe(String appId, String fromUserName) {
+        WechatSubscribeDto wechatSubscribeDto = new WechatSubscribeDto();
+        wechatSubscribeDto.setOpenId(fromUserName);
+        wechatSubscribeDto.setOpenId(appId);
+        List<WechatSubscribeDto> wechatSubscribeDtos = wechatSubscribeV1InnerServiceSMOImpl.queryWechatSubscribes(wechatSubscribeDto);
+        if (wechatSubscribeDtos != null && wechatSubscribeDtos.size() > 0) {
+            return;
+        }
+        WechatSubscribePo wechatSubscribePo = new WechatSubscribePo();
+        wechatSubscribePo.setAppId(appId);
+        wechatSubscribePo.setOpenId(fromUserName);
+        wechatSubscribePo.setSubId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+        wechatSubscribePo.setOpenType(WechatSubscribeDto.OPEN_TYPE_WECHAT);
+        wechatSubscribeV1InnerServiceSMOImpl.saveWechatSubscribe(wechatSubscribePo);
+    }
+
 }

--
Gitblit v1.8.0