Commit 80db26ae69d0c35b303328cbefae5289c7417274
1 parent
07a50221
提交
Showing
4 changed files
with
94 additions
and
106 deletions
pom.xml
... | ... | @@ -137,8 +137,8 @@ |
137 | 137 | <artifactId>sign</artifactId> |
138 | 138 | <type>jar</type> |
139 | 139 | <version>1.0</version> |
140 | - <scope>system</scope> | |
141 | - <systemPath>${basedir}/src/main/webapp/lib/sign-1.0.jar</systemPath> | |
140 | + <!-- <scope>system</scope> | |
141 | + <systemPath>${basedir}/src/main/webapp/lib/sign-1.0.jar</systemPath>--> | |
142 | 142 | </dependency> |
143 | 143 | <dependency> |
144 | 144 | <groupId>com.alibaba</groupId> | ... | ... |
src/main/java/com/rnt/controller/WeixinPayController.java
... | ... | @@ -12,8 +12,9 @@ import java.util.Map; |
12 | 12 | import java.util.Map.Entry; |
13 | 13 | import java.util.Set; |
14 | 14 | |
15 | -import com.alibaba.fastjson.JSONObject; | |
15 | +import org.beetl.sql.core.kit.StringKit; | |
16 | 16 | |
17 | +import com.alibaba.fastjson.JSONObject; | |
17 | 18 | import com.jfinal.aop.Clear; |
18 | 19 | import com.jfinal.aop.Duang; |
19 | 20 | import com.jfinal.core.Controller; |
... | ... | @@ -36,6 +37,7 @@ import com.rnt.commo.enums.SequenceTypeEnum; |
36 | 37 | import com.rnt.commo.interceptor.BindInterceptor; |
37 | 38 | import com.rnt.model.zf.CardCoupons; |
38 | 39 | import com.rnt.model.zf.Order; |
40 | +import com.rnt.model.zf.OrderDetailPark; | |
39 | 41 | import com.rnt.model.zf.ParkCardCoupons; |
40 | 42 | import com.rnt.model.zf.PayOrder; |
41 | 43 | import com.rnt.model.zf.PayOrderFlow; |
... | ... | @@ -55,7 +57,6 @@ import com.rnt.vo.OrderVO; |
55 | 57 | import com.rnt.vo.ParkLotCardVO; |
56 | 58 | import com.xiaoleilu.hutool.date.DateField; |
57 | 59 | import com.xiaoleilu.hutool.date.DateUtil; |
58 | -import org.beetl.sql.core.kit.StringKit; | |
59 | 60 | |
60 | 61 | /** |
61 | 62 | * 感谢 *半杯* 童鞋联调支付API |
... | ... | @@ -1117,19 +1118,17 @@ public class WeixinPayController extends Controller { |
1117 | 1118 | public void parkOrderForNotPayExist() { |
1118 | 1119 | BizResult<Order> result = new BizResult<>(); |
1119 | 1120 | String carNum = this.getPara("carNum"); |
1120 | - logger.info("开始校验输入车牌是否存在待核算订单..入参=" + carNum); | |
1121 | - String rs = ""; | |
1122 | - OrderVO OrderVO = new OrderVO(); | |
1121 | + logger.info("---begin 校验输入车牌是否存在待核算订单..入参=" + carNum); | |
1122 | + Map<String,String> reultMap = new HashMap<String,String>(); | |
1123 | 1123 | try { |
1124 | 1124 | if (StringKit.isNotBlank(carNum)) { |
1125 | 1125 | OrderService orderService = Duang.duang(OrderService.class); |
1126 | - IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class); | |
1127 | - /**查询待核算支付单信息.*/ | |
1126 | + /**查询单信息.*/ | |
1128 | 1127 | Order order = orderService.findOrderByCarNum(carNum); |
1129 | 1128 | if (order != null && StringKit.isNotBlank(order.getOrderId())) { |
1130 | 1129 | result.setData(order); |
1131 | - /**调用艾润查询费用接口.*/ | |
1132 | - rs = iRainQueryService.billQuery(carNum, order.getParkId()); | |
1130 | + /**查询费用接口.*/ | |
1131 | + reultMap = orderService.chosseBillQuery(carNum, order); | |
1133 | 1132 | } else { |
1134 | 1133 | result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); |
1135 | 1134 | } |
... | ... | @@ -1137,21 +1136,14 @@ public class WeixinPayController extends Controller { |
1137 | 1136 | logger.info("入参为空!"); |
1138 | 1137 | result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); |
1139 | 1138 | } |
1140 | - if (StringKit.isNotBlank(rs)) { | |
1141 | - if ("NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))) { | |
1142 | - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | |
1143 | - this.renderJson(result); | |
1144 | - return; | |
1145 | - } | |
1146 | - } else { | |
1147 | - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | |
1148 | - this.renderJson(result); | |
1149 | - return; | |
1139 | + | |
1140 | + if(reultMap == null || reultMap.size() ==0){ | |
1141 | + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); | |
1150 | 1142 | } |
1151 | 1143 | } catch (Exception e) { |
1152 | 1144 | e.printStackTrace(); |
1153 | 1145 | } |
1154 | - logger.info("结束校验输入车牌是否存在待核算订单..响应=" + JSONObject.toJSONString(result)); | |
1146 | + logger.info("---end 校验输入车牌是..结果=" + JSONObject.toJSONString(result)); | |
1155 | 1147 | this.renderJson(result); |
1156 | 1148 | |
1157 | 1149 | } | ... | ... |
src/main/java/com/rnt/service/OrderService.java
... | ... | @@ -9,8 +9,9 @@ import java.util.HashMap; |
9 | 9 | import java.util.List; |
10 | 10 | import java.util.Map; |
11 | 11 | |
12 | -import com.alibaba.fastjson.JSONObject; | |
12 | +import org.beetl.sql.core.kit.StringKit; | |
13 | 13 | |
14 | +import com.alibaba.fastjson.JSONObject; | |
14 | 15 | import com.jfinal.aop.Before; |
15 | 16 | import com.jfinal.aop.Duang; |
16 | 17 | import com.jfinal.log.Log; |
... | ... | @@ -18,18 +19,19 @@ import com.jfinal.plugin.activerecord.Db; |
18 | 19 | import com.jfinal.plugin.activerecord.tx.Tx; |
19 | 20 | import com.rnt.commo.enums.DSEnum; |
20 | 21 | import com.rnt.commo.enums.DataStatusEnum; |
22 | +import com.rnt.commo.enums.ErrorType; | |
21 | 23 | import com.rnt.commo.enums.OrderTypeEnum; |
22 | 24 | import com.rnt.commo.enums.PayOrderEnum; |
23 | 25 | import com.rnt.commo.enums.SequenceTypeEnum; |
24 | 26 | import com.rnt.model.zf.CardCoupons; |
25 | 27 | import com.rnt.model.zf.Order; |
26 | 28 | import com.rnt.model.zf.OrderDetailCard; |
29 | +import com.rnt.model.zf.OrderDetailPark; | |
27 | 30 | import com.rnt.model.zf.ParkOrderFlow; |
28 | 31 | import com.rnt.model.zf.PayOrder; |
29 | 32 | import com.rnt.utils.DateUtil; |
30 | 33 | import com.rnt.utils.SequenceUtil; |
31 | 34 | import com.rnt.vo.OrderVO; |
32 | -import org.beetl.sql.core.kit.StringKit; | |
33 | 35 | |
34 | 36 | public class OrderService { |
35 | 37 | |
... | ... | @@ -129,6 +131,20 @@ public class OrderService { |
129 | 131 | |
130 | 132 | return list; |
131 | 133 | } |
134 | + | |
135 | + /** | |
136 | + * 通过订单好 | |
137 | + * @param orderId | |
138 | + * @return | |
139 | + */ | |
140 | + public OrderDetailPark queryDetailParkByOrderId(String orderId){ | |
141 | + StringBuffer sql = new StringBuffer("select order_id,record_id"); | |
142 | + sql.append(" from td_b_order_detail_park a "); | |
143 | + sql.append(" where a.data_state =1"); | |
144 | + sql.append(" and a.order_id ? "); | |
145 | + OrderDetailPark orderDetailPark = new OrderDetailPark().findFirst(sql.toString(), orderId); | |
146 | + return orderDetailPark; | |
147 | + } | |
132 | 148 | |
133 | 149 | /** |
134 | 150 | * 查询待支付的停车订单.<br/> |
... | ... | @@ -143,40 +159,33 @@ public class OrderService { |
143 | 159 | * @throws ParseException |
144 | 160 | */ |
145 | 161 | public OrderVO queryParkOrderForNotPay(String carNum) throws ParseException { |
146 | - logger.info("开始查询待支付单信息,carNum=" + carNum); | |
162 | + logger.info("---begin订单信息更新,carNum=" + carNum); | |
147 | 163 | OrderVO orderVO = new OrderVO(); |
148 | 164 | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
149 | - String irunResult = ""; | |
150 | - //1.查询待支付订单 | |
165 | + Map<String,String> resultmap = new HashMap<String,String>(); | |
166 | + //1.查询支付订单 | |
151 | 167 | Order order = this.findOrderByCarNum(carNum); |
152 | - //2.调用艾润接口 | |
153 | - if (order != null && StringKit.isNotBlank(order.getParkId())) { | |
154 | - irunResult = iRainQueryService.billQuery(carNum, order.getParkId()); | |
155 | - } else { | |
156 | - logger.info("查询订单失败"); | |
157 | - } | |
168 | + logger.info("通过车牌号查询到的支付订单信息结果="+JSONObject.toJSON(order)); | |
169 | + //2.调用查询费用接口 | |
170 | + if (order != null && StringKit.isNotBlank(order.getOrderId())) { | |
171 | + resultmap = this.chosseBillQuery(carNum,order); | |
172 | + } | |
158 | 173 | boolean orderUpdateFlg = false; |
159 | 174 | int updateOrderDetailFlg = 0; |
160 | 175 | //3.更新订单 |
161 | - if (StringKit.isNotBlank(irunResult) && !"NO_PARK_RECORD".equals(JSONObject.parseObject(irunResult).get("code"))) { | |
162 | - Map<String, String> map = jsonToMapForIrunResult(irunResult); | |
163 | - Order updateOrder = new Order(); | |
164 | - | |
165 | - if (map != null && map.size() > 0) { | |
176 | + if (resultmap != null && resultmap.size() >0){ | |
177 | + Order updateOrder = new Order(); | |
166 | 178 | updateOrder.setId(order.getId()); |
167 | 179 | updateOrder.setOrderId(order.getOrderId()); |
168 | 180 | updateOrder.setOrderType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_PARK.getValue())); |
169 | 181 | updateOrder.setOrderState(Integer.valueOf(OrderTypeEnum.ORDER_TYPE_2.value())); |
170 | - updateOrder.setOrderPayedFee(new BigDecimal(map.get("order_payed_fee"))); | |
171 | - updateOrder.setOrderNotPayFee(new BigDecimal(map.get("order_not_pay_fee"))); | |
172 | - updateOrder.setOrderTotalFee(new BigDecimal(map.get("order_total_fee"))); | |
182 | + updateOrder.setOrderPayedFee(new BigDecimal(resultmap.get("order_payed_fee"))); | |
183 | + updateOrder.setOrderNotPayFee(new BigDecimal(resultmap.get("order_not_pay_fee"))); | |
184 | + updateOrder.setOrderTotalFee(new BigDecimal(resultmap.get("order_total_fee"))); | |
173 | 185 | updateOrder.setModfiyDate(new Date()); |
174 | 186 | /**更新订单表.*/ |
175 | 187 | orderUpdateFlg = updateOrder.update(); |
176 | - } else { | |
177 | - logger.info("没有查询到费用信息"); | |
178 | - } | |
179 | - | |
188 | + logger.info("更新订单结果="+(orderUpdateFlg ==true ? "成功!" :"失败!")); | |
180 | 189 | if (orderUpdateFlg) { |
181 | 190 | StringBuffer sqls = new StringBuffer("update td_b_order_detail_park a "); |
182 | 191 | sqls.append("set a.order_id =?,"); |
... | ... | @@ -191,29 +200,29 @@ public class OrderService { |
191 | 200 | /**更新订单明细表.*/ |
192 | 201 | updateOrderDetailFlg = Db.use(DSEnum.ZF_DATASOURCE.name()).update(sqls.toString(), |
193 | 202 | order.getOrderId(), |
194 | - map.get("record_id"), | |
195 | - format.parse(map.get("park_in_time")), | |
196 | - format.parse(map.get("park_out_time")), | |
197 | - Long.valueOf(map.get("parking_duration")), | |
203 | + resultmap.get("record_id"), | |
204 | + format.parse(resultmap.get("park_in_time")), | |
205 | + format.parse(resultmap.get("park_out_time")), | |
206 | + Long.valueOf(resultmap.get("parking_duration")), | |
198 | 207 | new Date(), |
199 | 208 | order.getOrderId()); |
200 | - if (updateOrderDetailFlg <= 0) { | |
201 | - logger.info("更新订单子表失败"); | |
202 | - } else { | |
203 | - //封装返回数据 | |
209 | + logger.info("更新停车订单明细结果="+(updateOrderDetailFlg > 0 ? "成功" : "失败")); | |
210 | + if (updateOrderDetailFlg > 0) { | |
211 | + //封装返回数据 | |
204 | 212 | orderVO.setOrderId(order.getOrderId()); |
205 | 213 | orderVO.setParkId(order.getParkId()); |
206 | - orderVO.setParkName(map.get("park_name")); | |
207 | - orderVO.setParkAddress(map.get("park_address")); | |
214 | + orderVO.setParkName(resultmap.get("park_name")); | |
215 | + orderVO.setParkAddress(resultmap.get("park_address")); | |
208 | 216 | orderVO.setCarNumber(order.getCarNumber()); |
209 | - orderVO.setOrderPayedFee(new BigDecimal(map.get("order_payed_fee"))); | |
210 | - orderVO.setOrderNotPayFee(new BigDecimal(map.get("order_not_pay_fee"))); | |
211 | - orderVO.setOrderTotalFee(new BigDecimal(map.get("order_total_fee"))); | |
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"))); | |
212 | 220 | orderVO.setOrderTitle("待付费用"); |
213 | - orderVO.setParkInTime(format.parse(map.get("park_in_time"))); | |
214 | - orderVO.setParkOutTime(format.parse(map.get("park_out_time"))); | |
215 | - orderVO.setParkingDuration(DateUtil.secondToTime(Long.valueOf(map.get("parking_duration")))); | |
216 | - } | |
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 | + } | |
225 | + /**插入订单流水.*/ | |
217 | 226 | ParkOrderFlow parkOrderFlow = new ParkOrderFlow(); |
218 | 227 | parkOrderFlow.setParkOrderFolwId(SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PARK_FLOW.value())); |
219 | 228 | parkOrderFlow.setParkOrderId(order.getOrderId()); |
... | ... | @@ -221,56 +230,43 @@ public class OrderService { |
221 | 230 | parkOrderFlow.setProcResult(1); |
222 | 231 | parkOrderFlow.save(); |
223 | 232 | |
224 | - } else { | |
225 | - logger.info("更新订单失败"); | |
226 | - } | |
233 | + } | |
227 | 234 | } |
228 | - logger.info("结束查询待支付单信息"); | |
235 | + | |
236 | + logger.info("---end订单信息更新,结果=" +JSONObject.toJSON(orderVO)); | |
229 | 237 | return orderVO; |
230 | 238 | } |
231 | - | |
239 | + | |
232 | 240 | /** |
233 | - * 获取查询费用返回结果.<br/> | |
234 | - * | |
235 | - * @param json | |
241 | + * 查询费用艾润或者青岛路侧费用查询接口.<br/> | |
242 | + * @param carNum | |
236 | 243 | * @return |
237 | 244 | */ |
238 | - private Map<String, String> jsonToMapForIrunResult(String json) { | |
239 | - | |
240 | - JSONObject jsobj = JSONObject.parseObject(json); | |
241 | - Map<String, String> map = new HashMap<String, String>(); | |
242 | - if (jsobj != null) { | |
243 | - if (!jsobj.get("status").toString().equals("0")) { | |
244 | - JSONObject data = (JSONObject)jsobj.get("data"); | |
245 | - // 出场时间对象 | |
246 | - JSONObject parkOutObject = (JSONObject)data.get("out"); | |
247 | - //停车记录id | |
248 | - map.put("record_id", data.getString("id")); | |
249 | - // 出场时间 | |
250 | - map.put("park_out_time", parkOutObject.getString("time")); | |
251 | - if (data.get("park") != null) { | |
252 | - map.put("park_name", JSONObject.parseObject(data.get("park").toString()).get("name") + ""); | |
253 | - map.put("park_address", JSONObject.parseObject(data.get("park").toString()).get("address") + ""); | |
254 | - } | |
255 | - | |
256 | - //入场时间 | |
257 | - if (data.get("in") != null) { | |
258 | - map.put("park_in_time", JSONObject.parseObject(data.get("in").toString()).getString("time")); | |
259 | - } | |
260 | - //总费用 | |
261 | - map.put("order_total_fee", JSONObject.parseObject(data.get("charge").toString()).getString("due")); | |
262 | - //已付费用 | |
263 | - map.put("order_payed_fee", JSONObject.parseObject(data.get("charge").toString()).getString("paid")); | |
264 | - //未支付费用(本次应付金额) | |
265 | - map.put("order_not_pay_fee", JSONObject.parseObject(data.get("charge").toString()).getString("unpaid")); | |
266 | - //停车时长 单位:秒 | |
267 | - map.put("parking_duration", | |
268 | - JSONObject.parseObject(data.get("charge").toString()).getString("duration")); | |
269 | - } | |
270 | - } | |
271 | - return map; | |
245 | + public Map<String, String> chosseBillQuery(String carNum,Order order){ | |
246 | + | |
247 | + OrderService orderService = Duang.duang(OrderService.class); | |
248 | + IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class); | |
249 | + Map<String, String> reultMap = new HashMap<String, String>(); | |
250 | + if (order != null && StringKit.isNotBlank(order.getOrderId())) { | |
251 | + if("1".equals(String.valueOf(order.getSourceType()))){//道闸:调用艾润查询费用接口 | |
252 | + /**调用艾润查询费用接口.*/ | |
253 | + reultMap = iRainQueryService.billQuery(carNum, order.getParkId()); | |
254 | + }else if("2".equals(String.valueOf(order.getSourceType())) | |
255 | + && StringKit.isNotBlank(order.getOrderId())){//调用青岛路侧查询费用接口 | |
256 | + /**查询停车记录id.*/ | |
257 | + OrderDetailPark OrderDetailPark = orderService.queryDetailParkByOrderId(order.getOrderId()); | |
258 | + if(OrderDetailPark != null && StringKit.isNotBlank(OrderDetailPark.getRecordId())){ | |
259 | + /**调用青岛路侧费用查询接口.*/ | |
260 | + reultMap =iRainQueryService.queryBillRoadside(OrderDetailPark.getRecordId()); | |
261 | + } | |
262 | + | |
263 | + } | |
264 | + } | |
265 | + return reultMap; | |
272 | 266 | } |
273 | 267 | |
268 | + | |
269 | + | |
274 | 270 | /** |
275 | 271 | * 通过车牌查询待核算支付单信息.<br/> |
276 | 272 | * | ... | ... |
src/main/webapp/static/js/url.js
1 | 1 | var mUrl = mUrl || {}; |
2 | 2 | //var webPath = 'http://p6esgw.natappfree.cc'; |
3 | -//var webPath = 'http://atao.s1.natapp.cc'; | |
4 | -var webPath = 'http://wxgzh.rnting.com/rnt-wx'; | |
3 | +var webPath = 'localhost:8080'; | |
4 | +//var webPath = 'http://wxgzh.rnting.com/rnt-wx'; | |
5 | 5 | mUrl.getCommonParam = function () { |
6 | 6 | //获取公共参数 |
7 | 7 | var openId = mUrl.getOpenId(); | ... | ... |