From 80db26ae69d0c35b303328cbefae5289c7417274 Mon Sep 17 00:00:00 2001 From: wangfs <15029758498@163.com> Date: Thu, 6 Jul 2017 15:35:23 +0800 Subject: [PATCH] 提交 --- pom.xml | 4 ++-- src/main/java/com/rnt/controller/WeixinPayController.java | 32 ++++++++++++-------------------- src/main/java/com/rnt/service/OrderService.java | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------- src/main/webapp/static/js/url.js | 4 ++-- 4 files changed, 94 insertions(+), 106 deletions(-) diff --git a/pom.xml b/pom.xml index b269553..42dfbf6 100644 --- a/pom.xml +++ b/pom.xml @@ -137,8 +137,8 @@ sign jar 1.0 - system - ${basedir}/src/main/webapp/lib/sign-1.0.jar + com.alibaba diff --git a/src/main/java/com/rnt/controller/WeixinPayController.java b/src/main/java/com/rnt/controller/WeixinPayController.java index 148f0e9..b7e7463 100644 --- a/src/main/java/com/rnt/controller/WeixinPayController.java +++ b/src/main/java/com/rnt/controller/WeixinPayController.java @@ -12,8 +12,9 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import com.alibaba.fastjson.JSONObject; +import org.beetl.sql.core.kit.StringKit; +import com.alibaba.fastjson.JSONObject; import com.jfinal.aop.Clear; import com.jfinal.aop.Duang; import com.jfinal.core.Controller; @@ -36,6 +37,7 @@ import com.rnt.commo.enums.SequenceTypeEnum; import com.rnt.commo.interceptor.BindInterceptor; import com.rnt.model.zf.CardCoupons; import com.rnt.model.zf.Order; +import com.rnt.model.zf.OrderDetailPark; import com.rnt.model.zf.ParkCardCoupons; import com.rnt.model.zf.PayOrder; import com.rnt.model.zf.PayOrderFlow; @@ -55,7 +57,6 @@ import com.rnt.vo.OrderVO; import com.rnt.vo.ParkLotCardVO; import com.xiaoleilu.hutool.date.DateField; import com.xiaoleilu.hutool.date.DateUtil; -import org.beetl.sql.core.kit.StringKit; /** * 感谢 *半杯* 童鞋联调支付API @@ -1117,19 +1118,17 @@ public class WeixinPayController extends Controller { public void parkOrderForNotPayExist() { BizResult result = new BizResult<>(); String carNum = this.getPara("carNum"); - logger.info("开始校验输入车牌是否存在待核算订单..入参=" + carNum); - String rs = ""; - OrderVO OrderVO = new OrderVO(); + logger.info("---begin 校验输入车牌是否存在待核算订单..入参=" + carNum); + Map reultMap = new HashMap(); try { if (StringKit.isNotBlank(carNum)) { OrderService orderService = Duang.duang(OrderService.class); - IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class); - /**查询待核算支付单信息.*/ + /**查询单信息.*/ Order order = orderService.findOrderByCarNum(carNum); if (order != null && StringKit.isNotBlank(order.getOrderId())) { result.setData(order); - /**调用艾润查询费用接口.*/ - rs = iRainQueryService.billQuery(carNum, order.getParkId()); + /**查询费用接口.*/ + reultMap = orderService.chosseBillQuery(carNum, order); } else { result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); } @@ -1137,21 +1136,14 @@ public class WeixinPayController extends Controller { logger.info("入参为空!"); result.setErrorMessage(ErrorType.SYSTEM_ERROR, "业务错误"); } - if (StringKit.isNotBlank(rs)) { - if ("NO_PARK_RECORD".equals(JSONObject.parseObject(rs).get("code"))) { - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); - this.renderJson(result); - return; - } - } else { - result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); - this.renderJson(result); - return; + + if(reultMap == null || reultMap.size() ==0){ + result.setErrorMessage(ErrorType.NO_PARKING_MSG, "无停车记录"); } } catch (Exception e) { e.printStackTrace(); } - logger.info("结束校验输入车牌是否存在待核算订单..响应=" + JSONObject.toJSONString(result)); + logger.info("---end 校验输入车牌是..结果=" + JSONObject.toJSONString(result)); this.renderJson(result); } diff --git a/src/main/java/com/rnt/service/OrderService.java b/src/main/java/com/rnt/service/OrderService.java index ef2c5a9..1776bb4 100644 --- a/src/main/java/com/rnt/service/OrderService.java +++ b/src/main/java/com/rnt/service/OrderService.java @@ -9,8 +9,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import com.alibaba.fastjson.JSONObject; +import org.beetl.sql.core.kit.StringKit; +import com.alibaba.fastjson.JSONObject; import com.jfinal.aop.Before; import com.jfinal.aop.Duang; import com.jfinal.log.Log; @@ -18,18 +19,19 @@ import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.tx.Tx; import com.rnt.commo.enums.DSEnum; import com.rnt.commo.enums.DataStatusEnum; +import com.rnt.commo.enums.ErrorType; import com.rnt.commo.enums.OrderTypeEnum; import com.rnt.commo.enums.PayOrderEnum; import com.rnt.commo.enums.SequenceTypeEnum; import com.rnt.model.zf.CardCoupons; import com.rnt.model.zf.Order; import com.rnt.model.zf.OrderDetailCard; +import com.rnt.model.zf.OrderDetailPark; import com.rnt.model.zf.ParkOrderFlow; import com.rnt.model.zf.PayOrder; import com.rnt.utils.DateUtil; import com.rnt.utils.SequenceUtil; import com.rnt.vo.OrderVO; -import org.beetl.sql.core.kit.StringKit; public class OrderService { @@ -129,6 +131,20 @@ public class OrderService { return list; } + + /** + * 通过订单好 + * @param orderId + * @return + */ + public OrderDetailPark queryDetailParkByOrderId(String orderId){ + StringBuffer sql = new StringBuffer("select order_id,record_id"); + sql.append(" from td_b_order_detail_park a "); + sql.append(" where a.data_state =1"); + sql.append(" and a.order_id ? "); + OrderDetailPark orderDetailPark = new OrderDetailPark().findFirst(sql.toString(), orderId); + return orderDetailPark; + } /** * 查询待支付的停车订单.
@@ -143,40 +159,33 @@ public class OrderService { * @throws ParseException */ public OrderVO queryParkOrderForNotPay(String carNum) throws ParseException { - logger.info("开始查询待支付单信息,carNum=" + carNum); + logger.info("---begin订单信息更新,carNum=" + carNum); OrderVO orderVO = new OrderVO(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - String irunResult = ""; - //1.查询待支付订单 + Map resultmap = new HashMap(); + //1.查询支付订单 Order order = this.findOrderByCarNum(carNum); - //2.调用艾润接口 - if (order != null && StringKit.isNotBlank(order.getParkId())) { - irunResult = iRainQueryService.billQuery(carNum, order.getParkId()); - } else { - logger.info("查询订单失败"); - } + logger.info("通过车牌号查询到的支付订单信息结果="+JSONObject.toJSON(order)); + //2.调用查询费用接口 + if (order != null && StringKit.isNotBlank(order.getOrderId())) { + resultmap = this.chosseBillQuery(carNum,order); + } boolean orderUpdateFlg = false; int updateOrderDetailFlg = 0; //3.更新订单 - if (StringKit.isNotBlank(irunResult) && !"NO_PARK_RECORD".equals(JSONObject.parseObject(irunResult).get("code"))) { - Map map = jsonToMapForIrunResult(irunResult); - Order updateOrder = new Order(); - - if (map != null && map.size() > 0) { + if (resultmap != null && resultmap.size() >0){ + Order updateOrder = new Order(); updateOrder.setId(order.getId()); updateOrder.setOrderId(order.getOrderId()); updateOrder.setOrderType(Integer.valueOf(PayOrderEnum.PAY_RESOURCE_TYPE_PARK.getValue())); updateOrder.setOrderState(Integer.valueOf(OrderTypeEnum.ORDER_TYPE_2.value())); - updateOrder.setOrderPayedFee(new BigDecimal(map.get("order_payed_fee"))); - updateOrder.setOrderNotPayFee(new BigDecimal(map.get("order_not_pay_fee"))); - updateOrder.setOrderTotalFee(new BigDecimal(map.get("order_total_fee"))); + updateOrder.setOrderPayedFee(new BigDecimal(resultmap.get("order_payed_fee"))); + updateOrder.setOrderNotPayFee(new BigDecimal(resultmap.get("order_not_pay_fee"))); + updateOrder.setOrderTotalFee(new BigDecimal(resultmap.get("order_total_fee"))); updateOrder.setModfiyDate(new Date()); /**更新订单表.*/ orderUpdateFlg = updateOrder.update(); - } else { - logger.info("没有查询到费用信息"); - } - + logger.info("更新订单结果="+(orderUpdateFlg ==true ? "成功!" :"失败!")); if (orderUpdateFlg) { StringBuffer sqls = new StringBuffer("update td_b_order_detail_park a "); sqls.append("set a.order_id =?,"); @@ -191,29 +200,29 @@ public class OrderService { /**更新订单明细表.*/ updateOrderDetailFlg = Db.use(DSEnum.ZF_DATASOURCE.name()).update(sqls.toString(), order.getOrderId(), - map.get("record_id"), - format.parse(map.get("park_in_time")), - format.parse(map.get("park_out_time")), - Long.valueOf(map.get("parking_duration")), + resultmap.get("record_id"), + format.parse(resultmap.get("park_in_time")), + format.parse(resultmap.get("park_out_time")), + Long.valueOf(resultmap.get("parking_duration")), new Date(), order.getOrderId()); - if (updateOrderDetailFlg <= 0) { - logger.info("更新订单子表失败"); - } else { - //封装返回数据 + logger.info("更新停车订单明细结果="+(updateOrderDetailFlg > 0 ? "成功" : "失败")); + if (updateOrderDetailFlg > 0) { + //封装返回数据 orderVO.setOrderId(order.getOrderId()); orderVO.setParkId(order.getParkId()); - orderVO.setParkName(map.get("park_name")); - orderVO.setParkAddress(map.get("park_address")); + orderVO.setParkName(resultmap.get("park_name")); + orderVO.setParkAddress(resultmap.get("park_address")); orderVO.setCarNumber(order.getCarNumber()); - orderVO.setOrderPayedFee(new BigDecimal(map.get("order_payed_fee"))); - orderVO.setOrderNotPayFee(new BigDecimal(map.get("order_not_pay_fee"))); - orderVO.setOrderTotalFee(new BigDecimal(map.get("order_total_fee"))); + orderVO.setOrderPayedFee(new BigDecimal(resultmap.get("order_payed_fee"))); + orderVO.setOrderNotPayFee(new BigDecimal(resultmap.get("order_not_pay_fee"))); + orderVO.setOrderTotalFee(new BigDecimal(resultmap.get("order_total_fee"))); orderVO.setOrderTitle("待付费用"); - orderVO.setParkInTime(format.parse(map.get("park_in_time"))); - orderVO.setParkOutTime(format.parse(map.get("park_out_time"))); - orderVO.setParkingDuration(DateUtil.secondToTime(Long.valueOf(map.get("parking_duration")))); - } + orderVO.setParkInTime(format.parse(resultmap.get("park_in_time"))); + orderVO.setParkOutTime(format.parse(resultmap.get("park_out_time"))); + orderVO.setParkingDuration(DateUtil.secondToTime(Long.valueOf(resultmap.get("parking_duration")))); + } + /**插入订单流水.*/ ParkOrderFlow parkOrderFlow = new ParkOrderFlow(); parkOrderFlow.setParkOrderFolwId(SequenceUtil.getNextOrderId(SequenceTypeEnum.ORDER_PARK_FLOW.value())); parkOrderFlow.setParkOrderId(order.getOrderId()); @@ -221,56 +230,43 @@ public class OrderService { parkOrderFlow.setProcResult(1); parkOrderFlow.save(); - } else { - logger.info("更新订单失败"); - } + } } - logger.info("结束查询待支付单信息"); + + logger.info("---end订单信息更新,结果=" +JSONObject.toJSON(orderVO)); return orderVO; } - + /** - * 获取查询费用返回结果.
- * - * @param json + * 查询费用艾润或者青岛路侧费用查询接口.
+ * @param carNum * @return */ - private Map jsonToMapForIrunResult(String json) { - - JSONObject jsobj = JSONObject.parseObject(json); - Map map = new HashMap(); - if (jsobj != null) { - if (!jsobj.get("status").toString().equals("0")) { - JSONObject data = (JSONObject)jsobj.get("data"); - // 出场时间对象 - JSONObject parkOutObject = (JSONObject)data.get("out"); - //停车记录id - map.put("record_id", data.getString("id")); - // 出场时间 - map.put("park_out_time", parkOutObject.getString("time")); - if (data.get("park") != null) { - map.put("park_name", JSONObject.parseObject(data.get("park").toString()).get("name") + ""); - map.put("park_address", JSONObject.parseObject(data.get("park").toString()).get("address") + ""); - } - - //入场时间 - if (data.get("in") != null) { - map.put("park_in_time", JSONObject.parseObject(data.get("in").toString()).getString("time")); - } - //总费用 - map.put("order_total_fee", JSONObject.parseObject(data.get("charge").toString()).getString("due")); - //已付费用 - map.put("order_payed_fee", JSONObject.parseObject(data.get("charge").toString()).getString("paid")); - //未支付费用(本次应付金额) - map.put("order_not_pay_fee", JSONObject.parseObject(data.get("charge").toString()).getString("unpaid")); - //停车时长 单位:秒 - map.put("parking_duration", - JSONObject.parseObject(data.get("charge").toString()).getString("duration")); - } - } - return map; + public Map chosseBillQuery(String carNum,Order order){ + + OrderService orderService = Duang.duang(OrderService.class); + IRainQueryService iRainQueryService = Duang.duang(IRainQueryService.class); + Map reultMap = new HashMap(); + if (order != null && StringKit.isNotBlank(order.getOrderId())) { + if("1".equals(String.valueOf(order.getSourceType()))){//道闸:调用艾润查询费用接口 + /**调用艾润查询费用接口.*/ + reultMap = iRainQueryService.billQuery(carNum, order.getParkId()); + }else if("2".equals(String.valueOf(order.getSourceType())) + && StringKit.isNotBlank(order.getOrderId())){//调用青岛路侧查询费用接口 + /**查询停车记录id.*/ + OrderDetailPark OrderDetailPark = orderService.queryDetailParkByOrderId(order.getOrderId()); + if(OrderDetailPark != null && StringKit.isNotBlank(OrderDetailPark.getRecordId())){ + /**调用青岛路侧费用查询接口.*/ + reultMap =iRainQueryService.queryBillRoadside(OrderDetailPark.getRecordId()); + } + + } + } + return reultMap; } + + /** * 通过车牌查询待核算支付单信息.
* diff --git a/src/main/webapp/static/js/url.js b/src/main/webapp/static/js/url.js index abf5d25..82b78fa 100644 --- a/src/main/webapp/static/js/url.js +++ b/src/main/webapp/static/js/url.js @@ -1,7 +1,7 @@ var mUrl = mUrl || {}; //var webPath = 'http://p6esgw.natappfree.cc'; -//var webPath = 'http://atao.s1.natapp.cc'; -var webPath = 'http://wxgzh.rnting.com/rnt-wx'; +var webPath = 'localhost:8080'; +//var webPath = 'http://wxgzh.rnting.com/rnt-wx'; mUrl.getCommonParam = function () { //获取公共参数 var openId = mUrl.getOpenId(); -- libgit2 0.21.4