From e9be8d15ab3ee20685793e16071c56485b32e33a Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 23 四月 2021 10:10:24 +0800
Subject: [PATCH] 优化代码
---
service-front/src/main/java/com/java110/front/smo/wechatGateway/impl/WechatGatewaySMOImpl.java | 84 ++++++++++++++++++++++++++++++-----------
1 files changed, 61 insertions(+), 23 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 056b893..f67f9b8
--- 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,15 +1,22 @@
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.AppAbstractComponentSMO;
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;
@@ -21,11 +28,13 @@
import org.springframework.web.client.RestTemplate;
import org.thymeleaf.util.StringUtils;
+import java.util.List;
+
/**
* wx鐧诲綍
*/
-@Service("ownerAppLoginSMOImpl")
-public class WechatGatewaySMOImpl extends AppAbstractComponentSMO implements IWechatGatewaySMO {
+@Service("wechatGatewaySMOImpl")
+public class WechatGatewaySMOImpl extends AbstractFrontServiceSMO implements IWechatGatewaySMO {
private final static Logger logger = LoggerFactory.getLogger(WechatGatewaySMOImpl.class);
@@ -39,19 +48,11 @@
private WechatAuthProperties wechatAuthProperties;
@Override
- public ResponseEntity<String>
- gateway(IPageData pd) throws Exception {
- return businessProcess(pd);
- }
+ public ResponseEntity<String> gateway(IPageData pd, String wId) throws Exception {
- @Override
- protected void validate(IPageData pd, JSONObject paramIn) {
+ JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
Assert.hasKeyAndValue(paramIn, "fromUserName", "璇锋眰鎶ユ枃涓湭鍖呭惈fromUserName");
Assert.hasKeyAndValue(paramIn, "toUserName", "璇锋眰鎶ユ枃涓湭鍖呭惈toUserName");
- }
-
- @Override
- protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) throws Exception {
logger.debug("doLogin鍏ュ弬锛�" + paramIn.toJSONString());
String responseStr = "";
@@ -65,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("?") > 0) {
+ noBindOwnerResponseMessage += ("&wAppId=" +WechatFactory.getAppId(wId));
+ }
+ }
+
+ responseStr = WechatFactory.formatText(toUserName, fromUserName, noBindOwnerResponseMessage);
return new ResponseEntity<String>(responseStr, HttpStatus.OK);
}
@@ -78,6 +92,35 @@
}
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;
@@ -168,16 +211,11 @@
* @return
*/
private boolean judgeBindOwner(IPageData pd, String openId) {
+ OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+ ownerAppUserDto.setOpenId(openId);
+ List<OwnerAppUserDto> ownerAppUserDtos = super.getForApis(pd, ownerAppUserDto, ServiceCodeConstant.LIST_APPUSERBINDINGOWNERS, OwnerAppUserDto.class);
- ResponseEntity responseEntity = this.callCenterService(restTemplate, pd, "", ServiceConstant.SERVICE_API_URL + "/api/owner.listAppUserBindingOwners?openId=" + openId, HttpMethod.GET);
-
- if (responseEntity.getStatusCode() != HttpStatus.OK) {
- return true;
- }
-
- JSONObject ownerInfo = JSONObject.parseObject(responseEntity.getBody().toString());
-
- if (ownerInfo.getInteger("total") != 1) {
+ if (ownerAppUserDtos == null || ownerAppUserDtos.size() != 1) {
return false;
}
return true;
--
Gitblit v1.8.0