Explorar el Código

Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

1098226878@qq.com hace 4 años
padre
commit
a2af58e9d2

+ 10 - 4
service-acct/src/main/java/com/java110/acct/cmd/payment/QrCodePaymentCmd.java

@@ -14,6 +14,8 @@ import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
@@ -22,6 +24,7 @@ import org.springframework.http.ResponseEntity;
  */
 @Java110Cmd(serviceCode = "payment.qrCodePayment")
 public class QrCodePaymentCmd extends AbstractServiceCmdListener {
+    private static Logger logger = LoggerFactory.getLogger(QrCodePaymentCmd.class);
 
 
     private IQrCodePaymentSMO qrCodePaymentSMOImpl;
@@ -43,7 +46,7 @@ public class QrCodePaymentCmd extends AbstractServiceCmdListener {
         int pre = Integer.parseInt(authCode.substring(0, 2));
         if (pre > 24 && pre < 31) { // 支付宝
             qrCodePaymentSMOImpl = ApplicationContextFactory.getBean("qrCodeAliPaymentAdapt", IQrCodePaymentSMO.class);
-        }else{
+        } else {
             qrCodePaymentSMOImpl = ApplicationContextFactory.getBean("qrCodeWechatPaymentAdapt", IQrCodePaymentSMO.class);
         }
 
@@ -51,17 +54,20 @@ public class QrCodePaymentCmd extends AbstractServiceCmdListener {
         try {
             resultVo = qrCodePaymentSMOImpl.pay(reqJson.getString("communityId"), orderId, receivedAmount, authCode, "");
         } catch (Exception e) {
+            logger.error("异常了", e);
             cmdDataFlowContext.setResponseEntity(ResultVo.error(e.getLocalizedMessage()));
             return;
         }
+        logger.debug("适配器返回结果:" + resultVo.toString());
         if (ResultVo.CODE_OK != resultVo.getCode()) {
-            cmdDataFlowContext.setResponseEntity(ResultVo.error(resultVo.getMsg(),reqJson));
+            reqJson.put("orderId", orderId);
+            cmdDataFlowContext.setResponseEntity(ResultVo.error(resultVo.getMsg(), reqJson));
             return;
         }
         String appId = cmdDataFlowContext.getReqHeaders().get(CommonConstant.APP_ID);
         String userId = cmdDataFlowContext.getReqHeaders().get(CommonConstant.USER_ID);
-        String paramOut = CallApiServiceFactory.postForApi(appId, reqJson.toJSONString(), "fee.payFee", String.class, userId);
-        cmdDataFlowContext.setResponseEntity(new ResponseEntity(paramOut, HttpStatus.OK));
+        JSONObject paramOut = CallApiServiceFactory.postForApi(appId, reqJson, "fee.payFee", JSONObject.class, userId);
+        cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(paramOut));
     }
 
 }

+ 18 - 4
service-acct/src/main/java/com/java110/acct/smo/impl/QrCodeAliPaymentAdapt.java

@@ -12,7 +12,10 @@ import com.java110.acct.smo.IQrCodePaymentSMO;
 import com.java110.core.factory.CommunitySettingFactory;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.WechatConstant;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 /**
@@ -20,6 +23,9 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class QrCodeAliPaymentAdapt implements IQrCodePaymentSMO {
+
+    private static Logger logger = LoggerFactory.getLogger(QrCodeAliPaymentAdapt.class);
+
     /**
      * APP_ID 应用id
      */
@@ -47,6 +53,10 @@ public class QrCodeAliPaymentAdapt implements IQrCodePaymentSMO {
      * 格式化
      */
     public final static String FORMAT = "json";
+    /**
+     * 格式化
+     */
+    public final static String APP_AUTH_TOKEN = "APP_AUTH_TOKEN";
 
     /**
      * 签名类型
@@ -58,10 +68,13 @@ public class QrCodeAliPaymentAdapt implements IQrCodePaymentSMO {
         String systemName = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.PAY_GOOD_NAME);
 
         AlipayClient alipayClient = new DefaultAlipayClient(GETEWAY_URL,
-                CommunitySettingFactory.getValue(communityId,"APP_ID"),
-                CommunitySettingFactory.getRemark(communityId,"APP_PRIVATE_KEY"),
-                "json", "utf-8", CommunitySettingFactory.getRemark(communityId,"ALIPAY_PUBLIC_KEY"), "RSA2");
+                CommunitySettingFactory.getValue(communityId, "APP_ID"),
+                CommunitySettingFactory.getRemark(communityId, "APP_PRIVATE_KEY"),
+                "json", "UTF-8", CommunitySettingFactory.getRemark(communityId, "ALIPAY_PUBLIC_KEY"), "RSA2");
         AlipayTradePayRequest request = new AlipayTradePayRequest();
+        if (!StringUtil.isEmpty(CommunitySettingFactory.getValue(communityId, APP_AUTH_TOKEN))) {
+            request.putOtherTextParam("app_auth_token", CommunitySettingFactory.getValue(communityId, APP_AUTH_TOKEN));
+        }
         JSONObject bizContent = new JSONObject();
         bizContent.put("out_trade_no", orderNum);
         bizContent.put("total_amount", money);
@@ -70,6 +83,7 @@ public class QrCodeAliPaymentAdapt implements IQrCodePaymentSMO {
         bizContent.put("auth_code", authCode);
         request.setBizContent(bizContent.toString());
         AlipayTradePayResponse response = alipayClient.execute(request);
+        logger.debug("支付宝返回:" + JSONObject.toJSONString(response));
         if (response.isSuccess()) {
             System.out.println("调用成功");
         } else {
@@ -88,7 +102,7 @@ public class QrCodeAliPaymentAdapt implements IQrCodePaymentSMO {
         AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", "app_id", "your private_key", "json", "GBK", "alipay_public_key", "RSA2");
         AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
         request.setBizContent("{" +
-                "  \"out_trade_no\":\""+orderNum+"\"," +
+                "  \"out_trade_no\":\"" + orderNum + "\"," +
                 "  \"trade_no\":\"\"," +
                 "  \"query_options\":[" +
                 "    \"trade_settle_info\"" +

+ 4 - 0
service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java

@@ -64,6 +64,10 @@ public class ServiceConfiguration {
         exclusions.append("/app/floor.queryFloors,");
         exclusions.append("/app/unit.queryUnits,");
         exclusions.append("/app/room.queryRooms,");
+        exclusions.append("/app/productCategory/queryMainCategoryAllGoods,");
+        exclusions.append("/app/shop/queryShopCommunity,");
+        exclusions.append("/app/shopType/queryShopType,");
+        exclusions.append("/app/housekeepingType/queryHousekeepingType,");
         exclusions.append("/callComponent/propertyRightRegistration.savePropertyRightRegistration");
 
 

+ 3 - 3
service-api/src/main/java/com/java110/api/smo/DefaultAbstractComponentSMO.java

@@ -2,8 +2,6 @@ package com.java110.api.smo;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonObject;
 import com.java110.api.properties.WechatAuthProperties;
 import com.java110.core.component.AbstractComponentSMO;
 import com.java110.core.context.IPageData;
@@ -23,7 +21,9 @@ import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.client.HttpStatusCodeException;
 import org.springframework.web.client.RestTemplate;