Commit 07a50221162e6382fc25157c778e850405054c85
Merge remote-tracking branch 'origin/master'
Showing
7 changed files
with
70 additions
and
132 deletions
src/main/java/com/rnt/controller/WeixinPayController.java
... | ... | @@ -267,24 +267,8 @@ public class WeixinPayController extends Controller { |
267 | 267 | public void orderPayView() { |
268 | 268 | //订单id |
269 | 269 | String parkOrderId = this.getPara("parkOrderId"); |
270 | - PayOrder payOrder = new PayOrder(); | |
271 | - String payOrderId = SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PAY_WXGZH.value()); | |
272 | - payOrder.setPayOrderId(payOrderId); | |
273 | - payOrder.setPaySrcType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_SERVICE.getValue())); | |
274 | - payOrder.setRltOrderId(parkOrderId); | |
275 | - payOrder.setPayOrderTitle(PayOrderEnum.PAY_ORDER_TYPE_PAY.getValue()); | |
276 | - payOrder.setPayType(Integer.valueOf(PayOrderEnum.PAY_TYPE_WXGZH.getValue())); | |
277 | - payOrder.setPayOrderState(Integer.valueOf(PayOrderEnum.PAY_ORDER_STATE_WAIT_PAY.getValue())); | |
278 | - payOrder.setPayorderStateTime(new Date()); | |
279 | - payOrder.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); | |
280 | - payOrder.setCreateDate(new Date()); | |
281 | - payOrder.setModfiyDate(new Date()); | |
282 | - logger.info("支付单save请求数据为: payOrder=" + JSONObject.toJSONString(payOrder)); | |
283 | - Boolean flag = payOrder.save(); | |
284 | - logger.info("支付单save 响应为: flag=" + flag); | |
285 | - | |
286 | - this.getRequest().setAttribute("parkOrderId", parkOrderId); | |
287 | - setAttr("payOrderId", payOrderId); | |
270 | + | |
271 | + setAttr("parkOrderId", parkOrderId); | |
288 | 272 | render("pay.html"); |
289 | 273 | } |
290 | 274 | |
... | ... | @@ -469,8 +453,26 @@ public class WeixinPayController extends Controller { |
469 | 453 | BizResult<String> bizResult = new BizResult<>(); |
470 | 454 | String orderId = getPara("orderId"); |
471 | 455 | String openId = getPara("openId"); |
472 | - String payOrderId = getPara("payOrderId"); | |
456 | + String payOrderId = SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PAY_WXGZH.value()); | |
473 | 457 | logger.info("开始获取公众号支付JS支付参数: orderId=" + orderId + "; openId=" + openId + "; payOrderId=" + payOrderId); |
458 | + | |
459 | + PayOrder payOrder = new PayOrder(); | |
460 | + | |
461 | + payOrder.setPayOrderId(payOrderId); | |
462 | + payOrder.setPaySrcType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_SERVICE.getValue())); | |
463 | + payOrder.setRltOrderId(orderId); | |
464 | + payOrder.setPayOrderTitle(PayOrderEnum.PAY_ORDER_TYPE_PAY.getValue()); | |
465 | + payOrder.setPayType(Integer.valueOf(PayOrderEnum.PAY_TYPE_WXGZH.getValue())); | |
466 | + payOrder.setPayOrderState(Integer.valueOf(PayOrderEnum.PAY_ORDER_STATE_WAIT_PAY.getValue())); | |
467 | + payOrder.setPayorderStateTime(new Date()); | |
468 | + payOrder.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); | |
469 | + payOrder.setCreateDate(new Date()); | |
470 | + payOrder.setModfiyDate(new Date()); | |
471 | + logger.info("支付单save请求数据为: payOrder=" + JSONObject.toJSONString(payOrder)); | |
472 | + Boolean flag = payOrder.save(); | |
473 | + logger.info("支付单save 响应为: flag=" + flag); | |
474 | + | |
475 | + | |
474 | 476 | //订单ID |
475 | 477 | if (StringKit.isEmpty(orderId)) { |
476 | 478 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); |
... | ... | @@ -486,24 +488,7 @@ public class WeixinPayController extends Controller { |
486 | 488 | return; |
487 | 489 | } |
488 | 490 | |
489 | - PayOrder payOrder = PayOrder.dao.findFirst("select * from td_b_pay_order t where t.pay_order_id = ?", | |
490 | - payOrderId); | |
491 | - | |
492 | - if (null == payOrder) { | |
493 | - bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); | |
494 | - bizResult.setMsg("支付单不存在"); | |
495 | - renderJson(bizResult); | |
496 | - return; | |
497 | - } | |
498 | - | |
499 | - // 判断支付单状态 支付单状态:0-待支付 1-成功 2-失败(作废) | |
500 | - if (null == payOrder.getPayOrderState() || 0 != payOrder.getPayOrderState()) { | |
501 | - logger.info("支付单状态不正确,支付单状态为: orderState=" + payOrder.getPayOrderState()); | |
502 | - bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); | |
503 | - bizResult.setMsg("支付单状态不正确"); | |
504 | - renderJson(bizResult); | |
505 | - return; | |
506 | - } | |
491 | + | |
507 | 492 | |
508 | 493 | Order order = Order.dao.findFirst("select * from td_b_order t where t.order_id = ?", orderId); |
509 | 494 | if (null == order) { |
... | ... | @@ -680,7 +665,7 @@ public class WeixinPayController extends Controller { |
680 | 665 | payOrderFlow.setPayOrderId(payOrderId); |
681 | 666 | payOrderFlow.setTradeNo(transId); |
682 | 667 | //传回的金额以 分 为单位,转换为double,然后转换为 BigDecimal类型 |
683 | - payOrderFlow.setBuyerPayAmount(new BigDecimal(new Double(totalFee) / 100)); | |
668 | + payOrderFlow.setBuyerPayAmount(new BigDecimal(new Double(totalFee))); | |
684 | 669 | //付款时间 |
685 | 670 | payOrderFlow.setGmtPayment(new Date()); |
686 | 671 | //处理环节 | ... | ... |
src/main/java/com/rnt/service/IRainQueryService.java
... | ... | @@ -73,4 +73,25 @@ public class IRainQueryService { |
73 | 73 | |
74 | 74 | return JSONObject.toJSON(rs)+""; |
75 | 75 | } |
76 | + | |
77 | + public static void main(String[] args) { | |
78 | + Prop prop = PropKit.use("a_little_config.txt"); | |
79 | + String rs = ""; | |
80 | + Long time = System.currentTimeMillis(); | |
81 | + String md5 = MD5Utils.enMD5(prop.get("irain.appid")+prop.get("irain.appsecret")+time); | |
82 | + Map<String, Object> params = new HashMap<>(); | |
83 | + params.put("appid", prop.get("irain.appid")); | |
84 | + params.put("sign", md5); | |
85 | + params.put("timestamp", time); | |
86 | + params.put("vpl_number", "苏B1B566"); | |
87 | + params.put("park_code", "734861a1e8656ffa51bdd90829941ca9"); | |
88 | + | |
89 | + try { | |
90 | + logger.info("irain 查询停车费用入参:" + JSONObject.toJSONString(params)); | |
91 | + rs = HttpClientTutorial.httpPostRequest(prop.get("irain.url")+"/bill/Query", params); | |
92 | + logger.info("irain 查询停车费用返回:" + JSONObject.toJSONString(rs)); | |
93 | + } catch (Exception e) { | |
94 | + logger.info("irain 查询停车费用出错:" + e); | |
95 | + } | |
96 | + } | |
76 | 97 | } | ... | ... |
src/main/resources/a_little_config.txt
... | ... | @@ -25,6 +25,8 @@ zf.druid.url=jdbc:mysql://10.117.185.28:3306/zt_order?useUnicode=true&characterE |
25 | 25 | zf.druid.username=order |
26 | 26 | zf.druid.password=MySQL5.7;123 |
27 | 27 | |
28 | + | |
29 | + | |
28 | 30 | zf.druid.initialSize=1 |
29 | 31 | zf.druid.minIdle=1 |
30 | 32 | zf.druid.maxActive=20 |
... | ... | @@ -40,7 +42,7 @@ zf.druid.testOnWhileIdle=true |
40 | 42 | #Redis config |
41 | 43 | redis.host=127.0.0.1 |
42 | 44 | redis.port=6379 |
43 | -#redis.password=redis_63790 | |
45 | +redis.password=myredis | |
44 | 46 | |
45 | 47 | |
46 | 48 | # 微信服务器回调所用的 token | ... | ... |
src/main/resources/a_little_config_pro.txt deleted
1 | - | |
2 | -devMode = true | |
3 | - | |
4 | -######## park库 | |
5 | -park.druid.url=jdbc:mysql://61.177.139.228:13906/zteits-park?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
6 | -park.druid.username=zteits | |
7 | -park.druid.password=Zteits;123456 | |
8 | -park.druid.initialSize=1 | |
9 | -park.druid.minIdle=1 | |
10 | -park.druid.maxActive=20 | |
11 | -park.druid.filters=stat,wall | |
12 | -park.druid.maxWait=60000 | |
13 | -park.druid.timeBetweenEvictionRunsMillis=3000 | |
14 | -park.druid.minEvictableIdleTimeMillis=300000 | |
15 | -park.druid.validationQuery=SELECT 'x' | |
16 | -park.druid.testOnBorrow=true | |
17 | -park.druid.testOnReturn=false | |
18 | -park.druid.testOnWhileIdle=true | |
19 | - | |
20 | -####### zf库 | |
21 | -zf.druid.url=jdbc:mysql://61.177.139.228:13906/zteits-zf?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true | |
22 | -zf.druid.username=zteits | |
23 | -zf.druid.password=Zteits;123456 | |
24 | -zf.druid.initialSize=1 | |
25 | -zf.druid.minIdle=1 | |
26 | -zf.druid.maxActive=20 | |
27 | -zf.druid.filters=stat,wall | |
28 | -zf.druid.maxWait=60000 | |
29 | -zf.druid.timeBetweenEvictionRunsMillis=3000 | |
30 | -zf.druid.minEvictableIdleTimeMillis=300000 | |
31 | -zf.druid.validationQuery=SELECT 'x' | |
32 | -zf.druid.testOnBorrow=true | |
33 | -zf.druid.testOnReturn=false | |
34 | -zf.druid.testOnWhileIdle=true | |
35 | - | |
36 | -#Redis config | |
37 | -redis.host=192.168.129.137 | |
38 | -redis.port=6379 | |
39 | -#redis.password=redis_63790 | |
40 | - | |
41 | - | |
42 | -# 微信服务器回调所用的 token | |
43 | -token=mytoken | |
44 | - | |
45 | -# 测试用的账号 | |
46 | -appId=wx077cae81383034aa | |
47 | -appSecret=d4624c36b6795d1d99dcf0547af5443d | |
48 | - | |
49 | -#是否对消息进行加密,是否对消息进行加密,对应于微信平台的消息加解密方式,false支持明文模式及兼容模式,true支持安全模式及兼容模式 | |
50 | -#encryptMessage=true | |
51 | -#encodingAesKey=yourEncodingAesKey | |
52 | - | |
53 | -#路径配置 | |
54 | -#app.host=http://wxgzh.rnting.com | |
55 | -#app.staticHost=http://wxgzh.rnting.com/static | |
56 | - | |
57 | -app.host=http://120.26.116.79 | |
58 | -app.staticHost=http://120.26.116.79/static | |
59 | - | |
60 | -#weixin pay | |
61 | -#是否支持信用卡支付 | |
62 | -pay.noCredit=true | |
63 | - | |
64 | - | |
65 | -#雪花算法 工作id,数据中心id | |
66 | -datacenterId=01 | |
67 | -workerId=01 | |
68 | - | |
69 | -#irain | |
70 | -irain.url=http://api.parkingwang.com:8280 | |
71 | -#irain艾润 | |
72 | -irain.appid=avakrky0gk1m7n00 | |
73 | -#irain | |
74 | -irain.appsecret=rrr6uz3aqvutpsq2lsna0k18cea4mabw | |
75 | -#irain aes | |
76 | -irain.aes=avakrky0gk1m7n00 | |
77 | -irain.park_code=734861a1e8656ffa51bdd90829941ca9 | |
78 | - |
src/main/webapp/WEB-INF/pages/check.html
... | ... | @@ -70,7 +70,6 @@ |
70 | 70 | <div class="weui-cells weui-cells_form"> |
71 | 71 | <input type="hidden" id="carNumPre" value="${carNum!''}"/> |
72 | 72 | <input type="hidden" id="parkOrderId"/> |
73 | - <input type="hidden" id="payOrderId"> | |
74 | 73 | <div class="weui-cell"> |
75 | 74 | <div class="weui-cell__hd"><label for="" class="weui-label">当前车牌</label></div> |
76 | 75 | <div class="weui-cell__bd" id="carNumber"> |
... | ... | @@ -177,7 +176,6 @@ |
177 | 176 | flg = false; |
178 | 177 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); |
179 | 178 | var parkOrderId = $('#parkOrderId').val(); |
180 | - var payOrderId = $('#payOrderId').val(); | |
181 | 179 | if (parkOrderId.length < 1) { |
182 | 180 | $.toptip("订单Id为空", 2000, "error"); |
183 | 181 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); |
... | ... | @@ -185,8 +183,7 @@ |
185 | 183 | return false; |
186 | 184 | } |
187 | 185 | var req = { |
188 | - orderId: parkOrderId, | |
189 | - payOrderId:payOrderId | |
186 | + orderId: parkOrderId | |
190 | 187 | } |
191 | 188 | |
192 | 189 | $.ajax({ |
... | ... | @@ -212,12 +209,12 @@ |
212 | 209 | function jsApiCall(payParam) { |
213 | 210 | WeixinJSBridge.invoke( |
214 | 211 | 'getBrandWCPayRequest', |
215 | - payParam, | |
212 | + JSON.parse(payParam), | |
216 | 213 | function (res) { |
217 | 214 | if (res.err_msg == "get_brand_wcpay_request:ok") { |
218 | - $.alert("亲!支付成功!"); | |
215 | + //$.alert("亲!支付成功!"); | |
219 | 216 | //支付成功 |
220 | - windows.location.href = mUrl.paySuccessView + '&payMoney=' + totleMoney; | |
217 | + window.location.href = mUrl.paySuccessView + '&payMoney=' + totleMoney; | |
221 | 218 | |
222 | 219 | } else { |
223 | 220 | //支付失败 | ... | ... |
src/main/webapp/WEB-INF/pages/pay.html
... | ... | @@ -51,7 +51,6 @@ |
51 | 51 | |
52 | 52 | <body ontouchstart> |
53 | 53 | <input type="hidden" id="parkOrderId" value="${parkOrderId!''}"/> |
54 | -<input type="hidden" id="payOrderId" value="${payOrderId!''}"/> | |
55 | 54 | <div class="weui-panel__bd card-top"> |
56 | 55 | <input type="hidden" id="orderId" value=""/> |
57 | 56 | <div class="weui-media-box weui-media-box_text weui-media-box-border card-park"> |
... | ... | @@ -182,7 +181,6 @@ |
182 | 181 | flg = false; |
183 | 182 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); |
184 | 183 | var parkOrderId = $('#parkOrderId').val(); |
185 | - var payOrderId = $('#payOrderId').val(); | |
186 | 184 | if (parkOrderId.length < 1) { |
187 | 185 | $.toptip("亲!订单Id为空", 2000, "error"); |
188 | 186 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); |
... | ... | @@ -190,8 +188,7 @@ |
190 | 188 | return false; |
191 | 189 | } |
192 | 190 | var req = { |
193 | - orderId: parkOrderId, | |
194 | - payOrderId:payOrderId | |
191 | + orderId: parkOrderId | |
195 | 192 | } |
196 | 193 | |
197 | 194 | $.ajax({ |
... | ... | @@ -226,13 +223,14 @@ |
226 | 223 | if (res.err_msg == "get_brand_wcpay_request:ok") { |
227 | 224 | //$.alert("亲!支付成功!"); |
228 | 225 | //支付成功 |
229 | - windows.location.href = mUrl.paySuccessView + '&payMoney=' + totleMoney; | |
226 | + window.location.href = mUrl.paySuccessView + '&payMoney=' + totleMoney; | |
230 | 227 | |
231 | 228 | } else { |
232 | 229 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); |
233 | 230 | flg = true; |
234 | 231 | //支付失败 |
235 | - $.alert('亲!支付失败了 '+JSON.stringify(res)); | |
232 | + $.alert('亲!支付失败了!'); | |
233 | + //$.alert('亲!支付失败了 '+JSON.stringify(res)); | |
236 | 234 | //windows.location.href='${host}/pay/payFail'; |
237 | 235 | |
238 | 236 | } | ... | ... |
src/main/webapp/WEB-INF/pages/paysuccess.html
... | ... | @@ -28,7 +28,7 @@ |
28 | 28 | </div> |
29 | 29 | <div class="weui-msg__opr-area"> |
30 | 30 | <p class="weui-btn-area"> |
31 | - <a href="javascript:;" class="weui-btn weui-btn_primary">支付完成</a> | |
31 | + <a href="javascript:;" class="weui-btn weui-btn_primary" id="payfinish">支付完成</a> | |
32 | 32 | </p> |
33 | 33 | </div> |
34 | 34 | |
... | ... | @@ -37,7 +37,20 @@ |
37 | 37 | |
38 | 38 | <script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script> |
39 | 39 | <script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script> |
40 | - | |
40 | +<script src="${staticHost}/js/jsutil.js"></script> | |
41 | +<script src="${staticHost}/js/url.js"></script> | |
42 | +<script type="text/javascript"> | |
43 | + var func ={ | |
44 | + payfinish:function(){ | |
45 | + $(document).on('click','#payfinish',function(){ | |
46 | + window.location.href = mUrl.toParkInfoListView; | |
47 | + }); | |
48 | + } | |
49 | + }; | |
50 | + $(function(){ | |
51 | + func.payfinish(); | |
52 | + }); | |
53 | +</script> | |
41 | 54 | |
42 | 55 | </body> |
43 | 56 | </html> | ... | ... |