Commit 80db26ae69d0c35b303328cbefae5289c7417274

Authored by 王富生
1 parent 07a50221

提交

... ... @@ -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();
... ...