From 3933eb593df17f5c5c4610aa639c6fde9ed6ecde Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 04 十二月 2024 11:16:20 +0800
Subject: [PATCH] 处理异常订单记录
---
UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 50 +++++++++++++++++++++++++++++---------------------
1 files changed, 29 insertions(+), 21 deletions(-)
diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index e6c91c7..290426d 100644
--- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -40,6 +40,8 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.math.MathContext;
+import java.math.RoundingMode;
import java.util.*;
@Service
@@ -136,8 +138,8 @@
@Autowired
private IOrderPositionService orderPositionService;
- @Autowired
- private ChinaMobileUtil chinaMobileUtil;
+// @Autowired
+// private ChinaMobileUtil chinaMobileUtil;
@Autowired
private IDriverServiceService driverServiceService;
@@ -275,11 +277,11 @@
//调用移动的小号接口
Map<String, String> geocode1 = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
Region region = regionMapper.query(geocode1.get("districtCode"));
- Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
- if(String.valueOf(map.get("code")).equals("200")){
- orderTaxi.setTelX(map.get("telX"));
- orderTaxi.setBindId(map.get("bindId"));
- }
+// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1)));
+// if(String.valueOf(map.get("code")).equals("200")){
+// orderTaxi.setTelX(map.get("telX"));
+// orderTaxi.setBindId(map.get("bindId"));
+// }
driver.setState(3);
driverService.updateById(driver);
@@ -505,6 +507,9 @@
CancleOrder query = cancleOrderService.query(orderTaxi.getOrderType(), 2, orderTaxi.getCompanyId());
if(null != query){
if(payType == 1){//微信支付
+ if(ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
+ return ResultUtil.error("未授权微信,无法完成支付");
+ }
orderCancel.setPayType(1);
orderCancelService.updateById(orderCancel);
resultUtil = payMoneyUtil.weixinpay("订单取消",id +"",id + "_2_fei",query.getMoney()+"","/base/wxCancelOrderTaxi","JSAPI",userInfo.getAppletsOpenId());
@@ -512,7 +517,7 @@
if(payType == 2){//支付宝支付
orderCancel.setPayType(2);
orderCancelService.updateById(orderCancel);
- resultUtil = payMoneyUtil.alipay("订单取消","订单取消",id + ",2",query.getMoney()+"","/base/aliCancelOrderTaxi");
+ resultUtil = payMoneyUtil.alipay("订单取消","订单取消", "",id + ",2",query.getMoney()+"","/base/aliCancelOrderTaxi");
}
if(payType == 3){//余额支付
if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){
@@ -525,9 +530,9 @@
userInfoService.updateById(userInfo);
//解除小号绑定
- if(orderTaxi.getBindId() != null){
- chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
- }
+// if(orderTaxi.getBindId() != null){
+// chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
+// }
orderTaxi.setState(10);
orderTaxi.setTelX("");
@@ -685,10 +690,13 @@
}
if(payType == 1){//微信支付
+ if(ToolUtil.isEmpty(userInfo.getAppletsOpenId())){
+ return ResultUtil.error("未授权微信,无法完成支付");
+ }
resultUtil = payMoneyUtil.weixinpay("完成订单",orderId +"",orderId + "_2_fei",orderMoney+"","/base/wxPayOrderTaxi","JSAPI",userInfo.getAppletsOpenId());
}
if(payType == 2){//支付宝支付
- resultUtil = payMoneyUtil.alipay("完成订单","完成订单",orderId + ",2",orderMoney+"","/base/aliPayOrderTaxi");
+ resultUtil = payMoneyUtil.alipay("完成订单","完成订单", "",orderId + ",2",orderMoney+"","/base/aliPayOrderTaxi");
}
if(payType == 3){//余额支付
if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){
@@ -730,7 +738,7 @@
c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d);//只有出行金额参与抽成,其余归属司机
}
if(company.getIsTaxiFixedOrProportional() == 1){//比例
- d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+ d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
}
incomeService.saveData(1, orderTaxi.getCompanyId(), 2, orderTaxi.getId(), 2, d.doubleValue());
@@ -956,8 +964,8 @@
if(null == distance){
System.err.println("查询距离出错了");
}else{
- d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
- t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
+ d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
+ t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
}
OrderServerWarpper orderServerWarpper = new OrderServerWarpper();
orderServerWarpper.setOrderId(orderTaxi.getId());
@@ -979,8 +987,8 @@
if(null == distance){
System.err.println("查询距离出错了");
}else{
- d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
- t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
+ d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString();
+ t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + "";
}
orderServerWarpper.setReservationMileage("0");
orderServerWarpper.setReservationTime("0");
@@ -1151,7 +1159,7 @@
c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
}
if(company.getIsTaxiFixedOrProportional() == 1){//比例
- d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+ d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
}
incomeService.saveData(1, orderTaxi.getCompanyId(), 2, orderTaxi.getId(), 2, d.doubleValue());
@@ -1208,9 +1216,9 @@
transactionDetailsService.saveData(orderTaxi.getUserId(), "取消订单", query.getAmount(), 2, 1, 1, 2, query.getOrderId());
orderTaxi.setState(10);
//解除小号绑定
- if(orderTaxi.getBindId() != null){
- chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
- }
+// if(orderTaxi.getBindId() != null){
+// chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(),orderTaxi.getTelX());
+// }
orderTaxi.setBindId("");
orderTaxi.setTelX("");
this.updateById(orderTaxi);
--
Gitblit v1.7.1