Commit 6fc5291da18b686f5381d5abec3ffa156fa29b5f
1 parent
a7d9b350
提交代码
Showing
5 changed files
with
221 additions
and
419 deletions
LICENSE deleted
1 | -Apache License | ||
2 | -Version 2.0, January 2004 | ||
3 | -http://www.apache.org/licenses/ | ||
4 | - | ||
5 | -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||
6 | - | ||
7 | -1. Definitions. | ||
8 | - | ||
9 | -"License" shall mean the terms and conditions for use, reproduction, and | ||
10 | -distribution as defined by Sections 1 through 9 of this document. | ||
11 | - | ||
12 | -"Licensor" shall mean the copyright owner or entity authorized by the copyright | ||
13 | -owner that is granting the License. | ||
14 | - | ||
15 | -"Legal Entity" shall mean the union of the acting entity and all other entities | ||
16 | -that control, are controlled by, or are under common control with that entity. | ||
17 | -For the purposes of this definition, "control" means (i) the power, direct or | ||
18 | -indirect, to cause the direction or management of such entity, whether by | ||
19 | -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||
20 | -outstanding shares, or (iii) beneficial ownership of such entity. | ||
21 | - | ||
22 | -"You" (or "Your") shall mean an individual or Legal Entity exercising | ||
23 | -permissions granted by this License. | ||
24 | - | ||
25 | -"Source" form shall mean the preferred form for making modifications, including | ||
26 | -but not limited to software source code, documentation source, and configuration | ||
27 | -files. | ||
28 | - | ||
29 | -"Object" form shall mean any form resulting from mechanical transformation or | ||
30 | -translation of a Source form, including but not limited to compiled object code, | ||
31 | -generated documentation, and conversions to other media types. | ||
32 | - | ||
33 | -"Work" shall mean the work of authorship, whether in Source or Object form, made | ||
34 | -available under the License, as indicated by a copyright notice that is included | ||
35 | -in or attached to the work (an example is provided in the Appendix below). | ||
36 | - | ||
37 | -"Derivative Works" shall mean any work, whether in Source or Object form, that | ||
38 | -is based on (or derived from) the Work and for which the editorial revisions, | ||
39 | -annotations, elaborations, or other modifications represent, as a whole, an | ||
40 | -original work of authorship. For the purposes of this License, Derivative Works | ||
41 | -shall not include works that remain separable from, or merely link (or bind by | ||
42 | -name) to the interfaces of, the Work and Derivative Works thereof. | ||
43 | - | ||
44 | -"Contribution" shall mean any work of authorship, including the original version | ||
45 | -of the Work and any modifications or additions to that Work or Derivative Works | ||
46 | -thereof, that is intentionally submitted to Licensor for inclusion in the Work | ||
47 | -by the copyright owner or by an individual or Legal Entity authorized to submit | ||
48 | -on behalf of the copyright owner. For the purposes of this definition, | ||
49 | -"submitted" means any form of electronic, verbal, or written communication sent | ||
50 | -to the Licensor or its representatives, including but not limited to | ||
51 | -communication on electronic mailing lists, source code control systems, and | ||
52 | -issue tracking systems that are managed by, or on behalf of, the Licensor for | ||
53 | -the purpose of discussing and improving the Work, but excluding communication | ||
54 | -that is conspicuously marked or otherwise designated in writing by the copyright | ||
55 | -owner as "Not a Contribution." | ||
56 | - | ||
57 | -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf | ||
58 | -of whom a Contribution has been received by Licensor and subsequently | ||
59 | -incorporated within the Work. | ||
60 | - | ||
61 | -2. Grant of Copyright License. | ||
62 | - | ||
63 | -Subject to the terms and conditions of this License, each Contributor hereby | ||
64 | -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, | ||
65 | -irrevocable copyright license to reproduce, prepare Derivative Works of, | ||
66 | -publicly display, publicly perform, sublicense, and distribute the Work and such | ||
67 | -Derivative Works in Source or Object form. | ||
68 | - | ||
69 | -3. Grant of Patent License. | ||
70 | - | ||
71 | -Subject to the terms and conditions of this License, each Contributor hereby | ||
72 | -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, | ||
73 | -irrevocable (except as stated in this section) patent license to make, have | ||
74 | -made, use, offer to sell, sell, import, and otherwise transfer the Work, where | ||
75 | -such license applies only to those patent claims licensable by such Contributor | ||
76 | -that are necessarily infringed by their Contribution(s) alone or by combination | ||
77 | -of their Contribution(s) with the Work to which such Contribution(s) was | ||
78 | -submitted. If You institute patent litigation against any entity (including a | ||
79 | -cross-claim or counterclaim in a lawsuit) alleging that the Work or a | ||
80 | -Contribution incorporated within the Work constitutes direct or contributory | ||
81 | -patent infringement, then any patent licenses granted to You under this License | ||
82 | -for that Work shall terminate as of the date such litigation is filed. | ||
83 | - | ||
84 | -4. Redistribution. | ||
85 | - | ||
86 | -You may reproduce and distribute copies of the Work or Derivative Works thereof | ||
87 | -in any medium, with or without modifications, and in Source or Object form, | ||
88 | -provided that You meet the following conditions: | ||
89 | - | ||
90 | -You must give any other recipients of the Work or Derivative Works a copy of | ||
91 | -this License; and | ||
92 | -You must cause any modified files to carry prominent notices stating that You | ||
93 | -changed the files; and | ||
94 | -You must retain, in the Source form of any Derivative Works that You distribute, | ||
95 | -all copyright, patent, trademark, and attribution notices from the Source form | ||
96 | -of the Work, excluding those notices that do not pertain to any part of the | ||
97 | -Derivative Works; and | ||
98 | -If the Work includes a "NOTICE" text file as part of its distribution, then any | ||
99 | -Derivative Works that You distribute must include a readable copy of the | ||
100 | -attribution notices contained within such NOTICE file, excluding those notices | ||
101 | -that do not pertain to any part of the Derivative Works, in at least one of the | ||
102 | -following places: within a NOTICE text file distributed as part of the | ||
103 | -Derivative Works; within the Source form or documentation, if provided along | ||
104 | -with the Derivative Works; or, within a display generated by the Derivative | ||
105 | -Works, if and wherever such third-party notices normally appear. The contents of | ||
106 | -the NOTICE file are for informational purposes only and do not modify the | ||
107 | -License. You may add Your own attribution notices within Derivative Works that | ||
108 | -You distribute, alongside or as an addendum to the NOTICE text from the Work, | ||
109 | -provided that such additional attribution notices cannot be construed as | ||
110 | -modifying the License. | ||
111 | -You may add Your own copyright statement to Your modifications and may provide | ||
112 | -additional or different license terms and conditions for use, reproduction, or | ||
113 | -distribution of Your modifications, or for any such Derivative Works as a whole, | ||
114 | -provided Your use, reproduction, and distribution of the Work otherwise complies | ||
115 | -with the conditions stated in this License. | ||
116 | - | ||
117 | -5. Submission of Contributions. | ||
118 | - | ||
119 | -Unless You explicitly state otherwise, any Contribution intentionally submitted | ||
120 | -for inclusion in the Work by You to the Licensor shall be under the terms and | ||
121 | -conditions of this License, without any additional terms or conditions. | ||
122 | -Notwithstanding the above, nothing herein shall supersede or modify the terms of | ||
123 | -any separate license agreement you may have executed with Licensor regarding | ||
124 | -such Contributions. | ||
125 | - | ||
126 | -6. Trademarks. | ||
127 | - | ||
128 | -This License does not grant permission to use the trade names, trademarks, | ||
129 | -service marks, or product names of the Licensor, except as required for | ||
130 | -reasonable and customary use in describing the origin of the Work and | ||
131 | -reproducing the content of the NOTICE file. | ||
132 | - | ||
133 | -7. Disclaimer of Warranty. | ||
134 | - | ||
135 | -Unless required by applicable law or agreed to in writing, Licensor provides the | ||
136 | -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, | ||
137 | -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, | ||
138 | -including, without limitation, any warranties or conditions of TITLE, | ||
139 | -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are | ||
140 | -solely responsible for determining the appropriateness of using or | ||
141 | -redistributing the Work and assume any risks associated with Your exercise of | ||
142 | -permissions under this License. | ||
143 | - | ||
144 | -8. Limitation of Liability. | ||
145 | - | ||
146 | -In no event and under no legal theory, whether in tort (including negligence), | ||
147 | -contract, or otherwise, unless required by applicable law (such as deliberate | ||
148 | -and grossly negligent acts) or agreed to in writing, shall any Contributor be | ||
149 | -liable to You for damages, including any direct, indirect, special, incidental, | ||
150 | -or consequential damages of any character arising as a result of this License or | ||
151 | -out of the use or inability to use the Work (including but not limited to | ||
152 | -damages for loss of goodwill, work stoppage, computer failure or malfunction, or | ||
153 | -any and all other commercial damages or losses), even if such Contributor has | ||
154 | -been advised of the possibility of such damages. | ||
155 | - | ||
156 | -9. Accepting Warranty or Additional Liability. | ||
157 | - | ||
158 | -While redistributing the Work or Derivative Works thereof, You may choose to | ||
159 | -offer, and charge a fee for, acceptance of support, warranty, indemnity, or | ||
160 | -other liability obligations and/or rights consistent with this License. However, | ||
161 | -in accepting such obligations, You may act only on Your own behalf and on Your | ||
162 | -sole responsibility, not on behalf of any other Contributor, and only if You | ||
163 | -agree to indemnify, defend, and hold each Contributor harmless for any liability | ||
164 | -incurred by, or claims asserted against, such Contributor by reason of your | ||
165 | -accepting any such warranty or additional liability. | ||
166 | - | ||
167 | -END OF TERMS AND CONDITIONS | ||
168 | - | ||
169 | -APPENDIX: How to apply the Apache License to your work | ||
170 | - | ||
171 | -To apply the Apache License to your work, attach the following boilerplate | ||
172 | -notice, with the fields enclosed by brackets "{}" replaced with your own | ||
173 | -identifying information. (Don't include the brackets!) The text should be | ||
174 | -enclosed in the appropriate comment syntax for the file format. We also | ||
175 | -recommend that a file or class name and description of purpose be included on | ||
176 | -the same "printed page" as the copyright notice for easier identification within | ||
177 | -third-party archives. | ||
178 | - | ||
179 | - Copyright 2014 JFinal | ||
180 | - | ||
181 | - Licensed under the Apache License, Version 2.0 (the "License"); | ||
182 | - you may not use this file except in compliance with the License. | ||
183 | - You may obtain a copy of the License at | ||
184 | - | ||
185 | - http://www.apache.org/licenses/LICENSE-2.0 | ||
186 | - | ||
187 | - Unless required by applicable law or agreed to in writing, software | ||
188 | - distributed under the License is distributed on an "AS IS" BASIS, | ||
189 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
190 | - See the License for the specific language governing permissions and | ||
191 | - limitations under the License. | ||
192 | \ No newline at end of file | 0 | \ No newline at end of file |
jfinal-weixin.iml deleted
1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
2 | -<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||
3 | - <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6"> | ||
4 | - <output url="file://$MODULE_DIR$/target/classes" /> | ||
5 | - <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||
6 | - <content url="file://$MODULE_DIR$"> | ||
7 | - <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||
8 | - <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||
9 | - <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | ||
10 | - <excludeFolder url="file://$MODULE_DIR$/target" /> | ||
11 | - </content> | ||
12 | - <orderEntry type="inheritedJdk" /> | ||
13 | - <orderEntry type="sourceFolder" forTests="false" /> | ||
14 | - <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.8.2" level="project" /> | ||
15 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.jfinal:jetty-server:8.1.8" level="project" /> | ||
16 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-xml:8.1.8.v20121106" level="project" /> | ||
17 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-util:8.1.8.v20121106" level="project" /> | ||
18 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-servlet:8.1.8.v20121106" level="project" /> | ||
19 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-security:8.1.8.v20121106" level="project" /> | ||
20 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-server:8.1.8.v20121106" level="project" /> | ||
21 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016" level="project" /> | ||
22 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-continuation:8.1.8.v20121106" level="project" /> | ||
23 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-http:8.1.8.v20121106" level="project" /> | ||
24 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jetty:jetty-io:8.1.8.v20121106" level="project" /> | ||
25 | - <orderEntry type="library" name="Maven: com.jfinal:jfinal:3.1" level="project" /> | ||
26 | - <orderEntry type="library" name="Maven: cglib:cglib-nodep:3.1" level="project" /> | ||
27 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.4.3" level="project" /> | ||
28 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.4.0" level="project" /> | ||
29 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.fasterxml.jackson.core:jackson-core:2.4.3" level="project" /> | ||
30 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.alibaba:fastjson:1.2.31" level="project" /> | ||
31 | - <orderEntry type="library" scope="PROVIDED" name="Maven: redis.clients:jedis:2.7.2" level="project" /> | ||
32 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.commons:commons-pool2:2.3" level="project" /> | ||
33 | - <orderEntry type="library" scope="PROVIDED" name="Maven: de.ruedigermoeller:fst:2.29" level="project" /> | ||
34 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.javassist:javassist:3.19.0-GA" level="project" /> | ||
35 | - <orderEntry type="library" scope="PROVIDED" name="Maven: org.objenesis:objenesis:2.1" level="project" /> | ||
36 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.squareup.okhttp:okhttp:2.7.5" level="project" /> | ||
37 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.squareup.okhttp3:okhttp:3.6.0" level="project" /> | ||
38 | - <orderEntry type="library" scope="PROVIDED" name="Maven: com.squareup.okio:okio:1.11.0" level="project" /> | ||
39 | - </component> | ||
40 | -</module> | ||
41 | \ No newline at end of file | 0 | \ No newline at end of file |
src/main/java/com/rnt/controller/WeixinPayController.java
@@ -138,7 +138,7 @@ public class WeixinPayController extends Controller { | @@ -138,7 +138,7 @@ public class WeixinPayController extends Controller { | ||
138 | 138 | ||
139 | CardBuyVO vo = new CardBuyVO(); | 139 | CardBuyVO vo = new CardBuyVO(); |
140 | /** 停车场卡券id. */ | 140 | /** 停车场卡券id. */ |
141 | - vo.setPersonCardId(cardCouponsId+""); | 141 | + vo.setPersonCardId(cardCouponsId + ""); |
142 | //购买数量 | 142 | //购买数量 |
143 | vo.setBuyNum(num + ""); | 143 | vo.setBuyNum(num + ""); |
144 | //车牌号. | 144 | //车牌号. |
@@ -392,13 +392,13 @@ public class WeixinPayController extends Controller { | @@ -392,13 +392,13 @@ public class WeixinPayController extends Controller { | ||
392 | logger.info("--计算结束时间=" + cardBuyVO.getEndDate()); | 392 | logger.info("--计算结束时间=" + cardBuyVO.getEndDate()); |
393 | } | 393 | } |
394 | /**创建个人卡信息.*/ | 394 | /**创建个人卡信息.*/ |
395 | - String personCardId = personCardCouponsService.savePersonCard(cardBuyVO, parkCardCoupons); | ||
396 | - cardBuyVO.setPersonCardId(personCardId); | 395 | + String personCardId = personCardCouponsService.savePersonCard(cardBuyVO, parkCardCoupons); |
396 | + cardBuyVO.setPersonCardId(personCardId); | ||
397 | //2.创建订单 | 397 | //2.创建订单 |
398 | /**插入停车订单.*/ | 398 | /**插入停车订单.*/ |
399 | String orderId = cardOrderService.saveOrder(cardBuyVO, parkCardCoupons); | 399 | String orderId = cardOrderService.saveOrder(cardBuyVO, parkCardCoupons); |
400 | if (StringKit.isNotBlank(orderId)) { | 400 | if (StringKit.isNotBlank(orderId)) { |
401 | - result.setData(orderId); | 401 | + result.setData(orderId); |
402 | } else { | 402 | } else { |
403 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | 403 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); |
404 | } | 404 | } |
@@ -468,7 +468,7 @@ public class WeixinPayController extends Controller { | @@ -468,7 +468,7 @@ public class WeixinPayController extends Controller { | ||
468 | String orderId = getPara("orderId"); | 468 | String orderId = getPara("orderId"); |
469 | String openId = getPara("openId"); | 469 | String openId = getPara("openId"); |
470 | String payOrderId = getPara("payOrderId"); | 470 | String payOrderId = getPara("payOrderId"); |
471 | - logger.info("开始获取公众号支付JS支付参数: orderId=" + orderId + "; openId=" + openId+"; payOrderId="+payOrderId); | 471 | + logger.info("开始获取公众号支付JS支付参数: orderId=" + orderId + "; openId=" + openId + "; payOrderId=" + payOrderId); |
472 | //订单ID | 472 | //订单ID |
473 | if (StringKit.isEmpty(orderId)) { | 473 | if (StringKit.isEmpty(orderId)) { |
474 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); | 474 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); |
@@ -477,23 +477,23 @@ public class WeixinPayController extends Controller { | @@ -477,23 +477,23 @@ public class WeixinPayController extends Controller { | ||
477 | return; | 477 | return; |
478 | } | 478 | } |
479 | 479 | ||
480 | - if(StringKit.isEmpty(payOrderId)){ | 480 | + if (StringKit.isEmpty(payOrderId)) { |
481 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); | 481 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); |
482 | bizResult.setMsg("支付单ID不能为空"); | 482 | bizResult.setMsg("支付单ID不能为空"); |
483 | renderJson(bizResult); | 483 | renderJson(bizResult); |
484 | return; | 484 | return; |
485 | } | 485 | } |
486 | 486 | ||
487 | - PayOrder payOrder = PayOrder.dao.findFirst("select * from td_b_pay_order t where t.pay_order_id = ?",payOrderId); | 487 | + PayOrder payOrder = PayOrder.dao.findFirst("select * from td_b_pay_order t where t.pay_order_id = ?", |
488 | + payOrderId); | ||
488 | 489 | ||
489 | - if(null == payOrder){ | 490 | + if (null == payOrder) { |
490 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); | 491 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); |
491 | bizResult.setMsg("支付单不存在"); | 492 | bizResult.setMsg("支付单不存在"); |
492 | renderJson(bizResult); | 493 | renderJson(bizResult); |
493 | return; | 494 | return; |
494 | } | 495 | } |
495 | 496 | ||
496 | - | ||
497 | // 判断支付单状态 支付单状态:0-待支付 1-成功 2-失败(作废) | 497 | // 判断支付单状态 支付单状态:0-待支付 1-成功 2-失败(作废) |
498 | if (null == payOrder.getPayOrderState() || 0 != payOrder.getPayOrderState()) { | 498 | if (null == payOrder.getPayOrderState() || 0 != payOrder.getPayOrderState()) { |
499 | logger.info("支付单状态不正确,支付单状态为: orderState=" + payOrder.getPayOrderState()); | 499 | logger.info("支付单状态不正确,支付单状态为: orderState=" + payOrder.getPayOrderState()); |
@@ -503,7 +503,6 @@ public class WeixinPayController extends Controller { | @@ -503,7 +503,6 @@ public class WeixinPayController extends Controller { | ||
503 | return; | 503 | return; |
504 | } | 504 | } |
505 | 505 | ||
506 | - | ||
507 | Order order = Order.dao.findFirst("select * from td_b_order t where t.order_id = ?", orderId); | 506 | Order order = Order.dao.findFirst("select * from td_b_order t where t.order_id = ?", orderId); |
508 | if (null == order) { | 507 | if (null == order) { |
509 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); | 508 | bizResult.setCode(ErrorType.PARAMM_NULL.getCode()); |
@@ -528,7 +527,7 @@ public class WeixinPayController extends Controller { | @@ -528,7 +527,7 @@ public class WeixinPayController extends Controller { | ||
528 | params.put("body", "任你停公众号订单支付"); | 527 | params.put("body", "任你停公众号订单支付"); |
529 | params.put("out_trade_no", payOrderId); | 528 | params.put("out_trade_no", payOrderId); |
530 | //支付金额 | 529 | //支付金额 |
531 | - params.put("total_fee", payFee.longValue()+""); | 530 | + params.put("total_fee", payFee.longValue() + ""); |
532 | 531 | ||
533 | String ip = IpKit.getRealIp(getRequest()); | 532 | String ip = IpKit.getRealIp(getRequest()); |
534 | if (StrKit.isBlank(ip)) { | 533 | if (StrKit.isBlank(ip)) { |
@@ -577,9 +576,9 @@ public class WeixinPayController extends Controller { | @@ -577,9 +576,9 @@ public class WeixinPayController extends Controller { | ||
577 | packageParams.put("nonceStr", System.currentTimeMillis() + ""); | 576 | packageParams.put("nonceStr", System.currentTimeMillis() + ""); |
578 | packageParams.put("package", "prepay_id=" + prepay_id); | 577 | packageParams.put("package", "prepay_id=" + prepay_id); |
579 | packageParams.put("signType", "MD5"); | 578 | packageParams.put("signType", "MD5"); |
580 | - logger.info("生成签名钱的字符串为: params="+packageParams.toString()); | 579 | + logger.info("生成签名钱的字符串为: params=" + packageParams.toString()); |
581 | String packageSign = PaymentKit.createSign(packageParams, paternerKey); | 580 | String packageSign = PaymentKit.createSign(packageParams, paternerKey); |
582 | - logger.info("获取到的密钥为: paternerKey="+paternerKey); | 581 | + logger.info("获取到的密钥为: paternerKey=" + paternerKey); |
583 | packageParams.put("paySign", packageSign); | 582 | packageParams.put("paySign", packageSign); |
584 | //生成js 支付调用串 | 583 | //生成js 支付调用串 |
585 | String paySign = JsonUtils.toJson(packageParams); | 584 | String paySign = JsonUtils.toJson(packageParams); |
@@ -589,7 +588,6 @@ public class WeixinPayController extends Controller { | @@ -589,7 +588,6 @@ public class WeixinPayController extends Controller { | ||
589 | renderJson(bizResult); | 588 | renderJson(bizResult); |
590 | } | 589 | } |
591 | 590 | ||
592 | - | ||
593 | /** | 591 | /** |
594 | * 公众号支付js-sdk | 592 | * 公众号支付js-sdk |
595 | */ | 593 | */ |
@@ -1077,99 +1075,100 @@ public class WeixinPayController extends Controller { | @@ -1077,99 +1075,100 @@ public class WeixinPayController extends Controller { | ||
1077 | /** | 1075 | /** |
1078 | * 支付页面-入口.<br/> | 1076 | * 支付页面-入口.<br/> |
1079 | */ | 1077 | */ |
1080 | - public void selectCarView(){ | ||
1081 | - setAttr("openId",TLWXUser.getOpenId()); | ||
1082 | - setAttr("custId",TLWXUser.getCustId()); | ||
1083 | - this.render("select.html"); | 1078 | + public void selectCarView() { |
1079 | + setAttr("openId", TLWXUser.getOpenId()); | ||
1080 | + setAttr("custId", TLWXUser.getCustId()); | ||
1081 | + this.render("select.html"); | ||
1084 | } | 1082 | } |
1085 | 1083 | ||
1086 | /** | 1084 | /** |
1087 | * 查看支付单错误.<br/> | 1085 | * 查看支付单错误.<br/> |
1088 | */ | 1086 | */ |
1089 | @Clear(BindInterceptor.class) | 1087 | @Clear(BindInterceptor.class) |
1090 | - public void queryOrderCheckErrorView(){ | ||
1091 | - String carNum = this.getPara("carNum"); | ||
1092 | - this.setAttr("carNum", carNum); | ||
1093 | - this.render("checkerror.html"); | 1088 | + public void queryOrderCheckErrorView() { |
1089 | + String carNum = this.getPara("carNum"); | ||
1090 | + this.setAttr("carNum", carNum); | ||
1091 | + this.render("checkerror.html"); | ||
1094 | } | 1092 | } |
1095 | 1093 | ||
1096 | /** | 1094 | /** |
1097 | * 查询历史支付车牌号.<br/> | 1095 | * 查询历史支付车牌号.<br/> |
1098 | * 步骤:根据个人cust_id 查询历史订单中最近的3个车牌号.<br/> | 1096 | * 步骤:根据个人cust_id 查询历史订单中最近的3个车牌号.<br/> |
1099 | */ | 1097 | */ |
1100 | - public void queryHistoryCarNum(){ | 1098 | + public void queryHistoryCarNum() { |
1101 | BizResult<List<String>> result = new BizResult<List<String>>(); | 1099 | BizResult<List<String>> result = new BizResult<List<String>>(); |
1102 | OrderService orderService = Duang.duang(OrderService.class); | 1100 | OrderService orderService = Duang.duang(OrderService.class); |
1103 | - List<String> list = new ArrayList<String>(); | 1101 | + List<String> list = new ArrayList<String>(); |
1104 | String custId = this.getPara("personCustId"); | 1102 | String custId = this.getPara("personCustId"); |
1105 | - try{ | ||
1106 | - if(StringKit.isNotBlank(custId)){ | 1103 | + try { |
1104 | + if (StringKit.isNotBlank(custId)) { | ||
1107 | list = orderService.queryHistoryCarNum(custId); | 1105 | list = orderService.queryHistoryCarNum(custId); |
1108 | - }else{ | 1106 | + } else { |
1109 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | 1107 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); |
1110 | } | 1108 | } |
1111 | - }catch (Exception e) { | 1109 | + } catch (Exception e) { |
1112 | e.printStackTrace(); | 1110 | e.printStackTrace(); |
1113 | } | 1111 | } |
1114 | 1112 | ||
1115 | result.setData(list); | 1113 | result.setData(list); |
1116 | 1114 | ||
1117 | - | ||
1118 | this.renderJson(result); | 1115 | this.renderJson(result); |
1119 | } | 1116 | } |
1120 | 1117 | ||
1121 | /** | 1118 | /** |
1122 | * 根据车牌号查询待支付的停车订单.<br/> | 1119 | * 根据车牌号查询待支付的停车订单.<br/> |
1123 | */ | 1120 | */ |
1124 | - public void queryOrderInfoView(){ | 1121 | + public void queryOrderInfoView() { |
1125 | String carNum = this.getPara("carNum"); | 1122 | String carNum = this.getPara("carNum"); |
1126 | this.getRequest().setAttribute("carNum", carNum); | 1123 | this.getRequest().setAttribute("carNum", carNum); |
1127 | this.render("check.html"); | 1124 | this.render("check.html"); |
1128 | } | 1125 | } |
1126 | + | ||
1129 | /** | 1127 | /** |
1130 | * 检查输入的车牌号是否存订单(带核算/待支付/已完成).<br/> | 1128 | * 检查输入的车牌号是否存订单(带核算/待支付/已完成).<br/> |
1131 | */ | 1129 | */ |
1132 | - public void parkOrderForNotPayExist(){ | 1130 | + public void parkOrderForNotPayExist() { |
1133 | BizResult<Order> result = new BizResult<>(); | 1131 | BizResult<Order> result = new BizResult<>(); |
1134 | String carNum = this.getPara("carNum"); | 1132 | String carNum = this.getPara("carNum"); |
1135 | - logger.info("开始校验输入车牌是否存在待核算订单..入参="+carNum); | ||
1136 | - String rs =""; | 1133 | + logger.info("开始校验输入车牌是否存在待核算订单..入参=" + carNum); |
1134 | + String rs = ""; | ||
1137 | OrderVO OrderVO = new OrderVO(); | 1135 | OrderVO OrderVO = new OrderVO(); |
1138 | - try{ | ||
1139 | - if(StringKit.isNotBlank(carNum)){ | 1136 | + try { |
1137 | + if (StringKit.isNotBlank(carNum)) { | ||
1140 | OrderService orderService = Duang.duang(OrderService.class); | 1138 | OrderService orderService = Duang.duang(OrderService.class); |
1141 | IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class); | 1139 | IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class); |
1142 | /**查询待核算支付单信息.*/ | 1140 | /**查询待核算支付单信息.*/ |
1143 | Order order = orderService.findOrderByCarNum(carNum); | 1141 | Order order = orderService.findOrderByCarNum(carNum); |
1144 | - if(order != null && StringKit.isNotBlank(order.getOrderId())){ | 1142 | + if (order != null && StringKit.isNotBlank(order.getOrderId())) { |
1145 | result.setData(order); | 1143 | result.setData(order); |
1146 | /**调用艾润查询费用接口.*/ | 1144 | /**调用艾润查询费用接口.*/ |
1147 | rs = iRainQueryService.billQuery(carNum, order.getParkId()); | 1145 | rs = iRainQueryService.billQuery(carNum, order.getParkId()); |
1148 | - }else{ | 1146 | + } else { |
1149 | result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | 1147 | result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); |
1150 | } | 1148 | } |
1151 | - }else{ | 1149 | + } else { |
1152 | logger.info("入参为空!"); | 1150 | logger.info("入参为空!"); |
1153 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | 1151 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); |
1154 | } | 1152 | } |
1155 | - if(StringKit.isNotBlank(rs)){ | ||
1156 | - if("NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))){ | 1153 | + if (StringKit.isNotBlank(rs)) { |
1154 | + if ("NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))) { | ||
1157 | result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | 1155 | result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); |
1158 | this.renderJson(result); | 1156 | this.renderJson(result); |
1159 | - return ; | 1157 | + return; |
1160 | } | 1158 | } |
1161 | - }else{ | 1159 | + } else { |
1162 | result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | 1160 | result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); |
1163 | this.renderJson(result); | 1161 | this.renderJson(result); |
1164 | - return ; | 1162 | + return; |
1165 | } | 1163 | } |
1166 | - }catch(Exception e){ | 1164 | + } catch (Exception e) { |
1167 | e.printStackTrace(); | 1165 | e.printStackTrace(); |
1168 | } | 1166 | } |
1169 | - logger.info("结束校验输入车牌是否存在待核算订单..响应="+JSONObject.toJSONString(result)); | 1167 | + logger.info("结束校验输入车牌是否存在待核算订单..响应=" + JSONObject.toJSONString(result)); |
1170 | this.renderJson(result); | 1168 | this.renderJson(result); |
1171 | 1169 | ||
1172 | } | 1170 | } |
1171 | + | ||
1173 | /** | 1172 | /** |
1174 | * 查询待支付的停车订单.<br/> | 1173 | * 查询待支付的停车订单.<br/> |
1175 | * 步骤二: | 1174 | * 步骤二: |
@@ -1179,30 +1178,52 @@ public class WeixinPayController extends Controller { | @@ -1179,30 +1178,52 @@ public class WeixinPayController extends Controller { | ||
1179 | * 4.更新订单明细费用.<br/> | 1178 | * 4.更新订单明细费用.<br/> |
1180 | * 5.插入订单流水表. | 1179 | * 5.插入订单流水表. |
1181 | */ | 1180 | */ |
1182 | - public void queryParkOrderForNotPay(){ | 1181 | + public void queryParkOrderForNotPay() { |
1183 | logger.info("开始查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法."); | 1182 | logger.info("开始查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法."); |
1184 | BizResult<OrderVO> result = new BizResult<OrderVO>(); | 1183 | BizResult<OrderVO> result = new BizResult<OrderVO>(); |
1185 | String carNum = this.getPara("carNum"); | 1184 | String carNum = this.getPara("carNum"); |
1186 | OrderService orderService = Duang.duang(OrderService.class); | 1185 | OrderService orderService = Duang.duang(OrderService.class); |
1187 | OrderVO orderVO = new OrderVO(); | 1186 | OrderVO orderVO = new OrderVO(); |
1188 | - try{ | 1187 | + try { |
1189 | orderVO = orderService.queryParkOrderForNotPay(carNum); | 1188 | orderVO = orderService.queryParkOrderForNotPay(carNum); |
1190 | - if(orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())){ | 1189 | + if (orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())) { |
1190 | + //创建支付单 | ||
1191 | + PayOrder payOrder = new PayOrder(); | ||
1192 | + String payOrderId = SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PAY_WXGZH.value()); | ||
1193 | + payOrder.setPayOrderId(payOrderId); | ||
1194 | + payOrder.setPaySrcType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_PARK.getValue())); | ||
1195 | + payOrder.setRltOrderId(orderVO.getOrderId()); | ||
1196 | + payOrder.setPayOrderTitle(PayOrderEnum.PAY_ORDER_TYPE_PAY.getValue()); | ||
1197 | + payOrder.setPayType(Integer.valueOf(PayOrderEnum.PAY_TYPE_WXGZH.getValue())); | ||
1198 | + payOrder.setPayOrderState(Integer.valueOf(PayOrderEnum.PAY_ORDER_STATE_WAIT_PAY.getValue())); | ||
1199 | + payOrder.setPayorderStateTime(new Date()); | ||
1200 | + payOrder.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); | ||
1201 | + payOrder.setCreateDate(new Date()); | ||
1202 | + payOrder.setModfiyDate(new Date()); | ||
1203 | + logger.info("支付单save请求数据为: payOrder=" + JSONObject.toJSONString(payOrder)); | ||
1204 | + Boolean flag = payOrder.save(); | ||
1205 | + logger.info("支付单save 响应为:flag=" + flag); | ||
1206 | + orderVO.setPayOrderId(payOrderId); | ||
1207 | + if (!flag) { | ||
1208 | + result.setCode(ErrorType.BIZ_ERROR.getCode()); | ||
1209 | + result.setMsg("支付单保存失败!"); | ||
1210 | + renderJson(result); | ||
1211 | + return; | ||
1212 | + } | ||
1191 | /**根据停车场编码查询通知艾润停车场编码.*/ | 1213 | /**根据停车场编码查询通知艾润停车场编码.*/ |
1192 | result.setData(orderVO); | 1214 | result.setData(orderVO); |
1193 | - }else{ | 1215 | + } else { |
1194 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | 1216 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); |
1195 | } | 1217 | } |
1196 | - }catch (Exception e) { | 1218 | + } catch (Exception e) { |
1197 | e.printStackTrace(); | 1219 | e.printStackTrace(); |
1198 | } | 1220 | } |
1199 | this.renderJson(result); | 1221 | this.renderJson(result); |
1200 | } | 1222 | } |
1201 | 1223 | ||
1202 | - | ||
1203 | - public void paySuccessView(){ | 1224 | + public void paySuccessView() { |
1204 | String money = getPara("payMoney"); | 1225 | String money = getPara("payMoney"); |
1205 | - setAttr("payMoney",money); | 1226 | + setAttr("payMoney", money); |
1206 | render("paysuccess.html"); | 1227 | render("paysuccess.html"); |
1207 | } | 1228 | } |
1208 | 1229 | ||
@@ -1215,7 +1236,4 @@ public class WeixinPayController extends Controller { | @@ -1215,7 +1236,4 @@ public class WeixinPayController extends Controller { | ||
1215 | System.out.println("offset month date :" + DateUtil.format(newDate, "yyyy-MM-dd")); | 1236 | System.out.println("offset month date :" + DateUtil.format(newDate, "yyyy-MM-dd")); |
1216 | } | 1237 | } |
1217 | 1238 | ||
1218 | - | ||
1219 | - | ||
1220 | - | ||
1221 | } | 1239 | } |
src/main/java/com/rnt/vo/OrderVO.java
@@ -40,8 +40,17 @@ public class OrderVO { | @@ -40,8 +40,17 @@ public class OrderVO { | ||
40 | 40 | ||
41 | /** 停车时长 单位:小时格式:02小时52分. */ | 41 | /** 停车时长 单位:小时格式:02小时52分. */ |
42 | private String parkingDuration; | 42 | private String parkingDuration; |
43 | - | ||
44 | - | 43 | + |
44 | + /** 支付单ID 临时变量*/ | ||
45 | + private String payOrderId; | ||
46 | + | ||
47 | + public String getPayOrderId() { | ||
48 | + return payOrderId; | ||
49 | + } | ||
50 | + | ||
51 | + public void setPayOrderId(String payOrderId) { | ||
52 | + this.payOrderId = payOrderId; | ||
53 | + } | ||
45 | 54 | ||
46 | public String getParkAddress() { | 55 | public String getParkAddress() { |
47 | return parkAddress; | 56 | return parkAddress; |
src/main/webapp/WEB-INF/pages/check.html
@@ -3,11 +3,11 @@ | @@ -3,11 +3,11 @@ | ||
3 | <head> | 3 | <head> |
4 | <meta charset="UTF-8"> | 4 | <meta charset="UTF-8"> |
5 | <title>查看账单</title> | 5 | <title>查看账单</title> |
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> | ||
7 | - <meta name="format-detection" content="telephone=no" /> | ||
8 | - <meta name="format-detection" content="email=no" /> | ||
9 | - <meta name="apple-mobile-web-app-status-bar-style" content="black" /> | ||
10 | - <meta name="apple-mobile-web-app-capable" content="yes" /> | 6 | + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> |
7 | + <meta name="format-detection" content="telephone=no"/> | ||
8 | + <meta name="format-detection" content="email=no"/> | ||
9 | + <meta name="apple-mobile-web-app-status-bar-style" content="black"/> | ||
10 | + <meta name="apple-mobile-web-app-capable" content="yes"/> | ||
11 | <meta name="apple-mobile-web-app-title" content=""> | 11 | <meta name="apple-mobile-web-app-title" content=""> |
12 | <meta name="google" value="notranslate"><!-- 禁止Chrome 浏览器中自动提示翻译 --> | 12 | <meta name="google" value="notranslate"><!-- 禁止Chrome 浏览器中自动提示翻译 --> |
13 | <link rel="apple-touch-icon-precomposed" href="favicon.ico"> | 13 | <link rel="apple-touch-icon-precomposed" href="favicon.ico"> |
@@ -18,29 +18,33 @@ | @@ -18,29 +18,33 @@ | ||
18 | <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css"> | 18 | <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css"> |
19 | <link rel="stylesheet" href="${staticHost}/css/reset.css"> | 19 | <link rel="stylesheet" href="${staticHost}/css/reset.css"> |
20 | <style> | 20 | <style> |
21 | - .all_told,.platen_number{ | 21 | + .all_told, .platen_number { |
22 | text-align: center; | 22 | text-align: center; |
23 | } | 23 | } |
24 | - .all_told{ | 24 | + |
25 | + .all_told { | ||
25 | padding: 30px 0 10px 0; | 26 | padding: 30px 0 10px 0; |
26 | } | 27 | } |
27 | - .all_told span{ | 28 | + |
29 | + .all_told span { | ||
28 | margin-right: 5px; | 30 | margin-right: 5px; |
29 | font-size: 22px; | 31 | font-size: 22px; |
30 | } | 32 | } |
31 | - .discount_money{ | ||
32 | - color:#fc3817; | 33 | + |
34 | + .discount_money { | ||
35 | + color: #fc3817; | ||
33 | } | 36 | } |
34 | - .discount{ | ||
35 | - padding: 4px 7px ; | 37 | + |
38 | + .discount { | ||
39 | + padding: 4px 7px; | ||
36 | background: #fc3817; | 40 | background: #fc3817; |
37 | border-radius: 2px; | 41 | border-radius: 2px; |
38 | position: relative; | 42 | position: relative; |
39 | margin-left: 10px; | 43 | margin-left: 10px; |
40 | - color:#fff; | 44 | + color: #fff; |
41 | } | 45 | } |
42 | 46 | ||
43 | - .discount:before{ | 47 | + .discount:before { |
44 | position: absolute; | 48 | position: absolute; |
45 | content: ''; | 49 | content: ''; |
46 | width: 0; | 50 | width: 0; |
@@ -59,13 +63,14 @@ | @@ -59,13 +63,14 @@ | ||
59 | 63 | ||
60 | 64 | ||
61 | <header class="demos-header"> | 65 | <header class="demos-header"> |
62 | - <p class="all_told discount_money" ><span id="orderNotPayFee">90.00</span>元</p> | 66 | + <p class="all_told discount_money"><span id="orderNotPayFee">90.00</span>元</p> |
63 | <p class="platen_number discount_money" style="font-weight:bold;" id="orderTitle">待付费用</p> | 67 | <p class="platen_number discount_money" style="font-weight:bold;" id="orderTitle">待付费用</p> |
64 | </header> | 68 | </header> |
65 | 69 | ||
66 | <div class="weui-cells weui-cells_form"> | 70 | <div class="weui-cells weui-cells_form"> |
67 | <input type="hidden" id="carNumPre" value="${carNum!''}"/> | 71 | <input type="hidden" id="carNumPre" value="${carNum!''}"/> |
68 | - <input type="hidden" id="parkOrderId" /> | 72 | + <input type="hidden" id="parkOrderId"/> |
73 | + <input type="hidden" id="payOrderId"> | ||
69 | <div class="weui-cell"> | 74 | <div class="weui-cell"> |
70 | <div class="weui-cell__hd"><label for="" class="weui-label">当前车牌</label></div> | 75 | <div class="weui-cell__hd"><label for="" class="weui-label">当前车牌</label></div> |
71 | <div class="weui-cell__bd" id="carNumber"> | 76 | <div class="weui-cell__bd" id="carNumber"> |
@@ -114,9 +119,8 @@ | @@ -114,9 +119,8 @@ | ||
114 | </div> | 119 | </div> |
115 | 120 | ||
116 | 121 | ||
117 | - | ||
118 | <div class="pay-content-padded"> | 122 | <div class="pay-content-padded"> |
119 | - <a class="weui-btn weui-btn_primary " href="javascript:" id="showTooltips" >确定支付</a> | 123 | + <a class="weui-btn weui-btn_primary " href="javascript:" id="showTooltips">确定支付</a> |
120 | </div> | 124 | </div> |
121 | 125 | ||
122 | 126 | ||
@@ -125,118 +129,120 @@ | @@ -125,118 +129,120 @@ | ||
125 | <script src="${staticHost}/js/jsutil.js"></script> | 129 | <script src="${staticHost}/js/jsutil.js"></script> |
126 | <script src="${staticHost}/js/url.js"></script> | 130 | <script src="${staticHost}/js/url.js"></script> |
127 | <script type="text/javascript"> | 131 | <script type="text/javascript"> |
128 | - var func = { | ||
129 | - /**查询待支付订单*/ | ||
130 | - initData:function(){ | ||
131 | - $('#orderNotPayFee').empty(); | ||
132 | - $('#orderTitle').empty(); | ||
133 | - $('#carNumber').empty(); | ||
134 | - $('#parkName').empty(); | ||
135 | - $('#parkInTime').empty(); | ||
136 | - $('#parkingDuration').empty(); | ||
137 | - $('#orderTotalFee').empty(); | ||
138 | - $('#orderPayedFee').empty(); | ||
139 | - var carNumPre =$('#carNumPre').val(); | ||
140 | - jsutil.defaultReq( | ||
141 | - mUrl.queryParkOrderForNotPay , | ||
142 | - {"carNum":carNumPre}, | ||
143 | - function(data){ | ||
144 | - if(data != null && "1005" == data.code){ | ||
145 | - window.location.href= mUrl.queryOrderCheckErrorView+"&carNum="+carNumPre; | ||
146 | - }else if(data != null && "8888" !=data.code){ | ||
147 | - $.alert("查询待支付订单失败,请重试!"); | ||
148 | - }else{ | ||
149 | - var orderVO = data.data; | ||
150 | - $('#parkOrderId').val(orderVO.orderId); | ||
151 | - $('#orderNotPayFee').text(orderVO.orderNotPayFee); | ||
152 | - $('#orderTitle').text(orderVO.orderTitle); | ||
153 | - $('#carNumber').text(orderVO.carNumber); | ||
154 | - $('#parkName').text(orderVO.parkName); | ||
155 | - $('#parkInTime').text(orderVO.parkInTime); | ||
156 | - $('#parkingDuration').text(orderVO.parkingDuration); | ||
157 | - $('#orderTotalFee').text(orderVO.orderTotalFee); | ||
158 | - $('#orderPayedFee').text(orderVO.orderPayedFee); | ||
159 | - | ||
160 | - } | ||
161 | - | ||
162 | - | ||
163 | - | ||
164 | - }); | ||
165 | - }, | ||
166 | - }; | ||
167 | - $(function(){ | ||
168 | - func.initData(); | ||
169 | - }); | ||
170 | - var flg =true; | ||
171 | - $("#showTooltips").click(function () { | ||
172 | - if(flg){ | ||
173 | - flg =false; | ||
174 | - $('#showTooltips').attr('class','weui-btn weui-btn_primary weui-btn_disabled'); | ||
175 | - var parkOrderId = $('#parkOrderId').val(); | ||
176 | - if (parkOrderId.length < 1) { | ||
177 | - $.toptip("订单Id为空", 2000, "error"); | ||
178 | - $('#showTooltips').attr('class','weui-btn weui-btn_primary'); | ||
179 | - flg=true; | ||
180 | - return false; | ||
181 | - } | ||
182 | - var req = { | ||
183 | - orderId: parkOrderId | ||
184 | - } | ||
185 | - | ||
186 | - $.ajax({ | ||
187 | - url: mUrl.getJSPayParam, | ||
188 | - type: 'post', | ||
189 | - dataType: 'json', | ||
190 | - data: req, | ||
191 | - success: function (res) { | ||
192 | - if (res.code == '8888') { | ||
193 | - var payParam = res.data; | ||
194 | - //调用微信支付 | ||
195 | - callpay(payParam); | ||
196 | - }else{ | ||
197 | - $.toptip(res.msg,2000,"error"); | ||
198 | - console.log('详细错误信息为:'+res.data); | ||
199 | - } | ||
200 | - } | ||
201 | - }); | ||
202 | - }//if | ||
203 | - }); | ||
204 | - | ||
205 | - //调用微信JS api 支付 | ||
206 | - function jsApiCall(payParam) { | ||
207 | - WeixinJSBridge.invoke( | ||
208 | - 'getBrandWCPayRequest', | ||
209 | - payParam, | ||
210 | - function (res) { | ||
211 | - if(res.err_msg == "get_brand_wcpay_request:ok" ) { | ||
212 | - $.alert("亲!支付成功!"); | ||
213 | - //支付成功 | ||
214 | - windows.location.href=mUrl.paySuccessView+'&payMoney='+totleMoney; | ||
215 | - | ||
216 | - }else{ | ||
217 | - //支付失败 | ||
218 | - $.alert("亲!支付失败!err_msg="+res.err_msg); | ||
219 | - //windows.location.href='${host}/pay/payFail'; | ||
220 | - | ||
221 | - } | ||
222 | - | ||
223 | - | ||
224 | - } | ||
225 | - ); | ||
226 | - } | ||
227 | - | ||
228 | - function callpay(payParam) { | ||
229 | - if (typeof WeixinJSBridge == "undefined") { | ||
230 | - if (document.addEventListener) { | ||
231 | - document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); | ||
232 | - } else if (document.attachEvent) { | ||
233 | - document.attachEvent('WeixinJSBridgeReady', jsApiCall); | ||
234 | - document.attachEvent('onWeixinJSBridgeReady', jsApiCall); | ||
235 | - } | ||
236 | - } else { | ||
237 | - jsApiCall(payParam); | ||
238 | - } | ||
239 | - } | 132 | + var func = { |
133 | + /**查询待支付订单*/ | ||
134 | + initData: function () { | ||
135 | + $('#orderNotPayFee').empty(); | ||
136 | + $('#orderTitle').empty(); | ||
137 | + $('#carNumber').empty(); | ||
138 | + $('#parkName').empty(); | ||
139 | + $('#parkInTime').empty(); | ||
140 | + $('#parkingDuration').empty(); | ||
141 | + $('#orderTotalFee').empty(); | ||
142 | + $('#orderPayedFee').empty(); | ||
143 | + var carNumPre = $('#carNumPre').val(); | ||
144 | + jsutil.defaultReq( | ||
145 | + mUrl.queryParkOrderForNotPay, | ||
146 | + {"carNum": carNumPre}, | ||
147 | + function (data) { | ||
148 | + if (data != null && "1005" == data.code) { | ||
149 | + window.location.href = mUrl.queryOrderCheckErrorView + "&carNum=" + carNumPre; | ||
150 | + } else if (data != null && "8888" != data.code) { | ||
151 | + $.alert("查询待支付订单失败,请重试!"); | ||
152 | + } else { | ||
153 | + var orderVO = data.data; | ||
154 | + $('#parkOrderId').val(orderVO.orderId); | ||
155 | + $('#payOrderId').val(orderVO.payOrderId) | ||
156 | + $('#orderNotPayFee').text(orderVO.orderNotPayFee); | ||
157 | + $('#orderTitle').text(orderVO.orderTitle); | ||
158 | + $('#carNumber').text(orderVO.carNumber); | ||
159 | + $('#parkName').text(orderVO.parkName); | ||
160 | + $('#parkInTime').text(orderVO.parkInTime); | ||
161 | + $('#parkingDuration').text(orderVO.parkingDuration); | ||
162 | + $('#orderTotalFee').text(orderVO.orderTotalFee); | ||
163 | + $('#orderPayedFee').text(orderVO.orderPayedFee); | ||
164 | + | ||
165 | + } | ||
166 | + | ||
167 | + | ||
168 | + }); | ||
169 | + }, | ||
170 | + }; | ||
171 | + $(function () { | ||
172 | + func.initData(); | ||
173 | + }); | ||
174 | + var flg = true; | ||
175 | + $("#showTooltips").click(function () { | ||
176 | + if (flg) { | ||
177 | + flg = false; | ||
178 | + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); | ||
179 | + var parkOrderId = $('#parkOrderId').val(); | ||
180 | + var payOrderId = $('#payOrderId').val(); | ||
181 | + if (parkOrderId.length < 1) { | ||
182 | + $.toptip("订单Id为空", 2000, "error"); | ||
183 | + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); | ||
184 | + flg = true; | ||
185 | + return false; | ||
186 | + } | ||
187 | + var req = { | ||
188 | + orderId: parkOrderId, | ||
189 | + payOrderId:payOrderId | ||
190 | + } | ||
191 | + | ||
192 | + $.ajax({ | ||
193 | + url: mUrl.getJSPayParam, | ||
194 | + type: 'post', | ||
195 | + dataType: 'json', | ||
196 | + data: req, | ||
197 | + success: function (res) { | ||
198 | + if (res.code == '8888') { | ||
199 | + var payParam = res.data; | ||
200 | + //调用微信支付 | ||
201 | + callpay(payParam); | ||
202 | + } else { | ||
203 | + $.toptip(res.msg, 2000, "error"); | ||
204 | + console.log('详细错误信息为:' + res.data); | ||
205 | + } | ||
206 | + } | ||
207 | + }); | ||
208 | + }//if | ||
209 | + }); | ||
210 | + | ||
211 | + //调用微信JS api 支付 | ||
212 | + function jsApiCall(payParam) { | ||
213 | + WeixinJSBridge.invoke( | ||
214 | + 'getBrandWCPayRequest', | ||
215 | + payParam, | ||
216 | + function (res) { | ||
217 | + if (res.err_msg == "get_brand_wcpay_request:ok") { | ||
218 | + $.alert("亲!支付成功!"); | ||
219 | + //支付成功 | ||
220 | + windows.location.href = mUrl.paySuccessView + '&payMoney=' + totleMoney; | ||
221 | + | ||
222 | + } else { | ||
223 | + //支付失败 | ||
224 | + $.alert("亲!支付失败!err_msg=" + res.err_msg); | ||
225 | + //windows.location.href='${host}/pay/payFail'; | ||
226 | + | ||
227 | + } | ||
228 | + | ||
229 | + | ||
230 | + } | ||
231 | + ); | ||
232 | + } | ||
233 | + | ||
234 | + function callpay(payParam) { | ||
235 | + if (typeof WeixinJSBridge == "undefined") { | ||
236 | + if (document.addEventListener) { | ||
237 | + document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); | ||
238 | + } else if (document.attachEvent) { | ||
239 | + document.attachEvent('WeixinJSBridgeReady', jsApiCall); | ||
240 | + document.attachEvent('onWeixinJSBridgeReady', jsApiCall); | ||
241 | + } | ||
242 | + } else { | ||
243 | + jsApiCall(payParam); | ||
244 | + } | ||
245 | + } | ||
240 | </script> | 246 | </script> |
241 | </body> | 247 | </body> |
242 | </html> | 248 | </html> |