From a5e6a69003f869d667a462d3d0273437080de834 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 27 五月 2021 15:03:39 +0800
Subject: [PATCH] 优化代码

---
 service-front/src/main/java/com/java110/front/smo/wechatGateway/impl/WechatGatewaySMOImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 51 insertions(+), 4 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 ab22672..86aece8
--- 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,20 +1,27 @@
 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;
 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.front.properties.WechatAuthProperties;
 import com.java110.front.smo.wechatGateway.IWechatGatewaySMO;
 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;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -41,10 +48,9 @@
     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(JSONObject.toJSONString(pd.getReqData()));
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
         Assert.hasKeyAndValue(paramIn, "fromUserName", "璇锋眰鎶ユ枃涓湭鍖呭惈fromUserName");
         Assert.hasKeyAndValue(paramIn, "toUserName", "璇锋眰鎶ユ枃涓湭鍖呭惈toUserName");
 
@@ -60,7 +66,20 @@
         //鍒ゆ柇鐢ㄦ埛鏄惁缁戝畾涓氫富
         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));
+                }
+            }
+
+            responseStr = WechatFactory.formatText(toUserName, fromUserName, noBindOwnerResponseMessage);
             return new ResponseEntity<String>(responseStr, HttpStatus.OK);
         }
 
@@ -74,6 +93,34 @@
         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="
+                        + smallWeChatDto.getAppId() + "&page=1&row=1", HttpMethod.GET);
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return null;
+        }
+        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, ServiceCodeSmallWechatAttrConstant.LIST_SMALLWECHATATTRS, SmallWechatAttrDto.class);
+
+        smallWeChatDto.setSmallWechatAttrs(smallWechatAttrs);
+        return smallWeChatDto;
+    }
+
 
     public RestTemplate getRestTemplate() {
         return restTemplate;

--
Gitblit v1.8.0