Przeglądaj źródła

优化支付问题

java110 5 lat temu
rodzic
commit
cc085bf325

+ 31 - 11
java110-core/src/main/java/com/java110/core/component/BaseComponentSMO.java

@@ -2,18 +2,18 @@ package com.java110.core.component;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.context.IPageData;
+import com.java110.entity.component.ComponentValidateResult;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.exception.SMOException;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.Assert;
-import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.core.context.IPageData;
-import com.java110.entity.component.ComponentValidateResult;
 import com.java110.utils.util.StringUtil;
-import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpMethod;
@@ -116,12 +116,34 @@ public class BaseComponentSMO extends BaseServiceSMO {
     protected ResponseEntity<String> getUserAndAttr(IPageData pd, RestTemplate restTemplate, Map paramIn) {
         //Assert.hasLength(pd.getUserId(), "用户未登录请先登录");
         ResponseEntity<String> responseEntity = null;
-        if(paramIn !=null){
-            paramIn.put("page","1");
-            paramIn.put("row","1");
+        if (paramIn != null) {
+            paramIn.put("page", "1");
+            paramIn.put("row", "1");
         }
         responseEntity = this.callCenterService(restTemplate, pd, "",
-                ServiceConstant.SERVICE_API_URL + "/api/user.listUsers" +mapToUrlParam(paramIn), HttpMethod.GET);
+                ServiceConstant.SERVICE_API_URL + "/api/user.listUsers" + mapToUrlParam(paramIn), HttpMethod.GET);
+        // 过滤返回报文中的字段,只返回name字段
+        //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"成功"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
+        return responseEntity;
+
+    }
+
+    /**
+     * 获取用户信息
+     *
+     * @param pd
+     * @param restTemplate
+     * @return
+     */
+    protected ResponseEntity<String> getOwnerAppUser(IPageData pd, RestTemplate restTemplate, Map paramIn) {
+        //Assert.hasLength(pd.getUserId(), "用户未登录请先登录");
+        ResponseEntity<String> responseEntity = null;
+        if (paramIn != null) {
+            paramIn.put("page", "1");
+            paramIn.put("row", "1");
+        }
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                ServiceConstant.SERVICE_API_URL + "/api/" + ServiceCodeConstant.LIST_APPUSERBINDINGOWNERS + mapToUrlParam(paramIn), HttpMethod.GET);
         // 过滤返回报文中的字段,只返回name字段
         //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"成功"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
         return responseEntity;
@@ -223,8 +245,6 @@ public class BaseComponentSMO extends BaseServiceSMO {
     }
 
 
-
-
     /**
      * 校验 员工 商户 小区 关系
      * <p>
@@ -251,7 +271,7 @@ public class BaseComponentSMO extends BaseServiceSMO {
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
 
         String communityId = "";
-        if (paramIn.containsKey("communityId")&& !StringUtil.isEmpty(paramIn.getString("communityId"))) {
+        if (paramIn.containsKey("communityId") && !StringUtil.isEmpty(paramIn.getString("communityId"))) {
             communityId = paramIn.getString("communityId");
             checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
         }

+ 6 - 5
service-front/src/main/java/com/java110/front/smo/payment/impl/ToNotifySMOImpl.java

@@ -6,6 +6,7 @@ import com.java110.front.smo.AppAbstractComponentSMO;
 import com.java110.front.smo.payment.IToNotifySMO;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.PayUtil;
@@ -90,8 +91,8 @@ public class ToNotifySMOImpl implements IToNotifySMO {
         String openId = "";
         String paySwitch = MappingCache.getValue(AppAbstractComponentSMO.DOMAIN_WECHAT_PAY, AppAbstractComponentSMO.WECHAT_SERVICE_PAY_SWITCH);
         if (AppAbstractComponentSMO.WECHAT_SERVICE_PAY_SWITCH_ON.equals(paySwitch)) {
-            openId =  map.get("sub_openid").toString();
-        }else {
+            openId = map.get("sub_openid").toString();
+        } else {
             openId = map.get("openid").toString();
         }
 
@@ -103,7 +104,7 @@ public class ToNotifySMOImpl implements IToNotifySMO {
         }
 
         JSONObject userResult = JSONObject.parseObject(responseEntity.getBody());
-        JSONObject realUserInfo = userResult.getJSONArray("users").getJSONObject(0);
+        JSONObject realUserInfo = userResult.getJSONArray("data").getJSONObject(0);
         String useId = realUserInfo.getString("userId");
 
         //查询用户ID
@@ -128,7 +129,7 @@ public class ToNotifySMOImpl implements IToNotifySMO {
         //Assert.hasLength(pd.getUserId(), "用户未登录请先登录");
         ResponseEntity<String> responseEntity = null;
         responseEntity = this.callCenterService(restTemplate, "-1", "",
-                ServiceConstant.SERVICE_API_URL + "/api/user.listUsers?openId=" + openId + "&page=1&row=1", HttpMethod.GET);
+                ServiceConstant.SERVICE_API_URL + "/api/" + ServiceCodeConstant.LIST_APPUSERBINDINGOWNERS + "?openId=" + openId + "&page=1&row=1", HttpMethod.GET);
         // 过滤返回报文中的字段,只返回name字段
         //{"address":"","orderTypeCd":"Q","serviceCode":"","responseTime":"20190401194712","sex":"","localtionCd":"","userId":"302019033054910001","levelCd":"00","transactionId":"-1","dataFlowId":"-1","response":{"code":"0000","message":"成功"},"name":"996icu","tel":"18909780341","bId":"-1","businessType":"","email":""}
 
@@ -155,7 +156,7 @@ public class ToNotifySMOImpl implements IToNotifySMO {
         try {
             responseEntity = restTemplate.exchange(url, httpMethod, httpEntity, String.class);
         } catch (HttpStatusCodeException e) { //这里spring 框架 在4XX 或 5XX 时抛出 HttpServerErrorException 异常,需要重新封装一下
-            responseEntity = new ResponseEntity<String>( e.getResponseBodyAsString(), e.getStatusCode());
+            responseEntity = new ResponseEntity<String>(e.getResponseBodyAsString(), e.getStatusCode());
         } catch (Exception e) {
             responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
         } finally {

+ 2 - 2
service-front/src/main/java/com/java110/front/smo/payment/impl/ToPaySMOImpl.java

@@ -83,7 +83,7 @@ public class ToPaySMOImpl extends AppAbstractComponentSMO implements IToPaySMO {
         double money = Double.parseDouble(orderInfo.getString("receivableAmount"));
         Map tmpParamIn = new HashMap();
         tmpParamIn.put("userId", pd.getUserId());
-        responseEntity = super.getUserAndAttr(pd, restTemplate, tmpParamIn);
+        responseEntity = super.getOwnerAppUser(pd, restTemplate, tmpParamIn);
         logger.debug("查询用户信息返回报文:" + responseEntity);
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
             throw new IllegalArgumentException("未查询用户信息异常" + tmpParamIn);
@@ -96,7 +96,7 @@ public class ToPaySMOImpl extends AppAbstractComponentSMO implements IToPaySMO {
             throw new IllegalArgumentException("未查询微信用户");
         }
 
-        JSONObject realUserInfo = userResult.getJSONArray("users").getJSONObject(0);
+        JSONObject realUserInfo = userResult.getJSONArray("data").getJSONObject(0);
 
         String openId = realUserInfo.getString("openId");
 //        String payAppId = orderInfo.getString("payAppId");