Commit 8114546306200d4d71f05d868566c5d6d729e0b0
1 parent
0183f5ad
更改车牌号支付流程
Showing
7 changed files
with
338 additions
and
152 deletions
src/main/java/com/rnt/controller/WeixinPayController.java
... | ... | @@ -47,6 +47,7 @@ import com.rnt.service.OrderService; |
47 | 47 | import com.rnt.service.ParkCardCouponsService; |
48 | 48 | import com.rnt.service.ParkLotService; |
49 | 49 | import com.rnt.service.PersonCardCouponsService; |
50 | +import com.rnt.utils.AmountUtils; | |
50 | 51 | import com.rnt.utils.CardTypeUtil; |
51 | 52 | import com.rnt.utils.SequenceUtil; |
52 | 53 | import com.rnt.utils.TLWXUser; |
... | ... | @@ -1116,35 +1117,75 @@ public class WeixinPayController extends Controller { |
1116 | 1117 | * 检查输入的车牌号是否存订单(带核算/待支付/已完成).<br/> |
1117 | 1118 | */ |
1118 | 1119 | public void parkOrderForNotPayExist() { |
1119 | - BizResult<Order> result = new BizResult<>(); | |
1120 | + BizResult<OrderVO> result = new BizResult<OrderVO>(); | |
1121 | + OrderVO orderVO = new OrderVO(); | |
1122 | + Map<String,String> reultMap = new HashMap<String,String>(); | |
1123 | + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
1120 | 1124 | String carNum = this.getPara("carNum"); |
1121 | - logger.info("---begin 校验输入车牌是否存在待核算订单..入参=" + carNum); | |
1122 | - Map<String,String> reultMap = new HashMap<String,String>(); | |
1123 | - try { | |
1124 | - if (StringKit.isNotBlank(carNum)) { | |
1125 | - OrderService orderService = Duang.duang(OrderService.class); | |
1126 | - /**查询单信息.*/ | |
1127 | - Order order = orderService.findOrderByCarNum(carNum); | |
1128 | - if (order != null && StringKit.isNotBlank(order.getOrderId())) { | |
1129 | - result.setData(order); | |
1130 | - /**查询费用接口.*/ | |
1131 | - reultMap = orderService.chosseBillQuery(carNum, order); | |
1132 | - } else { | |
1133 | - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | |
1134 | - } | |
1135 | - } else { | |
1136 | - logger.info("入参为空!"); | |
1137 | - result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | |
1138 | - } | |
1139 | - | |
1140 | - if(reultMap == null || reultMap.size() ==0){ | |
1141 | - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | |
1142 | - } | |
1143 | - } catch (Exception e) { | |
1144 | - e.printStackTrace(); | |
1145 | - } | |
1125 | + logger.info("---begin 校验输入车牌是否存要支付订单,入参=" + carNum); | |
1126 | + try{ | |
1127 | + if(StringKit.isNotBlank(carNum)){ | |
1128 | + OrderService orderService = Duang.duang(OrderService.class); | |
1129 | + /**查询单信息.*/ | |
1130 | + Order order = orderService.findOrderByCarNum(carNum); | |
1131 | + logger.info("通过车牌查询订单结果="+JSONObject.toJSONString(order)); | |
1132 | + if (order != null && StringKit.isNotBlank(order.getOrderId())) { | |
1133 | + orderVO.setOrderId(order.getOrderId()); | |
1134 | + orderVO.setParkName(order.getParkName()); | |
1135 | + orderVO.setCarNumber(order.getCarNumber()); | |
1136 | + /**查询费用接口.*/ | |
1137 | + reultMap = orderService.chosseBillQuery(carNum, order); | |
1138 | + }else{ | |
1139 | + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | |
1140 | + } | |
1141 | + }else{ | |
1142 | + logger.info("入参为空!"); | |
1143 | + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | |
1144 | + } | |
1145 | + | |
1146 | + if(reultMap == null || reultMap.size() ==0){ | |
1147 | + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | |
1148 | + }else{ | |
1149 | + orderVO.setParkInTime(StringKit.isNotBlank(reultMap.get("park_in_time")) ? format.format(format.parse(reultMap.get("park_in_time"))): null); | |
1150 | + orderVO.setParkOutTime(StringKit.isNotBlank(reultMap.get("park_out_time")) ? format.format(format.parse(reultMap.get("park_out_time"))): null); | |
1151 | + if(StringKit.isNotBlank(reultMap.get("order_total_fee"))){//分转元 | |
1152 | + orderVO.setOrderTotalFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_total_fee")))); | |
1153 | + }else{ | |
1154 | + orderVO.setOrderTotalFee(new BigDecimal("0")); | |
1155 | + } | |
1156 | + | |
1157 | + if(StringKit.isNotBlank(reultMap.get("order_not_pay_fee"))){//分转元 | |
1158 | + orderVO.setOrderNotPayFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_not_pay_fee")))); | |
1159 | + }else{ | |
1160 | + orderVO.setOrderNotPayFee(new BigDecimal("0")); | |
1161 | + } | |
1162 | + | |
1163 | + if(StringKit.isNotBlank(reultMap.get("order_payed_fee"))){//分转元 | |
1164 | + orderVO.setOrderPayedFee(new BigDecimal(AmountUtils.changeF2Y(reultMap.get("order_payed_fee")))); | |
1165 | + }else{ | |
1166 | + orderVO.setOrderPayedFee(new BigDecimal("0")); | |
1167 | + } | |
1168 | + if(StringKit.isNotBlank(reultMap.get("parking_duration"))){ | |
1169 | + orderVO.setParkingDuration(com.rnt.utils.DateUtil.secondToTime(Long.valueOf(reultMap.get("parking_duration")))); | |
1170 | + }else{ | |
1171 | + orderVO.setParkingDuration(com.rnt.utils.DateUtil.secondToTime(Long.valueOf("0"))); | |
1172 | + } | |
1173 | + | |
1174 | + result.setErrorMessage(ErrorType.BIZ_SUCCESS, "通过车牌号查询费用成功"); | |
1175 | + result.setData(orderVO); | |
1176 | + } | |
1177 | + }catch (Exception e) { | |
1178 | + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | |
1179 | + e.printStackTrace(); | |
1180 | + } | |
1146 | 1181 | logger.info("---end 校验输入车牌是..结果=" + JSONObject.toJSONString(result)); |
1147 | - this.renderJson(result); | |
1182 | + if(result != null && ErrorType.BIZ_SUCCESS.getCode().equals(result.getCode()) && result.getData() != null){ | |
1183 | + this.getRequest().setAttribute("orderVO", result.getData()); | |
1184 | + this.render("check.html"); | |
1185 | + }else{ | |
1186 | + this.setAttr("carNum", carNum); | |
1187 | + this.render("checkerror.html"); | |
1188 | + } | |
1148 | 1189 | |
1149 | 1190 | } |
1150 | 1191 | |
... | ... | @@ -1158,45 +1199,25 @@ public class WeixinPayController extends Controller { |
1158 | 1199 | * 5.插入订单流水表. |
1159 | 1200 | */ |
1160 | 1201 | public void queryParkOrderForNotPay() { |
1161 | - logger.info("开始查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法."); | |
1202 | + | |
1162 | 1203 | BizResult<OrderVO> result = new BizResult<OrderVO>(); |
1163 | - String carNum = this.getPara("carNum"); | |
1204 | + String orderId = this.getPara("orderId"); | |
1205 | + logger.info("---begin查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.入参{orderId="+orderId+"}"); | |
1164 | 1206 | OrderService orderService = Duang.duang(OrderService.class); |
1165 | 1207 | OrderVO orderVO = new OrderVO(); |
1166 | 1208 | try { |
1167 | - orderVO = orderService.queryParkOrderForNotPay(carNum); | |
1168 | - if (orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())) { | |
1169 | - //创建支付单 | |
1170 | - PayOrder payOrder = new PayOrder(); | |
1171 | - String payOrderId = SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PAY_WXGZH.value()); | |
1172 | - payOrder.setPayOrderId(payOrderId); | |
1173 | - payOrder.setPaySrcType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_PARK.getValue())); | |
1174 | - payOrder.setRltOrderId(orderVO.getOrderId()); | |
1175 | - payOrder.setPayOrderTitle(PayOrderEnum.PAY_ORDER_TYPE_PAY.getValue()); | |
1176 | - payOrder.setPayType(Integer.valueOf(PayOrderEnum.PAY_TYPE_WXGZH.getValue())); | |
1177 | - payOrder.setPayOrderState(Integer.valueOf(PayOrderEnum.PAY_ORDER_STATE_WAIT_PAY.getValue())); | |
1178 | - payOrder.setPayorderStateTime(new Date()); | |
1179 | - payOrder.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); | |
1180 | - payOrder.setCreateDate(new Date()); | |
1181 | - payOrder.setModfiyDate(new Date()); | |
1182 | - logger.info("支付单save请求数据为: payOrder=" + JSONObject.toJSONString(payOrder)); | |
1183 | - Boolean flag = payOrder.save(); | |
1184 | - logger.info("支付单save 响应为:flag=" + flag); | |
1185 | - orderVO.setPayOrderId(payOrderId); | |
1186 | - if (!flag) { | |
1187 | - result.setCode(ErrorType.BIZ_ERROR.getCode()); | |
1188 | - result.setMsg("支付单保存失败!"); | |
1189 | - renderJson(result); | |
1190 | - return; | |
1191 | - } | |
1192 | - /**根据停车场编码查询通知艾润停车场编码.*/ | |
1193 | - result.setData(orderVO); | |
1194 | - } else { | |
1195 | - result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | |
1209 | + orderVO = orderService.queryParkOrderForNotPay(orderId); | |
1210 | + if(orderVO != null && StringKit.isNotBlank(orderVO.getOrderId())){ | |
1211 | + result.setData(orderVO); | |
1212 | + }else{ | |
1213 | + result.setCode(ErrorType.BIZ_ERROR.getCode()); | |
1214 | + result.setMsg("订单单保存失败!"); | |
1196 | 1215 | } |
1197 | 1216 | } catch (Exception e) { |
1217 | + result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); | |
1198 | 1218 | e.printStackTrace(); |
1199 | 1219 | } |
1220 | + logger.info("---end查询待支付的停车订单WeixinPayController.queryParkOrderForNotPay()方法.结果="+JSONObject.toJSONString(result)); | |
1200 | 1221 | this.renderJson(result); |
1201 | 1222 | } |
1202 | 1223 | ... | ... |
src/main/java/com/rnt/service/OrderService.java
... | ... | @@ -158,17 +158,17 @@ public class OrderService { |
158 | 158 | * @param carNum |
159 | 159 | * @throws ParseException |
160 | 160 | */ |
161 | - public OrderVO queryParkOrderForNotPay(String carNum) throws ParseException { | |
162 | - logger.info("---begin订单信息更新,carNum=" + carNum); | |
161 | + public OrderVO queryParkOrderForNotPay(String orderId) throws ParseException { | |
162 | + logger.info("---begin订单信息更新,orderId=" + orderId); | |
163 | 163 | OrderVO orderVO = new OrderVO(); |
164 | 164 | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
165 | 165 | Map<String,String> resultmap = new HashMap<String,String>(); |
166 | 166 | //1.查询支付订单 |
167 | - Order order = this.findOrderByCarNum(carNum); | |
167 | + Order order = this.findOrderByOrderId(orderId); | |
168 | 168 | logger.info("通过车牌号查询到的支付订单信息结果="+JSONObject.toJSON(order)); |
169 | 169 | //2.调用查询费用接口 |
170 | 170 | if (order != null && StringKit.isNotBlank(order.getOrderId())) { |
171 | - resultmap = this.chosseBillQuery(carNum,order); | |
171 | + resultmap = this.chosseBillQuery(order.getCarNumber(),order); | |
172 | 172 | } |
173 | 173 | boolean orderUpdateFlg = false; |
174 | 174 | int updateOrderDetailFlg = 0; |
... | ... | @@ -210,17 +210,6 @@ public class OrderService { |
210 | 210 | if (updateOrderDetailFlg > 0) { |
211 | 211 | //封装返回数据 |
212 | 212 | orderVO.setOrderId(order.getOrderId()); |
213 | - orderVO.setParkId(order.getParkId()); | |
214 | - orderVO.setParkName(resultmap.get("park_name")); | |
215 | - orderVO.setParkAddress(resultmap.get("park_address")); | |
216 | - orderVO.setCarNumber(order.getCarNumber()); | |
217 | - orderVO.setOrderPayedFee(new BigDecimal(resultmap.get("order_payed_fee"))); | |
218 | - orderVO.setOrderNotPayFee(new BigDecimal(resultmap.get("order_not_pay_fee"))); | |
219 | - orderVO.setOrderTotalFee(new BigDecimal(resultmap.get("order_total_fee"))); | |
220 | - orderVO.setOrderTitle("待付费用"); | |
221 | - orderVO.setParkInTime(format.parse(resultmap.get("park_in_time"))); | |
222 | - orderVO.setParkOutTime(format.parse(resultmap.get("park_out_time"))); | |
223 | - orderVO.setParkingDuration(DateUtil.secondToTime(Long.valueOf(resultmap.get("parking_duration")))); | |
224 | 213 | } |
225 | 214 | /**插入订单流水.*/ |
226 | 215 | ParkOrderFlow parkOrderFlow = new ParkOrderFlow(); |
... | ... | @@ -243,11 +232,11 @@ public class OrderService { |
243 | 232 | * @return |
244 | 233 | */ |
245 | 234 | public Map<String, String> chosseBillQuery(String carNum,Order order){ |
246 | - | |
247 | 235 | OrderService orderService = Duang.duang(OrderService.class); |
248 | 236 | IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class); |
249 | 237 | Map<String, String> reultMap = new HashMap<String, String>(); |
250 | 238 | if (order != null && StringKit.isNotBlank(order.getOrderId())) { |
239 | + logger.info("查询费用来源="+(order.getSourceType() ==2 ? "调用青岛路侧费用查询接口" :"调用艾润查询费用接口")); | |
251 | 240 | if("1".equals(String.valueOf(order.getSourceType()))){//道闸:调用艾润查询费用接口 |
252 | 241 | /**调用艾润查询费用接口.*/ |
253 | 242 | reultMap = iRainQueryService.billQuery(carNum, order.getParkId()); |
... | ... | @@ -276,10 +265,11 @@ public class OrderService { |
276 | 265 | //1.查询待支付订单 |
277 | 266 | StringBuffer sql = new StringBuffer( |
278 | 267 | "select a.id, a.order_id,a.car_number,a.order_title,a.order_payed_fee,a.order_not_pay_fee,a" |
279 | - + ".order_total_fee,a.park_id"); | |
268 | + + ".order_total_fee,a.park_id,source_type,park_name"); | |
280 | 269 | sql.append(" from td_b_order a"); |
281 | 270 | sql.append(" where a.order_state in(1,2,3)"); |
282 | 271 | sql.append(" and a.car_number=?"); |
272 | + sql.append(" and a.data_state=1"); | |
283 | 273 | sql.append(" order by a.create_date DESC"); |
284 | 274 | |
285 | 275 | Order order = new Order().findFirst(sql.toString(), carNum); |
... | ... | @@ -288,6 +278,24 @@ public class OrderService { |
288 | 278 | |
289 | 279 | return order; |
290 | 280 | } |
281 | + | |
282 | + /** | |
283 | + * 通过车牌查询待核算支付单信息.<br/> | |
284 | + * | |
285 | + * @param | |
286 | + */ | |
287 | + public Order findOrderByOrderId(String orderId) { | |
288 | + //1.查询待支付订单 | |
289 | + StringBuffer sql = new StringBuffer( | |
290 | + "select a.id, a.order_id,a.car_number,a.order_title,a.order_payed_fee,a.order_not_pay_fee,a" | |
291 | + + ".order_total_fee,a.park_id,source_type,park_name"); | |
292 | + sql.append(" from td_b_order a"); | |
293 | + sql.append(" where a.order_state in(1,2,3)"); | |
294 | + sql.append(" and a.order_id=?"); | |
295 | + sql.append(" and a.data_state=1"); | |
296 | + Order order = new Order().findFirst(sql.toString(), orderId); | |
297 | + return order; | |
298 | + } | |
291 | 299 | |
292 | 300 | |
293 | 301 | } | ... | ... |
src/main/java/com/rnt/utils/AmountUtils.java
0 → 100644
1 | +package com.rnt.utils; | |
2 | + | |
3 | + | |
4 | +import java.math.BigDecimal; | |
5 | + | |
6 | +import com.zteits.clouds.api.apibase.constants.ErrorType; | |
7 | +import com.zteits.clouds.api.apibase.exception.BizException; | |
8 | + | |
9 | +/** | |
10 | + * | |
11 | + * Copyright: Copyright (c) 2017 ZTE-ITS | |
12 | + * | |
13 | + * @ClassName: AmountUtils.java | |
14 | + * @Description: | |
15 | + * @version: v1.0.0 | |
16 | + * @author: wangbiao | |
17 | + * @date: 2017年6月27日 下午5:24:43 | |
18 | + * Modification History: | |
19 | + * Date Author Version Description | |
20 | + *---------------------------------------------------------* | |
21 | + * 2017年6月27日 wangbiao v1.0.0 创建 | |
22 | + */ | |
23 | + | |
24 | +public class AmountUtils { | |
25 | + /**金额为分的格式 */ | |
26 | + public static final String CURRENCY_FEN_REGEX = "\\-?[0-9]+"; | |
27 | + | |
28 | + private AmountUtils() { | |
29 | + } | |
30 | + | |
31 | + /** | |
32 | + * 将分为单位的转换为元并返回金额格式的字符串 (除100) | |
33 | + * | |
34 | + * @param amount | |
35 | + * @return | |
36 | + * @throws Exception | |
37 | + */ | |
38 | + public static String changeF2Y(Long amount){ | |
39 | + if(!amount.toString().matches(CURRENCY_FEN_REGEX)) { | |
40 | + throw new BizException(ErrorType.BIZ_ERROR, "金额格式有误!"); | |
41 | + } | |
42 | + | |
43 | + int flag = 0; | |
44 | + String amString = amount.toString(); | |
45 | + if(amString.charAt(0)=='-'){ | |
46 | + flag = 1; | |
47 | + amString = amString.substring(1); | |
48 | + } | |
49 | + StringBuilder result = new StringBuilder(); | |
50 | + if(amString.length()==1){ | |
51 | + result.append("0.0").append(amString); | |
52 | + }else if(amString.length() == 2){ | |
53 | + result.append("0.").append(amString); | |
54 | + }else{ | |
55 | + String intString = amString.substring(0,amString.length()-2); | |
56 | + for(int i=1; i<=intString.length();i++){ | |
57 | + if( (i-1)%3 == 0 && i !=1){ | |
58 | + result.append(","); | |
59 | + } | |
60 | + result.append(intString.substring(intString.length()-i,intString.length()-i+1)); | |
61 | + } | |
62 | + result.reverse().append(".").append(amString.substring(amString.length()-2)); | |
63 | + } | |
64 | + if(flag == 1){ | |
65 | + return "-"+result.toString(); | |
66 | + }else{ | |
67 | + return result.toString(); | |
68 | + } | |
69 | + } | |
70 | + | |
71 | + /** | |
72 | + * 将分为单位的转换为元 (除100) | |
73 | + * | |
74 | + * @param amount | |
75 | + * @return | |
76 | + * @throws Exception | |
77 | + */ | |
78 | + public static String changeF2Y(String amount){ | |
79 | + if(!amount.matches(CURRENCY_FEN_REGEX)) { | |
80 | + throw new BizException(ErrorType.BIZ_ERROR, "金额格式有误!"); | |
81 | + } | |
82 | + return BigDecimal.valueOf(Long.valueOf(amount)).divide(new BigDecimal(100)).toString(); | |
83 | + } | |
84 | + | |
85 | + | |
86 | + /** | |
87 | + * 将元为单位的转换为分 (乘100) | |
88 | + * | |
89 | + * @param amount | |
90 | + * @return | |
91 | + */ | |
92 | + public static String changeY2F(Long amount){ | |
93 | + return BigDecimal.valueOf(amount).multiply(new BigDecimal(100)).toString(); | |
94 | + } | |
95 | + | |
96 | + /** | |
97 | + * 将元为单位的转换为分 替换小数点,支持以逗号区分的金额 | |
98 | + * | |
99 | + * @param amount | |
100 | + * @return | |
101 | + */ | |
102 | + public static String changeY2F(String amount){ | |
103 | + String currency = amount.replaceAll("\\$|\\¥|\\,", ""); //处理包含, ¥ 或者$的金额 | |
104 | + int index = currency.indexOf('.'); | |
105 | + int length = currency.length(); | |
106 | + Long amLong = 0l; | |
107 | + if(index == -1){ | |
108 | + amLong = Long.valueOf(currency+"00"); | |
109 | + }else if(length - index >= 3){ | |
110 | + amLong = Long.valueOf((currency.substring(0, index+3)).replace(".", "")); | |
111 | + }else if(length - index == 2){ | |
112 | + amLong = Long.valueOf((currency.substring(0, index+2)).replace(".", "")+0); | |
113 | + }else{ | |
114 | + amLong = Long.valueOf((currency.substring(0, index+1)).replace(".", "")+"00"); | |
115 | + } | |
116 | + return amLong.toString(); | |
117 | + } | |
118 | + | |
119 | + | |
120 | + /** | |
121 | + * 数字金额大写转换,思想先写个完整的然后将如零拾替换成零 | |
122 | + * 要用到正则表达式 | |
123 | + */ | |
124 | + public static String moneyUpperCase(double n){ | |
125 | + String fraction[] = {"角", "分"}; | |
126 | + String digit[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; | |
127 | + String unit[][] = {{"元", "万", "亿"}, | |
128 | + {"", "拾", "佰", "仟"}}; | |
129 | + | |
130 | + String head = n < 0? "负": ""; | |
131 | + n = Math.abs(n); | |
132 | + | |
133 | + String s = ""; | |
134 | + for (int i = 0; i < fraction.length; i++) { | |
135 | + double f1= new BigDecimal(n).setScale(2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(10 * Math.pow(10, i))).doubleValue(); | |
136 | + s += (digit[(int) (Math.floor(f1) % 10)] + fraction[i]).replaceAll("(零.)+", ""); | |
137 | + | |
138 | + } | |
139 | + if(s.length()<1){ | |
140 | + s = "整"; | |
141 | + } | |
142 | + int integerPart = (int)Math.floor(n); | |
143 | + | |
144 | + for (int i = 0; i < unit[0].length && integerPart > 0; i++) { | |
145 | + String p =""; | |
146 | + for (int j = 0; j < unit[1].length && n > 0; j++) { | |
147 | + p = digit[integerPart%10]+unit[1][j] + p; | |
148 | + integerPart = integerPart/10; | |
149 | + } | |
150 | + s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s; | |
151 | + } | |
152 | + return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整"); | |
153 | + } | |
154 | + /** | |
155 | + * @param args | |
156 | + */ | |
157 | + public static void main(String[] args) { | |
158 | + String str ="200"; | |
159 | + BigDecimal big = new BigDecimal(str); | |
160 | + System.out.println(AmountUtils.changeF2Y(str)); | |
161 | + | |
162 | + } | |
163 | + | |
164 | +} | ... | ... |
src/main/java/com/rnt/utils/DateUtil.java
... | ... | @@ -828,7 +828,8 @@ public class DateUtil { |
828 | 828 | private static String unitFormat(long time) { |
829 | 829 | String retStr = null; |
830 | 830 | if (time >= 0 && time < 10) |
831 | - retStr = "0" + Long.toString(time); | |
831 | + //retStr = "0" + Long.toString(time); wangfs 2017-07-07 更改 | |
832 | + retStr = Long.toString(time); | |
832 | 833 | else |
833 | 834 | retStr = "" + time; |
834 | 835 | return retStr; | ... | ... |
src/main/java/com/rnt/vo/OrderVO.java
... | ... | @@ -33,10 +33,10 @@ public class OrderVO { |
33 | 33 | private String orderTitle; |
34 | 34 | |
35 | 35 | /** 车辆进场时间. */ |
36 | - private Date parkInTime; | |
36 | + private String parkInTime; | |
37 | 37 | |
38 | 38 | /** 车辆出场时间. */ |
39 | - private Date parkOutTime; | |
39 | + private String parkOutTime; | |
40 | 40 | |
41 | 41 | /** 停车时长 单位:小时格式:02小时52分. */ |
42 | 42 | private String parkingDuration; |
... | ... | @@ -116,19 +116,21 @@ public class OrderVO { |
116 | 116 | this.orderTitle = orderTitle == null ? null : orderTitle.trim(); |
117 | 117 | } |
118 | 118 | |
119 | - public Date getParkInTime() { | |
119 | + | |
120 | + | |
121 | + public String getParkInTime() { | |
120 | 122 | return parkInTime; |
121 | 123 | } |
122 | 124 | |
123 | - public void setParkInTime(Date parkInTime) { | |
125 | + public void setParkInTime(String parkInTime) { | |
124 | 126 | this.parkInTime = parkInTime; |
125 | 127 | } |
126 | 128 | |
127 | - public Date getParkOutTime() { | |
129 | + public String getParkOutTime() { | |
128 | 130 | return parkOutTime; |
129 | 131 | } |
130 | 132 | |
131 | - public void setParkOutTime(Date parkOutTime) { | |
133 | + public void setParkOutTime(String parkOutTime) { | |
132 | 134 | this.parkOutTime = parkOutTime; |
133 | 135 | } |
134 | 136 | ... | ... |
src/main/webapp/WEB-INF/pages/check.html
... | ... | @@ -63,33 +63,33 @@ |
63 | 63 | |
64 | 64 | |
65 | 65 | <header class="demos-header"> |
66 | - <p class="all_told discount_money"><span id="orderNotPayFee">90.00</span>元</p> | |
66 | + <p class="all_told discount_money"><span id="orderNotPayFee">${orderVO.orderNotPayFee!''}</span>元</p> | |
67 | 67 | <p class="platen_number discount_money" style="font-weight:bold;" id="orderTitle">待付费用</p> |
68 | 68 | </header> |
69 | 69 | |
70 | 70 | <div class="weui-cells weui-cells_form"> |
71 | 71 | <input type="hidden" id="carNumPre" value="${carNum!''}"/> |
72 | - <input type="hidden" id="parkOrderId"/> | |
72 | + <input type="hidden" id="parkOrderId" value="${orderVO.orderId!''}"/> | |
73 | 73 | <div class="weui-cell"> |
74 | 74 | <div class="weui-cell__hd"><label for="" class="weui-label">当前车牌</label></div> |
75 | - <div class="weui-cell__bd" id="carNumber"> | |
75 | + <div class="weui-cell__bd" id="carNumber">${orderVO.carNumber!''} | |
76 | 76 | |
77 | 77 | </div> |
78 | 78 | </div> |
79 | 79 | |
80 | 80 | <div class="weui-cell"> |
81 | 81 | <div class="weui-cell__hd"><label for="" class="weui-label">停车位置</label></div> |
82 | - <div class="weui-cell__bd" id="parkName"> | |
82 | + <div class="weui-cell__bd" id="parkName">${orderVO.parkName!''} | |
83 | 83 | </div> |
84 | 84 | </div> |
85 | 85 | <div class="weui-cell"> |
86 | 86 | <div class="weui-cell__hd"><label for="" class="weui-label">进场时间</label></div> |
87 | - <div class="weui-cell__bd" id="parkInTime"> | |
87 | + <div class="weui-cell__bd" id="parkInTime">${orderVO.parkInTime!''} | |
88 | 88 | </div> |
89 | 89 | </div> |
90 | 90 | <div class="weui-cell"> |
91 | 91 | <div class="weui-cell__hd"><label for="" class="weui-label">停车时长</label></div> |
92 | - <div class="weui-cell__bd" id="parkingDuration"> | |
92 | + <div class="weui-cell__bd" id="parkingDuration">${orderVO.parkingDuration!''} | |
93 | 93 | </div> |
94 | 94 | </div> |
95 | 95 | |
... | ... | @@ -99,14 +99,14 @@ |
99 | 99 | <div class="weui-cell"> |
100 | 100 | <div class="weui-cell__hd"><label for="" class="weui-label">总计费用</label></div> |
101 | 101 | <div class="weui-cell__bd"> |
102 | - ¥<span id="orderTotalFee"></span> | |
102 | + ¥<span id="orderTotalFee">${orderVO.orderTotalFee!''}</span> | |
103 | 103 | </div> |
104 | 104 | </div> |
105 | 105 | |
106 | 106 | <div class="weui-cell"> |
107 | 107 | <div class="weui-cell__hd"><label for="" class="weui-label">已付费用</label></div> |
108 | 108 | <div class="weui-cell__bd"> |
109 | - ¥<span id="orderPayedFee"></span> | |
109 | + ¥<span id="orderPayedFee">${orderVO.orderPayedFee!''}</span> | |
110 | 110 | </div> |
111 | 111 | </div> |
112 | 112 | <!-- <div class="weui-cell"> |
... | ... | @@ -128,53 +128,27 @@ |
128 | 128 | <script src="${staticHost}/js/jsutil.js"></script> |
129 | 129 | <script src="${staticHost}/js/url.js"></script> |
130 | 130 | <script type="text/javascript"> |
131 | - var func = { | |
132 | - /**查询待支付订单*/ | |
133 | - initData: function () { | |
134 | - $('#orderNotPayFee').empty(); | |
135 | - $('#orderTitle').empty(); | |
136 | - $('#carNumber').empty(); | |
137 | - $('#parkName').empty(); | |
138 | - $('#parkInTime').empty(); | |
139 | - $('#parkingDuration').empty(); | |
140 | - $('#orderTotalFee').empty(); | |
141 | - $('#orderPayedFee').empty(); | |
142 | - var carNumPre = $('#carNumPre').val(); | |
143 | - jsutil.defaultReq( | |
144 | - mUrl.queryParkOrderForNotPay, | |
145 | - {"carNum": carNumPre}, | |
146 | - function (data) { | |
147 | - if (data != null && "1005" == data.code) { | |
148 | - window.location.href = mUrl.queryOrderCheckErrorView + "&carNum=" + carNumPre; | |
149 | - } else if (data != null && "8888" != data.code) { | |
150 | - $.alert("查询待支付订单失败,请重试!"); | |
151 | - } else { | |
152 | - var orderVO = data.data; | |
153 | - $('#parkOrderId').val(orderVO.orderId); | |
154 | - $('#payOrderId').val(orderVO.payOrderId) | |
155 | - $('#orderNotPayFee').text(orderVO.orderNotPayFee); | |
156 | - $('#orderTitle').text(orderVO.orderTitle); | |
157 | - $('#carNumber').text(orderVO.carNumber); | |
158 | - $('#parkName').text(orderVO.parkName); | |
159 | - $('#parkInTime').text(orderVO.parkInTime); | |
160 | - $('#parkingDuration').text(orderVO.parkingDuration); | |
161 | - $('#orderTotalFee').text(orderVO.orderTotalFee); | |
162 | - $('#orderPayedFee').text(orderVO.orderPayedFee); | |
163 | - | |
164 | - } | |
165 | - | |
166 | - | |
167 | - }); | |
168 | - }, | |
169 | - }; | |
170 | - $(function () { | |
171 | - func.initData(); | |
172 | - }); | |
131 | + $(function(){ | |
132 | + var orderNotPayFee = $('#orderNotPayFee').text(); | |
133 | + if("0" ==orderNotPayFee || null == orderNotPayFee || "" == orderNotPayFee){ | |
134 | + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); | |
135 | + } | |
136 | + }); | |
173 | 137 | var flg = true; |
174 | 138 | $("#showTooltips").click(function () { |
139 | + var orderNotPayFee = $('#orderNotPayFee').text(); | |
140 | + if("0" ==orderNotPayFee || null == orderNotPayFee || "" == orderNotPayFee){ | |
141 | + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); | |
142 | + flg = false; | |
143 | + return false; | |
144 | + }else{ | |
145 | + $('#showTooltips').attr('class', 'weui-btn weui-btn_primary'); | |
146 | + flg = true; | |
147 | + } | |
175 | 148 | if (flg) { |
176 | 149 | flg = false; |
177 | 150 | $('#showTooltips').attr('class', 'weui-btn weui-btn_primary weui-btn_disabled'); |
151 | + //判断待付费用为0不能发起支付 | |
178 | 152 | var parkOrderId = $('#parkOrderId').val(); |
179 | 153 | if (parkOrderId.length < 1) { |
180 | 154 | $.toptip("订单Id为空", 2000, "error"); |
... | ... | @@ -185,23 +159,39 @@ |
185 | 159 | var req = { |
186 | 160 | orderId: parkOrderId |
187 | 161 | } |
188 | - | |
189 | - $.ajax({ | |
190 | - url: mUrl.getJSPayParam, | |
191 | - type: 'post', | |
192 | - dataType: 'json', | |
193 | - data: req, | |
194 | - success: function (res) { | |
195 | - if (res.code == '8888') { | |
196 | - var payParam = res.data; | |
197 | - //调用微信支付 | |
198 | - callpay(payParam); | |
199 | - } else { | |
200 | - $.toptip(res.msg, 2000, "error"); | |
201 | - console.log('详细错误信息为:' + res.data); | |
202 | - } | |
203 | - } | |
204 | - }); | |
162 | + | |
163 | + jsutil.defaultReq( | |
164 | + mUrl.queryParkOrderForNotPay, | |
165 | + {"orderId":parkOrderId}, | |
166 | + function(data){ | |
167 | + if(data != null && "8888" !=data.code){ | |
168 | + $.alert("亲!支付失败,请重试!"); | |
169 | + return false; | |
170 | + }else{ | |
171 | + $.ajax({ | |
172 | + url: mUrl.getJSPayParam, | |
173 | + type: 'post', | |
174 | + dataType: 'json', | |
175 | + data: req, | |
176 | + success: function (res) { | |
177 | + if (res.code == '8888') { | |
178 | + var payParam = res.data; | |
179 | + //调用微信支付 | |
180 | + callpay(payParam); | |
181 | + } else { | |
182 | + $.toptip(res.msg, 2000, "error"); | |
183 | + console.log('详细错误信息为:' + res.data); | |
184 | + } | |
185 | + } | |
186 | + }); | |
187 | + }//else | |
188 | + | |
189 | + } | |
190 | + | |
191 | + ); | |
192 | + | |
193 | + | |
194 | + | |
205 | 195 | }//if |
206 | 196 | }); |
207 | 197 | ... | ... |
src/main/webapp/WEB-INF/pages/select.html
... | ... | @@ -169,8 +169,8 @@ $('#view_now').on('click',function () { |
169 | 169 | }; |
170 | 170 | //根据车牌号查询带支付的订单是否存在 |
171 | 171 | // |
172 | - | |
173 | - jsutil.defaultReq( | |
172 | + window.location.href= mUrl.parkOrderForNotPayExist +"&carNum="+val; | |
173 | + /**jsutil.defaultReq( | |
174 | 174 | mUrl.parkOrderForNotPayExist , |
175 | 175 | {"carNum":val}, |
176 | 176 | function(data){ |
... | ... | @@ -188,7 +188,7 @@ $('#view_now').on('click',function () { |
188 | 188 | |
189 | 189 | } |
190 | 190 | |
191 | - }); | |
191 | + });*/ | |
192 | 192 | |
193 | 193 | |
194 | 194 | ... | ... |