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