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,24 +267,8 @@ public class WeixinPayController extends Controller { | ||
267 | public void orderPayView() { | 267 | public void orderPayView() { |
268 | //订单id | 268 | //订单id |
269 | String parkOrderId = this.getPara("parkOrderId"); | 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 | render("pay.html"); | 272 | render("pay.html"); |
289 | } | 273 | } |
290 | 274 | ||
@@ -469,8 +453,26 @@ public class WeixinPayController extends Controller { | @@ -469,8 +453,26 @@ public class WeixinPayController extends Controller { | ||
469 | BizResult<String> bizResult = new BizResult<>(); | 453 | BizResult<String> bizResult = new BizResult<>(); |
470 | String orderId = getPara("orderId"); | 454 | String orderId = getPara("orderId"); |
471 | String openId = getPara("openId"); | 455 | String openId = getPara("openId"); |
472 | - String payOrderId = getPara("payOrderId"); | 456 | + String payOrderId = SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PAY_WXGZH.value()); |
473 | logger.info("开始获取公众号支付JS支付参数: orderId=" + orderId + "; openId=" + openId + "; payOrderId=" + payOrderId); | 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 | //订单ID | 476 | //订单ID |
475 | if (StringKit.isEmpty(orderId)) { | 477 | if (StringKit.isEmpty(orderId)) { |
476 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); | 478 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); |
@@ -486,24 +488,7 @@ public class WeixinPayController extends Controller { | @@ -486,24 +488,7 @@ public class WeixinPayController extends Controller { | ||
486 | return; | 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 | Order order = Order.dao.findFirst("select * from td_b_order t where t.order_id = ?", orderId); | 493 | Order order = Order.dao.findFirst("select * from td_b_order t where t.order_id = ?", orderId); |
509 | if (null == order) { | 494 | if (null == order) { |
@@ -680,7 +665,7 @@ public class WeixinPayController extends Controller { | @@ -680,7 +665,7 @@ public class WeixinPayController extends Controller { | ||
680 | payOrderFlow.setPayOrderId(payOrderId); | 665 | payOrderFlow.setPayOrderId(payOrderId); |
681 | payOrderFlow.setTradeNo(transId); | 666 | payOrderFlow.setTradeNo(transId); |
682 | //传回的金额以 分 为单位,转换为double,然后转换为 BigDecimal类型 | 667 | //传回的金额以 分 为单位,转换为double,然后转换为 BigDecimal类型 |
683 | - payOrderFlow.setBuyerPayAmount(new BigDecimal(new Double(totalFee) / 100)); | 668 | + payOrderFlow.setBuyerPayAmount(new BigDecimal(new Double(totalFee))); |
684 | //付款时间 | 669 | //付款时间 |
685 | payOrderFlow.setGmtPayment(new Date()); | 670 | payOrderFlow.setGmtPayment(new Date()); |
686 | //处理环节 | 671 | //处理环节 |
src/main/java/com/rnt/service/IRainQueryService.java
@@ -73,4 +73,25 @@ public class IRainQueryService { | @@ -73,4 +73,25 @@ public class IRainQueryService { | ||
73 | 73 | ||
74 | return JSONObject.toJSON(rs)+""; | 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,6 +25,8 @@ zf.druid.url=jdbc:mysql://10.117.185.28:3306/zt_order?useUnicode=true&characterE | ||
25 | zf.druid.username=order | 25 | zf.druid.username=order |
26 | zf.druid.password=MySQL5.7;123 | 26 | zf.druid.password=MySQL5.7;123 |
27 | 27 | ||
28 | + | ||
29 | + | ||
28 | zf.druid.initialSize=1 | 30 | zf.druid.initialSize=1 |
29 | zf.druid.minIdle=1 | 31 | zf.druid.minIdle=1 |
30 | zf.druid.maxActive=20 | 32 | zf.druid.maxActive=20 |
@@ -40,7 +42,7 @@ zf.druid.testOnWhileIdle=true | @@ -40,7 +42,7 @@ zf.druid.testOnWhileIdle=true | ||
40 | #Redis config | 42 | #Redis config |
41 | redis.host=127.0.0.1 | 43 | redis.host=127.0.0.1 |
42 | redis.port=6379 | 44 | redis.port=6379 |
43 | -#redis.password=redis_63790 | 45 | +redis.password=myredis |
44 | 46 | ||
45 | 47 | ||
46 | # 微信服务器回调所用的 token | 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,7 +70,6 @@ | ||
70 | <div class="weui-cells weui-cells_form"> | 70 | <div class="weui-cells weui-cells_form"> |
71 | <input type="hidden" id="carNumPre" value="${carNum!''}"/> | 71 | <input type="hidden" id="carNumPre" value="${carNum!''}"/> |
72 | <input type="hidden" id="parkOrderId"/> | 72 | <input type="hidden" id="parkOrderId"/> |
73 | - <input type="hidden" id="payOrderId"> | ||
74 | <div class="weui-cell"> | 73 | <div class="weui-cell"> |
75 | <div class="weui-cell__hd"><label for="" class="weui-label">当前车牌</label></div> | 74 | <div class="weui-cell__hd"><label for="" class="weui-label">当前车牌</label></div> |
76 | <div class="weui-cell__bd" id="carNumber"> | 75 | <div class="weui-cell__bd" id="carNumber"> |
@@ -177,7 +176,6 @@ | @@ -177,7 +176,6 @@ | ||
177 | flg = false; | 176 | flg = false; |
178 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); | 177 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); |
179 | var parkOrderId = $('#parkOrderId').val(); | 178 | var parkOrderId = $('#parkOrderId').val(); |
180 | - var payOrderId = $('#payOrderId').val(); | ||
181 | if (parkOrderId.length < 1) { | 179 | if (parkOrderId.length < 1) { |
182 | $.toptip("订单Id为空", 2000, "error"); | 180 | $.toptip("订单Id为空", 2000, "error"); |
183 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); | 181 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); |
@@ -185,8 +183,7 @@ | @@ -185,8 +183,7 @@ | ||
185 | return false; | 183 | return false; |
186 | } | 184 | } |
187 | var req = { | 185 | var req = { |
188 | - orderId: parkOrderId, | ||
189 | - payOrderId:payOrderId | 186 | + orderId: parkOrderId |
190 | } | 187 | } |
191 | 188 | ||
192 | $.ajax({ | 189 | $.ajax({ |
@@ -212,12 +209,12 @@ | @@ -212,12 +209,12 @@ | ||
212 | function jsApiCall(payParam) { | 209 | function jsApiCall(payParam) { |
213 | WeixinJSBridge.invoke( | 210 | WeixinJSBridge.invoke( |
214 | 'getBrandWCPayRequest', | 211 | 'getBrandWCPayRequest', |
215 | - payParam, | 212 | + JSON.parse(payParam), |
216 | function (res) { | 213 | function (res) { |
217 | if (res.err_msg == "get_brand_wcpay_request:ok") { | 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 | } else { | 219 | } else { |
223 | //支付失败 | 220 | //支付失败 |
src/main/webapp/WEB-INF/pages/pay.html
@@ -51,7 +51,6 @@ | @@ -51,7 +51,6 @@ | ||
51 | 51 | ||
52 | <body ontouchstart> | 52 | <body ontouchstart> |
53 | <input type="hidden" id="parkOrderId" value="${parkOrderId!''}"/> | 53 | <input type="hidden" id="parkOrderId" value="${parkOrderId!''}"/> |
54 | -<input type="hidden" id="payOrderId" value="${payOrderId!''}"/> | ||
55 | <div class="weui-panel__bd card-top"> | 54 | <div class="weui-panel__bd card-top"> |
56 | <input type="hidden" id="orderId" value=""/> | 55 | <input type="hidden" id="orderId" value=""/> |
57 | <div class="weui-media-box weui-media-box_text weui-media-box-border card-park"> | 56 | <div class="weui-media-box weui-media-box_text weui-media-box-border card-park"> |
@@ -182,7 +181,6 @@ | @@ -182,7 +181,6 @@ | ||
182 | flg = false; | 181 | flg = false; |
183 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); | 182 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); |
184 | var parkOrderId = $('#parkOrderId').val(); | 183 | var parkOrderId = $('#parkOrderId').val(); |
185 | - var payOrderId = $('#payOrderId').val(); | ||
186 | if (parkOrderId.length < 1) { | 184 | if (parkOrderId.length < 1) { |
187 | $.toptip("亲!订单Id为空", 2000, "error"); | 185 | $.toptip("亲!订单Id为空", 2000, "error"); |
188 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); | 186 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); |
@@ -190,8 +188,7 @@ | @@ -190,8 +188,7 @@ | ||
190 | return false; | 188 | return false; |
191 | } | 189 | } |
192 | var req = { | 190 | var req = { |
193 | - orderId: parkOrderId, | ||
194 | - payOrderId:payOrderId | 191 | + orderId: parkOrderId |
195 | } | 192 | } |
196 | 193 | ||
197 | $.ajax({ | 194 | $.ajax({ |
@@ -226,13 +223,14 @@ | @@ -226,13 +223,14 @@ | ||
226 | if (res.err_msg == "get_brand_wcpay_request:ok") { | 223 | if (res.err_msg == "get_brand_wcpay_request:ok") { |
227 | //$.alert("亲!支付成功!"); | 224 | //$.alert("亲!支付成功!"); |
228 | //支付成功 | 225 | //支付成功 |
229 | - windows.location.href = mUrl.paySuccessView + '&payMoney=' + totleMoney; | 226 | + window.location.href = mUrl.paySuccessView + '&payMoney=' + totleMoney; |
230 | 227 | ||
231 | } else { | 228 | } else { |
232 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); | 229 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); |
233 | flg = true; | 230 | flg = true; |
234 | //支付失败 | 231 | //支付失败 |
235 | - $.alert('亲!支付失败了 '+JSON.stringify(res)); | 232 | + $.alert('亲!支付失败了!'); |
233 | + //$.alert('亲!支付失败了 '+JSON.stringify(res)); | ||
236 | //windows.location.href='${host}/pay/payFail'; | 234 | //windows.location.href='${host}/pay/payFail'; |
237 | 235 | ||
238 | } | 236 | } |
src/main/webapp/WEB-INF/pages/paysuccess.html
@@ -28,7 +28,7 @@ | @@ -28,7 +28,7 @@ | ||
28 | </div> | 28 | </div> |
29 | <div class="weui-msg__opr-area"> | 29 | <div class="weui-msg__opr-area"> |
30 | <p class="weui-btn-area"> | 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 | </p> | 32 | </p> |
33 | </div> | 33 | </div> |
34 | 34 | ||
@@ -37,7 +37,20 @@ | @@ -37,7 +37,20 @@ | ||
37 | 37 | ||
38 | <script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script> | 38 | <script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script> |
39 | <script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script> | 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 | </body> | 55 | </body> |
43 | </html> | 56 | </html> |