Browse Source

微信app支付返回类型调整

huangct 8 years ago
parent
commit
753ebbd7ec

+ 13 - 14
donate-service/src/main/java/com/uas/service/donate/controller/WxpayController.java

@@ -12,7 +12,6 @@ import com.github.binarywang.wxpay.exception.WxPayException;
 import com.github.binarywang.wxpay.util.SignUtils;
 import com.uas.dfs.service.FileClient;
 import com.uas.platform.core.util.HttpUtil;
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.service.donate.api.WxPayApi;
 import com.uas.service.donate.config.WxConfig;
 import com.uas.service.donate.core.support.SystemSession;
@@ -259,14 +258,14 @@ public class WxpayController {
     @ResponseBody
     @RequestMapping(value = "/appPay", method = RequestMethod.POST)
     public String appPay(@RequestParam("jsonStr") String jsonStr, HttpServletRequest request, HttpServletResponse response) throws Exception {
-        ModelMap modelMap = new ModelMap();
+        JSONObject jsonObject = new JSONObject();
         ProjectRecode projectRecode= null;
         try {
             projectRecode = this.createProjectRecode(jsonStr);
         } catch (Exception e) {
             logger.error("生成商户订单错误,原因:{}", e.getMessage());
-            modelMap.put("error", "参数错误");
-            return FlexJsonUtils.toJsonDeep(modelMap);
+            jsonObject.put("error", "参数错误");
+            return jsonObject.toJSONString();
         }
 
         WxPayConfig wxPayConfig = wxPayApi.getConfig();
@@ -279,21 +278,21 @@ public class WxpayController {
         WxPayUnifiedOrderRequest wxPayUnifiedOrderRequest = createWxPayUnifiedOrderRequest(request, projectRecode, WxPayConstants.TradeType.APP);
         Map map = unifiedOrder(wxPayUnifiedOrderRequest, null);
         if ("FAIL".equals(map.get("status"))) {
-            modelMap.put("error", map.get("message"));
+            jsonObject.put("error", map.get("message"));
         } else if ("null".equals(map.get("status"))) {
-            modelMap.put("error", "系统错误!");
+            jsonObject.put("error", "系统错误!");
         } else {
             String nonceStr = String.valueOf(System.currentTimeMillis());
             String timeStamp = String.valueOf(Long.parseLong(nonceStr) / 1000);
             String appId = wxPayApi.getConfig().getAppId();
             String prepayId = (String)map.get("prepayId");
             String mchId = WxConfig.OPENMCHID; //开放平台对应的商户平台的商户号
-            modelMap.put("appid", appId);
-            modelMap.put("partnerid", mchId);
-            modelMap.put("prepayid", prepayId);
-            modelMap.put("timestamp", timeStamp);
-            modelMap.put("noncestr", nonceStr);
-            modelMap.put("package", "Sign=WXPay");
+            jsonObject.put("appid", appId);
+            jsonObject.put("partnerid", mchId);
+            jsonObject.put("prepayid", prepayId);
+            jsonObject.put("timestamp", timeStamp);
+            jsonObject.put("noncestr", nonceStr);
+            jsonObject.put("package", "Sign=WXPay");
 
             logger.info("参数--" + appId + "," + mchId + "," + prepayId + "," + timeStamp + "," + nonceStr);
             Map<String, String> signMap = new HashMap<>();
@@ -308,9 +307,9 @@ public class WxpayController {
             String packageSign = SignUtils.createSign(signMap, "MD5", WxConfig.OPENMCHKEY, false);
             logger.info("APP预付订单再次签名验签--" + packageSign);
 
-            modelMap.put("sign", packageSign);
+            jsonObject.put("sign", packageSign);
         }
-        return FlexJsonUtils.toJsonDeep(modelMap);
+        return jsonObject.toJSONString();
     }