傅行帆 před 4 roky
rodič
revize
59ddbeb753

+ 1
- 1
src/main/java/com/huiju/estateagents/property/controller/WxPayController.java Zobrazit soubor

53
 
53
 
54
 		Map<String, String> resp = Maps.newHashMap();
54
 		Map<String, String> resp = Maps.newHashMap();
55
 		try {
55
 		try {
56
-			resp = wxPayService.wxUnifiedOrder(outTradeNo, type, getPersonId(request));
56
+			resp = wxPayService.wxUnifiedOrder(outTradeNo, type, getPersonId(request), request.getRemoteAddr());
57
 		} catch (Exception e) {
57
 		} catch (Exception e) {
58
 			e.printStackTrace();
58
 			e.printStackTrace();
59
 			responseBean.addError(e.getMessage());
59
 			responseBean.addError(e.getMessage());

+ 1
- 1
src/main/java/com/huiju/estateagents/property/service/WxPayServiceI.java Zobrazit soubor

11
 	 * @param type 订单类型  car 车缴费 , bill 物业缴费
11
 	 * @param type 订单类型  car 车缴费 , bill 物业缴费
12
 	 * @param personId
12
 	 * @param personId
13
 	 */
13
 	 */
14
-	Map<String, String> wxUnifiedOrder(String outTradeNo, String type, String personId) throws Exception;
14
+	Map<String, String> wxUnifiedOrder(String outTradeNo, String type, String personId, String clientId) throws Exception;
15
 	
15
 	
16
 	/**
16
 	/**
17
 	 * 支付成功的回调 物业缴费
17
 	 * 支付成功的回调 物业缴费

+ 14
- 11
src/main/java/com/huiju/estateagents/property/service/impl/WxPayServiceImpl.java Zobrazit soubor

7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.center.taUser.entity.TaUser;
8
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
9
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
10
+import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.common.wxpay.WXPay;
11
 import com.huiju.estateagents.common.wxpay.WXPay;
11
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
12
 import com.huiju.estateagents.common.wxpay.WXPayConstants;
12
 import com.huiju.estateagents.common.wxpay.WXPayUtil;
13
 import com.huiju.estateagents.common.wxpay.WXPayUtil;
111
 	 */
112
 	 */
112
 	@Override
113
 	@Override
113
 	@Transactional(rollbackFor = Exception.class)
114
 	@Transactional(rollbackFor = Exception.class)
114
-	public Map<String, String> wxUnifiedOrder(String orderNo, String type, String personId) throws Exception {
115
+	public Map<String, String> wxUnifiedOrder(String orderNo, String type, String personId, String clientIp) throws Exception {
115
 		//构建微信配置
116
 		//构建微信配置
116
 		WxConfig config = getWxConfig(1);
117
 		WxConfig config = getWxConfig(1);
117
 		WXPay wxpay = new WXPay(config);
118
 		WXPay wxpay = new WXPay(config);
118
 
119
 
120
+		TaPerson person = taPersonMapper.selectById(personId);
119
 
121
 
120
 		Map<String, Object> orderPriceAndNotifyUrl = getOrderPriceAndNotifyUrl(type, orderNo, "wx");
122
 		Map<String, Object> orderPriceAndNotifyUrl = getOrderPriceAndNotifyUrl(type, orderNo, "wx");
121
 
123
 
129
 		data.put("device_info", "");
131
 		data.put("device_info", "");
130
 		data.put("fee_type", "CNY");
132
 		data.put("fee_type", "CNY");
131
 		//金额 后台计算
133
 		//金额 后台计算
132
-		data.put("total_fee", String.valueOf(orderPriceAndNotifyUrl.get("payPrice")));
134
+		data.put("total_fee",String.valueOf(orderPriceAndNotifyUrl.get("payPrice")));
133
 		//终端IP
135
 		//终端IP
134
-		data.put("spbill_create_ip", "123.12.12.123");
136
+		data.put("spbill_create_ip", clientIp);
135
 		//回调地址
137
 		//回调地址
136
 		data.put("notify_url", String.valueOf(orderPriceAndNotifyUrl.get("notifyUrl")));
138
 		data.put("notify_url", String.valueOf(orderPriceAndNotifyUrl.get("notifyUrl")));
137
 		// 此处指定为APP支付
139
 		// 此处指定为APP支付
138
-		data.put("trade_type", "APP");
140
+		data.put("trade_type", "JSAPI");
141
+		//openid
142
+		data.put("openid", person.getMiniOpenid());
139
 		Map<String, String> resp = wxpay.unifiedOrder(data);
143
 		Map<String, String> resp = wxpay.unifiedOrder(data);
140
 		log.info("下单成功:{}", resp);
144
 		log.info("下单成功:{}", resp);
141
 		if (resp.get("result_code").equalsIgnoreCase(WXPayConstants.FAIL)){
145
 		if (resp.get("result_code").equalsIgnoreCase(WXPayConstants.FAIL)){
142
 			throw new Exception(resp.get("err_code_des"));
146
 			throw new Exception(resp.get("err_code_des"));
143
 		}
147
 		}
144
 		//插入下单记录表
148
 		//插入下单记录表
145
-		
149
+
146
 		//第二次重新生成签名
150
 		//第二次重新生成签名
147
 		Map<String, String> secondSignData = new HashMap<String, String>();
151
 		Map<String, String> secondSignData = new HashMap<String, String>();
148
 		long timestamp = Instant.now().getEpochSecond();
152
 		long timestamp = Instant.now().getEpochSecond();
149
-		secondSignData.put("appid", config.getAppID());
150
-		secondSignData.put("partnerid", config.getMchID());
151
-		secondSignData.put("prepayid", resp.get("prepay_id"));
152
-		secondSignData.put("noncestr", resp.get("nonce_str"));
153
-		secondSignData.put("timestamp", String.valueOf(timestamp));
154
-		secondSignData.put("package", "Sign=WXPay");
153
+		secondSignData.put("appId", config.getAppID());
154
+		secondSignData.put("nonceStr", resp.get("nonce_str"));
155
+		secondSignData.put("timeStamp", String.valueOf(timestamp));
156
+		secondSignData.put("package", "prepay_id="+resp.get("prepay_id"));
157
+		secondSignData.put("signType", WXPayConstants.SignType.MD5.toString());
155
 		secondSignData.put("sign", WXPayUtil.generateSignature(secondSignData, config.getKey(), WXPayConstants.SignType.MD5));
158
 		secondSignData.put("sign", WXPayUtil.generateSignature(secondSignData, config.getKey(), WXPayConstants.SignType.MD5));
156
 
159
 
157
 		log.info("订单: {},订单类型: {}, 状态变更为正在支付", orderNo, type);
160
 		log.info("订单: {},订单类型: {}, 状态变更为正在支付", orderNo, type);

+ 6
- 6
src/main/resources/application-dev.yml Zobrazit soubor

80
 
80
 
81
 # 支付回调
81
 # 支付回调
82
 pay-new-notify:
82
 pay-new-notify:
83
-  wx-bill-notify: http://106.14.20.193:8086/api/wxBillNotify
84
-  ali-bill-notify: http://106.14.20.193:8086/api/aliPayBillNotify
85
-  wx-car-notify: http://106.14.20.193:8086/api/wxCarNotify
86
-  ali-car-notify: http://106.14.20.193:8086/api/aliPayCarNotify
87
-  wx-tmp-notify: http://106.14.20.193:8086/api/wxTmpNotify
88
-  ali-tmp-notify: http://106.14.20.193:8086/api/aliTmpNotify
83
+  wx-bill-notify: https://a.t.njyunzhi.com/api/wxBillNotify
84
+  ali-bill-notify:
85
+  wx-car-notify:
86
+  ali-car-notify:
87
+  wx-tmp-notify:
88
+  ali-tmp-notify:
89
 
89
 
90
 #法大大服务器地址
90
 #法大大服务器地址
91
 fadada:
91
 fadada:

+ 6
- 6
src/main/resources/application-prod.yml Zobrazit soubor

85
 
85
 
86
 # 支付回调
86
 # 支付回调
87
 pay-new-notify:
87
 pay-new-notify:
88
-  wx-bill-notify: http://106.14.20.193:8086/api/wxBillNotify
89
-  ali-bill-notify: http://106.14.20.193:8086/api/aliPayBillNotify
90
-  wx-car-notify: http://106.14.20.193:8086/api/wxCarNotify
91
-  ali-car-notify: http://106.14.20.193:8086/api/aliPayCarNotify
92
-  wx-tmp-notify: http://106.14.20.193:8086/api/wxTmpNotify
93
-  ali-tmp-notify: http://106.14.20.193:8086/api/aliTmpNotify
88
+  wx-bill-notify: https://a.t.njyunzhi.com/api/wxBillNotify
89
+  ali-bill-notify:
90
+  wx-car-notify:
91
+  ali-car-notify:
92
+  wx-tmp-notify:
93
+  ali-tmp-notify:
94
 
94
 
95
 #法大大服务器地址
95
 #法大大服务器地址
96
 fadada:
96
 fadada: