From 6b44359d8a1095db6f326341e8bdbfc0be7b7cf0 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 22 八月 2021 17:10:20 +0800
Subject: [PATCH] 优化代码

---
 service-front/src/main/java/com/java110/front/smo/wechatGateway/impl/WechatGatewaySMOImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/smo/wechatGateway/impl/WechatGatewaySMOImpl.java b/service-front/src/main/java/com/java110/front/smo/wechatGateway/impl/WechatGatewaySMOImpl.java
old mode 100644
new mode 100755
index 6774aae..f55f1cf
--- a/service-front/src/main/java/com/java110/front/smo/wechatGateway/impl/WechatGatewaySMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/wechatGateway/impl/WechatGatewaySMOImpl.java
@@ -1,5 +1,6 @@
 package com.java110.front.smo.wechatGateway.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.front.AbstractFrontServiceSMO;
 import com.java110.core.context.IPageData;
@@ -11,13 +12,16 @@
 import com.java110.front.smo.wechatGateway.IWechatGatewaySMO;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.constant.ServiceCodeSmallWeChatConstant;
+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;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -44,8 +48,7 @@
     private WechatAuthProperties wechatAuthProperties;
 
     @Override
-    public ResponseEntity<String>
-    gateway(IPageData pd) throws Exception {
+    public ResponseEntity<String> gateway(IPageData pd, String wId) throws Exception {
 
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
         Assert.hasKeyAndValue(paramIn, "fromUserName", "璇锋眰鎶ユ枃涓湭鍖呭惈fromUserName");
@@ -63,7 +66,26 @@
         //鍒ゆ柇鐢ㄦ埛鏄惁缁戝畾涓氫富
         boolean bindFlag = judgeBindOwner(pd, fromUserName);
         if (!bindFlag) {
-            responseStr = WechatFactory.formatText(toUserName, fromUserName, WechatConstant.NO_BIND_OWNER_RESPONSE_MESSAGE);
+
+            String noBindOwnerResponseMessage = MappingCache.getRemark(WechatConstant.WECHAT_DOMAIN, WechatConstant.NO_BIND_OWNER);
+
+            if (StringUtil.isEmpty(noBindOwnerResponseMessage)) {
+
+                noBindOwnerResponseMessage = WechatConstant.NO_BIND_OWNER_RESPONSE_MESSAGE;
+            }
+            if (!noBindOwnerResponseMessage.contains("wAppId=")) {
+                if (noBindOwnerResponseMessage.indexOf("W_APP_ID") > 0) {
+                    noBindOwnerResponseMessage = noBindOwnerResponseMessage.replace("W_APP_ID", "wAppId=" + WechatFactory.getAppId(wId));
+                } else {
+                    if (noBindOwnerResponseMessage.indexOf("?") > -1) {
+                        noBindOwnerResponseMessage += ("&wAppId=" + WechatFactory.getAppId(wId));
+                    } else {
+                        noBindOwnerResponseMessage += ("?wAppId=" + WechatFactory.getAppId(wId));
+                    }
+                }
+            }
+
+            responseStr = WechatFactory.formatText(toUserName, fromUserName, noBindOwnerResponseMessage);
             return new ResponseEntity<String>(responseStr, HttpStatus.OK);
         }
 
@@ -80,15 +102,26 @@
     @Override
     public SmallWeChatDto getSmallWechat(IPageData pd, SmallWeChatDto smallWeChatDto) {
 
-        List<SmallWeChatDto> smallWeChatDtos = super.getForApis(pd, smallWeChatDto, ServiceCodeSmallWeChatConstant.LIST_SMALL_WE_CHATS, SmallWeChatDto.class);
-        if (smallWeChatDtos == null || smallWeChatDtos.size() < 1) {
+        //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="
+                        + smallWeChatDto.getAppId() + "&page=1&row=1", HttpMethod.GET);
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
             return null;
         }
-        smallWeChatDto = smallWeChatDtos.get(0);
+        JSONObject smallWechatObj = JSONObject.parseObject(responseEntity.getBody().toString());
+        JSONArray smallWeChats = smallWechatObj.getJSONArray("smallWeChats");
+
+
+        if (smallWeChats == null || smallWeChats.size() < 1) {
+            return null;
+        }
+        smallWeChatDto = BeanConvertUtil.covertBean(smallWeChats.get(0), SmallWeChatDto.class);
         SmallWechatAttrDto smallWechatAttrDto = new SmallWechatAttrDto();
         smallWechatAttrDto.setCommunityId(smallWeChatDto.getObjId());
         smallWechatAttrDto.setWechatId(smallWeChatDto.getWeChatId());
-        List<SmallWechatAttrDto> smallWechatAttrs = super.getForApis(pd, smallWechatAttrDto, ServiceCodeSmallWeChatConstant.LIST_SMALL_WE_CHATS, SmallWechatAttrDto.class);
+        List<SmallWechatAttrDto> smallWechatAttrs = super.getForApis(pd, smallWechatAttrDto, ServiceCodeSmallWechatAttrConstant.LIST_SMALLWECHATATTRS, SmallWechatAttrDto.class);
 
         smallWeChatDto.setSmallWechatAttrs(smallWechatAttrs);
         return smallWeChatDto;

--
Gitblit v1.8.0