傅行帆 6 vuotta sitten
vanhempi
commit
246165066e

+ 9
- 5
CODE/smart-community/app-api/src/main/java/com/community/huiju/controller/WxPayController.java Näytä tiedosto

@@ -70,6 +70,7 @@ public class WxPayController {
70 70
 	@ApiOperation(value = "手机订单支付完成后回调", notes = "手机订单支付完成后回调")
71 71
 	@RequestMapping(value = "/wxNotify",method = RequestMethod.POST)
72 72
 	public String wxNotify(HttpServletRequest request, HttpServletResponse response){
73
+		String failResult = "<xml>" + "<return_code><![CDATA[FAIL]]></return_code>" + "<return_msg><![CDATA[失败]]></return_msg>" + "</xml> ";
73 74
 		String resXml = "";
74 75
 		InputStream inStream;
75 76
 		try {
@@ -92,13 +93,16 @@ public class WxPayController {
92 93
 			
93 94
 			// xml转换为map
94 95
 			Map<String, String> resultMap = WXPayUtil.xmlToMap(result);
95
-			System.out.println("返回结果是:" + resultMap);
96
-			//处理业务逻辑 修改订单状态等
97
-			String state = wxPayService.wxNotify(resultMap);
96
+			if (WXPayConstants.SUCCESS.equalsIgnoreCase(resultMap.get("result_code"))) {
97
+				//处理业务逻辑 修改订单状态等
98
+				String state = wxPayService.wxNotify(resultMap);
99
+			}else{
100
+				return failResult;
101
+			}
102
+			
98 103
 		} catch (Exception e) {
99 104
 			log.error("手机支付回调通知失败",e);
100
-			String result = "<xml>" + "<return_code><![CDATA[FAIL]]></return_code>" + "<return_msg><![CDATA[失败]]></return_msg>" + "</xml> ";
101
-			return result;
105
+			return failResult;
102 106
 			
103 107
 		}
104 108
 		return "";

+ 2
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/WxPayServiceImpl.java Näytä tiedosto

@@ -50,7 +50,7 @@ public class WxPayServiceImpl implements WxPayServiceI {
50 50
 		Map<String, String> data = new HashMap<String, String>();
51 51
 		data.put("body", "支付测试");
52 52
 		//商品号唯一
53
-		data.put("out_trade_no", String.valueOf(System.currentTimeMillis()));
53
+		data.put("out_trade_no", String.valueOf(System.currentTimeMillis()) + billInvoiceId);
54 54
 		data.put("device_info", "");
55 55
 		data.put("fee_type", "CNY");
56 56
 		//金额 后台计算
@@ -63,6 +63,7 @@ public class WxPayServiceImpl implements WxPayServiceI {
63 63
 		data.put("trade_type", "APP");
64 64
 		Map<String, String> resp = wxpay.unifiedOrder(data);
65 65
 		log.info("下单成功:{}", resp);
66
+		//插入下单记录表
66 67
 		
67 68
 		//第二次重新生成签名
68 69
 		Map<String, String> secondSignData = new HashMap<String, String>();

+ 264
- 251
文档/MYSQL/smartCommunity.pdb
File diff suppressed because it is too large
Näytä tiedosto


+ 262
- 249
文档/MYSQL/smartCommunity.pdm
File diff suppressed because it is too large
Näytä tiedosto