From 496ef92b09b1be5dc1beb4ecf031cfc20edbeb94 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期一, 11 五月 2026 13:59:14 +0800
Subject: [PATCH] fix bugs
---
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 68 +++++++++--
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 2
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java | 6
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java | 3
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/ITransactionDetailsService.java | 2
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java | 15 ++
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java | 2
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 94 +++++++++++----
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 10 +
ManagementYKDTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tSysReformist.html | 18 +-
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderListWarpper.java | 12 +
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java | 2
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java | 2
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/TransactionDetailsServiceImpl.java | 2
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 54 ++++++++
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 14 ++
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/MoneyInfoWarpper.java | 8
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 10
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml | 1
19 files changed, 248 insertions(+), 77 deletions(-)
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java
index f916afc..aea27f5 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineShiftDriverServiceImpl.java
@@ -619,7 +619,7 @@
if (lineShiftDriver == null) {
return ResultUtil.error("班次信息不存在");
}
- if (lineShiftDriver.getLineShiftId() != null && lineShiftDriver.getLineShiftId() == -1) {
+ if (lineShiftDriver.getLineShiftId() != null && lineShiftDriver.getLineShiftId() <= -1) {
return buildSelfTripDetail(lineShiftDriver);
}
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 73a3571..b85404c 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -254,11 +254,11 @@
serverMoney += income.getMoney();
}
}
- if (orderCrossCity.getLineId() == -1) {
+ if (orderCrossCity.getLineId() <= -1) {
LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId());
DriverSelfTrip driverSelfTrip = driverSelfTripMapper.selectById(lineShiftDriver.getCustomerId());
map.put("line", driverSelfTrip.getStartCityName() + "-" + driverSelfTrip.getEndCityName());
- map.put("lineId", -1);
+ map.put("lineId", orderCrossCity.getLineId());
} else {
Line line = lineService.selectById(orderCrossCity.getLineId());
map.put("line", line.getName());
@@ -1227,7 +1227,7 @@
map.put("price", -1);
return ResultUtil.success(map);
}
- if (lineId != null && lineId == -1) {
+ if (lineId != null && lineId <= -1) {
BigDecimal price = querySelfTripNearestPrice(lineShiftDriver, endLon, endLat);
map.put("price", price == null ? -1 : multiplyPeopleNumber(price, peopleNumber).doubleValue());
return ResultUtil.success(map);
@@ -1257,7 +1257,7 @@
map.put("price", unitPrice == null ? -1 : multiplyPeopleNumber(unitPrice, peopleNumber).doubleValue());
return ResultUtil.success(map);
}
- if (lineId != null && lineId == -1) {
+ if (lineId != null && lineId <= -1) {
if (lineShiftDriverId == null) {
map.put("price", -1);
return ResultUtil.success(map);
@@ -1553,7 +1553,7 @@
// 6. 获取线路班次信息
LineSite lineSite;
- if (lineShiftDriver.getLineShiftId() == -1) {
+ if (lineShiftDriver.getLineShiftId() <= -1) {
lineSite = new LineSite();
lineSite.setLineId(-1);
if (lineShiftDriver.getCustomerId() != null) {
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 70ea14c..f89310e 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -25,6 +25,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.*;
@@ -516,10 +517,15 @@
return ResultUtil.error("当前订单不能操作");
}
}
+ Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
switch (state){
case 3://出发前往预约点
orderPrivateCar.setState(3);
orderPrivateCar.setSetOutTime(new Date());
+ if (driver.getState() != 3) {
+ driver.setState(3);
+ driverService.updateById(driver);
+ }
systemNoticeService.addSystemNotice(1, "司机已出发,请耐心等待", orderPrivateCar.getUserId(), 1);
break;
case 4://到达预约点,等待客户上车
@@ -544,6 +550,10 @@
orderPrivateCar.setGetoffAddress(address);
orderPrivateCar.setGetoffTime(new Date());
orderPrivateCar.setEndServiceTime(new Date());
+ if (driver.getState() != 2) {
+ driver.setState(2);
+ driverService.updateById(driver);
+ }
break;
}
orderPrivateCar.setCancelType(2);
@@ -1016,12 +1026,12 @@
Map<String, Object> map = new HashMap<>();
if(orderPrivateCar.getState() == 5){
- map.put("orderMoney", orderPrivateCar.getOrderMoney()==null?0:orderPrivateCar.getOrderMoney());//订单金额
+ map.put("orderMoney", orderPrivateCar.getOrderMoney()==null?BigDecimal.ZERO:new BigDecimal(orderPrivateCar.getOrderMoney().toString()).setScale(2,RoundingMode.HALF_UP));//订单金额
}else{
if(orderPrivateCar.getAbnormal() == 2 && orderPrivateCar.getResponsibilityType() > 2 && orderPrivateCar.getAbnormalStatus() == 2){
map.put("orderMoney", orderPrivateCar.getResponsibilityMoney());
}else{
- map.put("orderMoney", orderPrivateCar.getOrderMoney()==null?0:orderPrivateCar.getOrderMoney());//订单金额
+ map.put("orderMoney", orderPrivateCar.getOrderMoney()==null?BigDecimal.ZERO:new BigDecimal(orderPrivateCar.getOrderMoney().toString()).setScale(2,RoundingMode.HALF_UP));//订单金额
}
}
map.put("startMileage", orderPrivateCar.getStartMileage());//起步价
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
index 11e633a..f19adf5 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Company.java
@@ -273,6 +273,11 @@
@TableField("Taxi")
private String Taxi;
/**
+ * 跨城出行自主单抽成配置
+ */
+ @TableField("cross")
+ private String cross;
+ /**
* 同城小件抽成配置
*/
@TableField("SameLogistics")
@@ -757,7 +762,15 @@
public void setEnterCode(String enterCode) {
this.enterCode = enterCode;
}
-
+
+ public String getCross() {
+ return cross;
+ }
+
+ public void setCross(String cross) {
+ this.cross = cross;
+ }
+
@Override
public String toString() {
return "Company{" +
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java
index 51e76ad..13cd458 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.java
@@ -212,12 +212,12 @@
break;
case 3:
OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
- if (orderCrossCity.getLineId() == -1){
+ driverId = orderCrossCity.getDriverId();
+ if (orderCrossCity.getLineId() <= -1){
company = companyService.selectById(orderCrossCity.getCompanyId());
- jsonObject = JSON.parseObject(company.getTaxi());
+ jsonObject = JSON.parseObject(company.getCross());
}else {
Line line = lineService.selectById(orderCrossCity.getLineId());
- driverId = orderCrossCity.getDriverId();
jsonObject = JSON.parseObject(line.getOutSetting());
}
rules = jsonObject.getJSONArray("rules");
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
index 353a243..eb8226f 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java
@@ -186,7 +186,8 @@
}
public String getUnlimitQrcode(String appletPath, String scene){
- InputStream inputStream = getwxacodeunlimit(appletPath, scene, activeProfile.equals("prod") ? "release" : "trial");
+// InputStream inputStream = getwxacodeunlimit(appletPath, scene, activeProfile.equals("prod") ? "release" : "trial");
+ InputStream inputStream = getwxacodeunlimit(appletPath, scene, "trial");
if (inputStream != null) {
File file = FileUtil.writeFromStream(inputStream, new File(filePath + "/" + UUID.randomUUID().toString() + ".png"));
HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image");
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/MoneyInfoWarpper.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/MoneyInfoWarpper.java
index 0d2618f..daea7a8 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/MoneyInfoWarpper.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/MoneyInfoWarpper.java
@@ -11,7 +11,7 @@
@ApiModel("费用明细")
public class MoneyInfoWarpper {
@ApiModelProperty("订单总金额")
- private Double orderMoney;
+ private String orderMoney;
@ApiModelProperty("起步里程")
private Double startMileage;
@ApiModelProperty("起步价")
@@ -45,11 +45,11 @@
@ApiModelProperty("折扣")
private Double discount;
- public Double getOrderMoney() {
+ public String getOrderMoney() {
return orderMoney;
}
- public void setOrderMoney(Double orderMoney) {
+ public void setOrderMoney(String orderMoney) {
this.orderMoney = orderMoney;
}
@@ -206,7 +206,7 @@
public static MoneyInfoWarpper getMoneyInfoWarpper(Map<String, Object> map){
MoneyInfoWarpper moneyInfoWarpper = new MoneyInfoWarpper();
if(null != map){
- moneyInfoWarpper.setOrderMoney(null != map.get("orderMoney") ? Double.valueOf(map.get("orderMoney").toString()) : 0D);
+ moneyInfoWarpper.setOrderMoney(null != map.get("orderMoney") ? map.get("orderMoney").toString() : "0");
moneyInfoWarpper.setStartMileage(null != map.get("startMileage") ? Double.valueOf(map.get("startMileage").toString()) : 0D);
moneyInfoWarpper.setStartMoney(null != map.get("startMoney") ? Double.valueOf(map.get("startMoney").toString()) : 0D);
moneyInfoWarpper.setMileage(null != map.get("mileageKilometers") ? Double.valueOf(map.get("mileageKilometers").toString()) : 0D);
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderListWarpper.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderListWarpper.java
index 6851717..48bc97e 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderListWarpper.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderListWarpper.java
@@ -259,7 +259,17 @@
orderListWarpper.setId(null != map.get("id") ? Integer.valueOf(String.valueOf(map.get("id"))) : 0);
orderListWarpper.setRideType(null != map.get("rideType") ? Integer.valueOf(String.valueOf(map.get("rideType"))) : 1);
orderListWarpper.setSpellSuccess(null != map.get("spellSuccess") ? Integer.valueOf(String.valueOf(map.get("spellSuccess"))) : 0);
- orderListWarpper.setName(null != map.get("name") ? String.valueOf(map.get("name")) : "");
+ if (map.get("reservation") != null) {
+ if (Integer.parseInt(map.get("reservation").toString()) == 1) {
+ orderListWarpper.setName(null != map.get("name") ? String.valueOf(map.get("name")).replace("订单", "") + "即时订单" : "");
+ } else if (Integer.parseInt(map.get("reservation").toString()) == 2) {
+ orderListWarpper.setName(null != map.get("name") ? String.valueOf(map.get("name")).replace("订单", "") + "预约订单" : "");
+ } else {
+ orderListWarpper.setName(null != map.get("name") ? String.valueOf(map.get("name")) : "");
+ }
+ } else {
+ orderListWarpper.setName(null != map.get("name") ? String.valueOf(map.get("name")) : "");
+ }
orderListWarpper.setTime(null != map.get("time") ? String.valueOf(map.get("time")) : "");
orderListWarpper.setStartAddress(null != map.get("startAddress") ? String.valueOf(map.get("startAddress")) : "");
orderListWarpper.setEndAddress(null != map.get("endAddress") ? String.valueOf(map.get("endAddress")) : "");
diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index 5c3ad30..35f6b35 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -478,10 +478,15 @@
if(10 == orderTaxi.getState()){
return ResultUtil.error("订单已被取消,不能继续操作");
}
+ Driver driver = driverService.selectById(orderTaxi.getDriverId());
switch (state){
case 3://出发前往预约点
orderTaxi.setState(3);
orderTaxi.setSetOutTime(new Date());
+ if (driver.getState() != 3) {
+ driver.setState(3);
+ driverService.updateById(driver);
+ }
systemNoticeService.addSystemNotice(1, "司机已出发,请耐心等待", orderTaxi.getUserId(), 1);
break;
case 4://到达预约点,等待客户上车
@@ -506,7 +511,10 @@
orderTaxi.setGetoffTime(new Date());
orderTaxi.setState(6);
orderTaxi.setEndServiceTime(new Date());
-
+ if (driver.getState() != 2) {
+ driver.setState(2);
+ driverService.updateById(driver);
+ }
pushUtil.removeTask(orderId, 2);//删除定时任务,结束推送数据
systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderTaxi.getUserId(), 1);
break;
diff --git a/ManagementYKDTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tSysReformist.html b/ManagementYKDTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tSysReformist.html
index 8561403..c336e3a 100644
--- a/ManagementYKDTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tSysReformist.html
+++ b/ManagementYKDTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tSysReformist.html
@@ -60,7 +60,7 @@
</div>
<div style="float: left;width: 1200px;margin-left: 50px;">
<div class="pushOrderSettings">
- <div class="form-group pushCarSettings">
+ <div class="form-group">
<label class="col-sm-2 control-label">推单设置:</label>
<div class="col-sm-10">
<div class="radio radio-danger">
@@ -154,7 +154,7 @@
<br/>
</div>
</div>
- <div class="form-group">
+ <div class="form-group pushCarSettings">
<label class="col-sm-2 control-label">出租车推单:</label>
<div class="col-sm-10">
第一轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)"
@@ -813,6 +813,12 @@
var czc7 = null == $("#czc7").val() ? "0" : $("#czc7").val().trim();
var czc8 = null == $("#czc8").val() ? "0" : $("#czc8").val().trim();
var czc9 = null == $("#czc9").val() ? "0" : $("#czc9").val().trim();
+ var ajax = new $ax(Feng.ctxPath + "/tSysReformist/setUp", function(data){
+ Feng.success("操作成功!");
+ location.reload();
+ },function(data){
+ Feng.error("操作失败!" + data.responseJSON.message + "!");
+ });
if(type == 'pushOrderSettings'){
if (pushType == 2) {
ajax.set("pushType", pushType);
@@ -955,14 +961,6 @@
if (dck2){dck2 = 1;} else {dck2 = 2;}
var driverDays=$("#driverDay").val()
-
- //提交信息
- var ajax = new $ax(Feng.ctxPath + "/tSysReformist/setUp", function(data){
- Feng.success("操作成功!");
- location.reload();
- },function(data){
- Feng.error("操作失败!" + data.responseJSON.message + "!");
- });
if(type == 'integralSet'){
ajax.set("two", two);
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index c3306c9..7353c59 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -250,7 +250,7 @@
}
Integer lineShifDriverId = null;
- if (lineId < 0 && lineDestinationId < 0) {
+ if (lineId < 0 && (lineDestinationId == null || lineDestinationId < 0)) {
lineShifDriverId = lineShiftDriverMapper.selectLineShiftDriverIdByCustomerId(-lineId);
}
ResultUtil<Map<String, Object>> result = this.getPriceV2(lineId, lineDestinationId, totalSeat, peopleNumber, endLon, endLat, lineShifDriverId);
@@ -831,7 +831,7 @@
}
String paymentCode = ToolUtil.isNotEmpty(cbyzxOrderPayHelper.extractRecordCode(response)) ? cbyzxOrderPayHelper.extractRecordCode(response) : outTradeNo;
resultUtil = ResultUtil.success(response);
- paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, paymentCode, 1);//添加预支付数据
+ paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, outTradeNo, 1);//添加预支付数据
}
if (payType == 2) {//支付宝支付
resultUtil = payMoneyUtil.alipay("完成订单", "完成订单", "", orderId + "_3_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/aliPayOrderTaxi");
@@ -1079,7 +1079,7 @@
String paymentCode = ToolUtil.isNotEmpty(cbyzxOrderPayHelper.extractRecordCode(response)) ? cbyzxOrderPayHelper.extractRecordCode(response) : outTradeNo;
resultUtil = ResultUtil.success(response);
this.updateById(orderCrossCity);
- paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, paymentCode, 1);//添加预支付数据
+ paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, outTradeNo, 1);//添加预支付数据
}
if (payType == 2) {//支付宝支付
if (orderMoney == 0) {
@@ -1214,7 +1214,7 @@
query.setState(2);
- query.setCode(order_id);
+// query.setCode(order_id);
paymentRecordService.updateById(query);
// TODO: 2020/5/24 这里需要给司机和用户推送订单状态
@@ -1319,7 +1319,8 @@
orderCrossCity.setMileage(0D);
Integer lineShifDriverId = orderCrossCityWarpper.getLineShiftDriverId();
- if (orderCrossCityWarpper.getLineId() < 0 && orderCrossCityWarpper.getLineDestinationId() < 0) {
+ Integer lineDestinationId = orderCrossCityWarpper.getLineDestinationId();
+ if (orderCrossCityWarpper.getLineId() < 0 && (lineDestinationId == null || lineDestinationId < 0)) {
lineShifDriverId = lineShiftDriverMapper.selectLineShiftDriverIdByCustomerId(-orderCrossCityWarpper.getLineId());
}
ResultUtil<Map<String, Object>> price = this.getPriceV2(orderCrossCityWarpper.getLineId(), orderCrossCityWarpper.getLineDestinationId(),
@@ -1332,6 +1333,7 @@
if (money < 0) {
return ResultUtil.error("计算价格失败");
}
+ orderCrossCity.setLineShiftDriverId(lineShifDriverId);
orderCrossCity.setOrderMoney(money);
Integer companyId = driver.getCompanyId();
orderCrossCity.setCompanyId(companyId);
@@ -1623,7 +1625,8 @@
}
String recordCode = cbyzxOrderPayHelper.extractRecordCode(response);
String paymentCode = ToolUtil.isNotEmpty(recordCode) ? recordCode : outTradeNo;
- paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, id, 3, 1, query.getMoney(), paymentCode, 1);//添加预支付数据
+ paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, id, 3, 1, query.getMoney(), outTradeNo, 1);//添加预支付数据
+ resultUtil = ResultUtil.success(response);
// Map<String, String> map = icbcPayUtil.placeAnOrder(id + ",3", 9, 5, uid.toString(), "订单取消", query.getMoney(), callbackPath + "/base/wxCancelOrderTaxi", "", type, appletsOpenId);
// if(map.get("code").equals("200")){
@@ -1957,7 +1960,7 @@
this.updateById(orderCrossCity);
query.setState(2);
- query.setCode(order_id);
+// query.setCode(order_id);
paymentRecordService.updateById(query);
OrderCancel query1 = orderCancelService.query(query.getOrderId(), query.getOrderType(), query.getAmount(), query.getPayType(), 1);
@@ -2149,9 +2152,16 @@
}
if (query.getPayType() == 1) {//微信
- Map<String, String> map = payMoneyUtil.wxRefund(query.getCode(), id + "_3", query.getAmount().toString(), query.getAmount().toString(), "/base/cancleOrderWXPay");
- if (!"SUCCESS".equals(map.get("return_code"))) {
- return ResultUtil.error(map.get("return_msg"));
+ CbyzxPayUtil.ClosePayOrderRequest request = new CbyzxPayUtil.ClosePayOrderRequest();
+ request.setOutRequestNo(query.getCode());
+ request.setRefundOutRequestNo(buildPrepayRefundOutNo(orderCrossCity.getId()));
+
+ request.setRefundAmount(toFen(query.getAmount()));
+ request.setRefundDesc("跨城出行取消退款");
+ JSONObject response = CbyzxPayUtil.closePayOrder(request);
+ System.out.println("跨城出行取消退款退款结果:" + response.toJSONString());
+ if (!isTaxiPrepayRefundSuccess(response)) {
+ return ResultUtil.error(extractCrossCityRefundMessage(response), response);
}
transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, id);
} else if (query.getPayType() == 4) { // 云闪付
@@ -2183,8 +2193,38 @@
map.put("id", integer);
return ResultUtil.success(map);
}
-
-
+
+ private Integer toFen(Double amount) {
+ return new BigDecimal(String.valueOf(amount)).multiply(new BigDecimal("100")).setScale(0, RoundingMode.HALF_UP).intValue();
+ }
+
+ private String buildPrepayRefundOutNo(Integer orderId) {
+ return "CROSS_REFUND_1_" + orderId + ToolUtil.getRandomString(5);
+ }
+
+ private boolean isTaxiPrepayRefundSuccess(JSONObject response) {
+ if (response == null) {
+ return false;
+ }
+ Object code = response.get("code");
+ if (code == null || !"0".equals(String.valueOf(code))) {
+ return false;
+ }
+ JSONObject data = response.getJSONObject("data");
+ return data != null && Boolean.TRUE.equals(data.getBoolean("isSuccess"));
+ }
+
+ private String extractCrossCityRefundMessage(JSONObject response) {
+ if (response == null) {
+ return "微信跨城订单退款失败";
+ }
+ JSONObject data = response.getJSONObject("data");
+ if (data != null && ToolUtil.isNotEmpty(data.getString("failReason"))) {
+ return data.getString("failReason");
+ }
+ String msg = response.getString("msg");
+ return ToolUtil.isNotEmpty(msg) ? msg : "微信跨城订单退款失败";
+ }
/**
* 获取服务中的订单数据
*
@@ -2709,7 +2749,7 @@
}
String recordCode = cbyzxOrderPayHelper.extractRecordCode(response);
String paymentCode = ToolUtil.isNotEmpty(recordCode) ? recordCode : outTradeNo;
- paymentRecordService.saveData(3, uid, 1, orderId, 3, 1, money, paymentCode, 1);//添加预支付数据
+ paymentRecordService.saveData(3, uid, 1, orderId, 3, 1, money, outTradeNo, 1);//添加预支付数据
}
if (payType == 2) {//支付宝支付
resultUtil = payMoneyUtil.alipay("感谢费", "感谢费", "", orderId + "_3_" + UUIDUtil.getRandomCode(5), money.toString(), "/base/aliPayThankYouFee");
@@ -2761,7 +2801,7 @@
UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId());
PaymentRecord query = paymentRecordService.query(3, userInfo.getId(), 1, orderId, 3, payType, 1);
query.setState(2);
- query.setCode(order_id);
+// query.setCode(order_id);
paymentRecordService.updateById(query);
OpenCity openCity = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString());
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
index 2368d14..fbbfc61 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -405,6 +405,7 @@
left join t_order_evaluate g on (a.id = g.orderId and g.orderType = 1)
left join t_order_cancel h on (a.id = h.orderId and h.orderType = 1 and h.state = 2)
where a.id = #{orderId}
+ LIMIT 1
</select>
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 980e3e1..0b3b1f4 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -1149,10 +1149,11 @@
// return ResultUtil.success(map);
}
}else if(!Integer.valueOf(2).equals(orderPrivateCar.getPaymentMode()) && StrUtil.isEmpty(orderPrivateCar.getPrepaySecondPayNo())){
- UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
- userInfo.setBalance(userInfo.getBalance() + orderPrivateCar.getPayMoney());
- userInfoService.updateById(userInfo);
-
+ if (orderPrivateCar.getPayMoney() != null){
+ UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
+ userInfo.setBalance(userInfo.getBalance() + orderPrivateCar.getPayMoney());
+ userInfoService.updateById(userInfo);
+ }
}
Integer number1 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("pid", orderPrivateCar.getPid() == null ? orderPrivateCar.getId() : orderPrivateCar.getPid()).lt("state", 6));
Integer number2 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("id", orderPrivateCar.getPid() == null ? orderPrivateCar.getId() : orderPrivateCar.getPid()).lt("state", 6));
@@ -2895,8 +2896,50 @@
}
private ResultUtil handlePrivateCarPrepayCancelRefund(OrderPrivateCar orderPrivateCar, String reason, String remark, Integer uid) throws Exception {
+ System.out.println("快车退款!!!!");
if (!isPrivateCarPrepayMode(orderPrivateCar)) {
return null;
+ }
+ if (Integer.valueOf(3).equals(orderPrivateCar.getPayType())) {
+ Double refundAmount = orderPrivateCar.getPayMoney();
+ System.out.println("快车余额退款金额!!!!"+ refundAmount);
+ if (refundAmount == null || refundAmount <= 0) {
+ return ResultUtil.error("余额先付订单退款金额异常");
+ }
+ UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
+ if (userInfo == null) {
+ return ResultUtil.error("用户信息不存在,无法退款");
+ }
+ userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0)
+ .add(new BigDecimal(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ userInfoService.updateById(userInfo);
+ restorePrivateCarBenefits(orderPrivateCar);
+ transactionDetailsService.saveData(orderPrivateCar.getUserId(), "快车取消订单退款", refundAmount, 1, 1, 1, 1, orderPrivateCar.getId());
+ orderCancelService.saveData(orderPrivateCar.getId(), 1,
+ ToolUtil.isNotEmpty(reason) ? reason : "无司机接单",
+ ToolUtil.isNotEmpty(remark) ? remark : (ToolUtil.isNotEmpty(reason) ? reason : "无司机接单"),
+ 1, refundAmount, 2, 1, uid);
+ orderPrivateCar.setState(10);
+ orderPrivateCar.setPrepayStage(5);
+ orderPrivateCar.setPrepayRefundNo("BALANCE_REFUND_1_" + orderPrivateCar.getId() + "_" + ToolUtil.getRandomString(5));
+ orderPrivateCar.setPrepayRefundAmount(refundAmount);
+ orderPrivateCar.setPrepayRefundTime(new Date());
+ this.updateById(orderPrivateCar);
+ if (orderPrivateCar.getDriverId() != null) {
+ this.deleteTask(orderPrivateCar.getId());
+ pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0);
+ Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
+ if (driver != null) {
+ driver.setState(2);
+ driverService.updateById(driver);
+ }
+ if (orderPrivateCar.getBindId() != null) {
+ chinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(), orderPrivateCar.getTelX(), (System.currentTimeMillis() + 600000));
+ }
+ }
+ System.out.println("余额退款通知940");
+ systemNoticeService.addSystemNotice(1, "您的快车余额先付订单已取消,退款已退回账户余额,请注意查收。", orderPrivateCar.getUserId(), 1);
+ return ResultUtil.success();
}
String outRequestNo = orderPrivateCar.getPrepaySecondPayNo();
if (ToolUtil.isEmpty(outRequestNo)) {
@@ -3500,12 +3543,13 @@
}else {
// 没找到车辆
+ Thread.sleep(5000);
ResultUtil refundResult = handlePrivateCarPrepayCancelRefund(orderPrivateCar, "无司机接单", "无司机接单", orderPrivateCar.getUserId());
if (refundResult == null) {
orderPrivateCar.setState(10);
orderPrivateCarMapper.updateById(orderPrivateCar);
}
- pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, 1);
+ pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, 10);
}
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java
index 6d7e663..7d31fa1 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java
@@ -16,7 +16,7 @@
* @param userId
* @throws Exception
*/
- void addSystemNotice(Integer userType, String content, Integer userId, Integer noticeType) throws Exception;
+ void addSystemNotice(Integer userType, String content, Integer userId, Integer noticeType);
/**
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
index 509814b..9bcb318 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
@@ -31,7 +31,7 @@
* @throws Exception
*/
@Override
- public void addSystemNotice(Integer userType, String content, Integer userId, Integer noticeType) throws Exception {
+ public void addSystemNotice(Integer userType, String content, Integer userId, Integer noticeType) {
SystemNotice systemNotice = new SystemNotice();
systemNotice.setContent(content);
systemNotice.setInsertTime(new Date());
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
index 311733b..1d32ccc 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -88,7 +88,7 @@
post.form(params);
HttpResponse execute = post.execute();
if (200 != execute.getStatus()) {
- System.err.println("推送异常");
+ System.err.println("推送异常"+execute.body());
} else {
JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
if (jsonObject1.getIntValue("code") != 200) {
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/ITransactionDetailsService.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/ITransactionDetailsService.java
index 81ca3ba..cb9873a 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/ITransactionDetailsService.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/ITransactionDetailsService.java
@@ -19,5 +19,5 @@
* @throws Exception
*/
void saveData(Integer userId, String remark, Double money, Integer state,
- Integer type, Integer userType, Integer orderType, Integer orderId) throws Exception;
+ Integer type, Integer userType, Integer orderType, Integer orderId);
}
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index e9d1bb2..e187ffb 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -29,6 +29,7 @@
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -52,6 +53,7 @@
import java.util.*;
import java.util.stream.Collectors;
+@Slf4j
@Service
@Transactional(isolation = Isolation.READ_UNCOMMITTED, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class OrderTaxiServiceImpl extends ServiceImpl<OrderTaxiMapper, OrderTaxi> implements IOrderTaxiService {
@@ -558,20 +560,7 @@
System.out.println("出租车退款111!!!!");
if (!Integer.valueOf(2).equals(orderTaxi.getPaymentMode()) && StrUtil.isNotEmpty(orderTaxi.getPrepaySecondPayNo())) {
System.out.println("出租车退款2222!!!!");
- ResultUtil refundResult = handleTaxiPrepayCancelRefund(orderTaxi, reason, remark, uid);
- if (refundResult != null) {
- System.out.println("出租车退款3333!!!!"+refundResult.getCode());
- if (!ResultUtil.SUCCESS.equals(refundResult.getCode())) {
- return refundResult;
- }
- Map<String, Object> map = new HashMap<>();
- map.put("id", null);
- return ResultUtil.success(map);
- }
- }else if(!Integer.valueOf(2).equals(orderTaxi.getPaymentMode()) && StrUtil.isEmpty(orderTaxi.getPrepaySecondPayNo())){
- UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
- userInfo.setBalance(userInfo.getBalance() + orderTaxi.getPayMoney());
- userInfoService.updateById(userInfo);
+ handleTaxiPrepayCancelRefund(orderTaxi, reason);
}
if (null == orderTaxi.getDriverId()) {//没有接单的情况
if (orderTaxi.getType() == 2) {//摆渡车
@@ -2308,7 +2297,7 @@
}
}
- private void restoreTaxiBenefits(OrderTaxi orderTaxi) throws Exception {
+ private void restoreTaxiBenefits(OrderTaxi orderTaxi){
if (null != orderTaxi.getCouponId()) {
UserCouponRecord userCouponRecord = userCouponRecordService.selectById(orderTaxi.getCouponId());
if (userCouponRecord != null) {
@@ -2388,6 +2377,53 @@
return "PREPAY_REFUND_2_" + orderId+ ToolUtil.getRandomString(5);
}
+ private void handleTaxiPrepayCancelRefund(OrderTaxi orderTaxi, String reason){
+ if (Integer.valueOf(3).equals(orderTaxi.getPayType())) {
+ Double refundAmount = orderTaxi.getPayMoney();
+ if (refundAmount == null || refundAmount <= 0) {
+ throw new RuntimeException("余额先付订单退款金额异常");
+ }
+ UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
+ if (userInfo == null) {
+ throw new RuntimeException("用户信息不存在,无法退款");
+ }
+ userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0)
+ .add(new BigDecimal(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ userInfoService.updateById(userInfo);
+ restoreTaxiBenefits(orderTaxi);
+ transactionDetailsService.saveData(orderTaxi.getUserId(), "出租车取消订单退款", refundAmount, 1, 1, 1, 2, orderTaxi.getId());
+ orderTaxi.setState(10);
+ orderTaxi.setPrepayStage(5);
+ orderTaxi.setPrepayRefundNo("BALANCE_REFUND_2_" + orderTaxi.getId() + "_" + ToolUtil.getRandomString(5));
+ orderTaxi.setPrepayRefundAmount(refundAmount);
+ orderTaxi.setPrepayRefundTime(new Date());
+ this.updateById(orderTaxi);
+ systemNoticeService.addSystemNotice(1, "您的出租车余额先付订单已取消,退款已退回账户余额,请注意查收。", orderTaxi.getUserId(), 1);
+ }else {
+ String outRequestNo = orderTaxi.getPrepaySecondPayNo();
+ if (ToolUtil.isEmpty(outRequestNo)) {
+ throw new RuntimeException("微信先付订单缺少支付单号,无法关闭支付单");
+ }
+ Double refundAmount = orderTaxi.getPayMoney();
+ if (refundAmount == null || refundAmount <= 0) {
+ throw new RuntimeException("微信先付订单退款金额异常");
+ }
+ CbyzxPayUtil.ClosePayOrderRequest request = new CbyzxPayUtil.ClosePayOrderRequest();
+ request.setOutRequestNo(outRequestNo);
+ request.setRefundOutRequestNo(buildPrepayRefundOutNo(orderTaxi.getId()));
+ request.setRefundAmount(toFen(refundAmount));
+ request.setRefundDesc(ToolUtil.isNotEmpty(reason) ? reason : "出租车订单取消退款");
+ JSONObject response = CbyzxPayUtil.closePayOrder(request);
+ System.out.println("微信先付订单退款结果:" + response.toJSONString());
+ if (!isTaxiPrepayRefundSuccess(response)) {
+ throw new RuntimeException(extractTaxiRefundMessage(response));
+ }
+ restoreTaxiBenefits(orderTaxi);
+ transactionDetailsService.saveData(orderTaxi.getUserId(), "出租车取消订单退款", refundAmount, 1, 1, 1, 2, orderTaxi.getId());
+ systemNoticeService.addSystemNotice(1, "您的出租车微信先付订单已取消,退款已原路退回,请注意查收。", orderTaxi.getUserId(), 1);
+ }
+ }
+
private ResultUtil handleTaxiPrepayCancelRefund(OrderTaxi orderTaxi, String reason, String remark, Integer uid) throws Exception {
System.out.println("出租车退款!!!!");
if (orderTaxi == null || !Integer.valueOf(1).equals(orderTaxi.getPaymentMode())) {
@@ -2395,6 +2431,7 @@
}
if (Integer.valueOf(3).equals(orderTaxi.getPayType())) {
Double refundAmount = orderTaxi.getPayMoney();
+ System.out.println("余额退款金额!!!!"+ refundAmount);
if (refundAmount == null || refundAmount <= 0) {
return ResultUtil.error("余额先付订单退款金额异常");
}
@@ -2429,9 +2466,11 @@
chinaMobileUtil.midAxbUnBindSend(orderTaxi.getBindId(), orderTaxi.getTelX(), (System.currentTimeMillis() + 600000));
}
}
+ System.out.println("余额退款通知469");
systemNoticeService.addSystemNotice(1, "您的出租车余额先付订单已取消,退款已退回账户余额,请注意查收。", orderTaxi.getUserId(), 1);
return ResultUtil.success();
}
+ System.out.println("微信退款473");
String outRequestNo = orderTaxi.getPrepaySecondPayNo();
if (ToolUtil.isEmpty(outRequestNo)) {
return ResultUtil.error("微信先付订单缺少支付单号,无法关闭支付单");
@@ -2480,6 +2519,7 @@
}
private void handleTaxiPrepayFirstPaid(OrderTaxi orderTaxi, UserInfo userInfo, Double payAmount, Integer payType) throws Exception {
+ log.error("出租车预付回调-------519");
OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
SysIntegral query1 = sysIntegralMapper.query(openCity.getId());
if (null != query1) {
@@ -2533,12 +2573,13 @@
if (query == null) {
query = paymentRecordService.query(1, orderTaxi.getUserId(), 1, Integer.valueOf(id), 2, type, 1);
}
+ System.out.println("出租车预付回调-------572");
if (null != query && query.getState() == 1) {
UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
query.setState(2);
query.setCode(order_id);
paymentRecordService.updateById(query);
-
+ System.out.println("出租车预付回调-------579,"+orderTaxi);
if (isTaxiPrepayFirstStage(orderTaxi)) {
orderTaxi.setPrepaySecondPayNo(outTradeNo);
handleTaxiPrepayFirstPaid(orderTaxi, userInfo, query.getAmount(), type);
@@ -2567,7 +2608,7 @@
if (!isPrepaySpreadStage) {
consumeTaxiBenefits(orderTaxi);
}
-
+ System.out.println("出租车预付回调-------608");
//非追缴单才添加收入记录
if(0 == orderTaxi.getRecoveryOrder() && (Integer.valueOf(2).equals(orderTaxi.getPaymentMode()) || Integer.valueOf(5).equals(orderTaxi.getPrepayStage()))){
//添加收入
@@ -2607,8 +2648,8 @@
}
redisTemplate.opsForValue().set("VEHICLE", jsonArray.toJSONString());
}
-
-
+
+ System.out.println("出租车预付回调-------649");
systemNoticeService.addSystemNotice(1, "您已使用" + (type == 1 ? "微信" : (type == 2 ? "支付宝" : "云闪付")) + "成功完成出行订单支付,谢谢使用!", orderTaxi.getUserId(), 1);
} else {
System.err.println("预支付数据异常(orderId = " + id + ")");
@@ -2691,14 +2732,18 @@
}
OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString());
-
+ System.out.println("城市city732,"+openCity);
// 判断是否为智能派单
TSysPushType sysPushType = tSysPushTypeService.selectOne(new EntityWrapper<TSysPushType>().eq("openCityId", openCity.getId()));
+ System.out.println("推送方式735,"+sysPushType);
if(sysPushType!=null && sysPushType.getPushType()==2){
+ System.out.println("指派模式732");
OrderTaxi orderTaxi1 = orderTaxiMapper.selectById(orderTaxi.getId());
- if (null == orderTaxi1 && orderTaxi1.getState() == 1) {
+ System.out.println("orderTaxi1,"+orderTaxi1);
+ if (null != orderTaxi1 && orderTaxi1.getState() == 1) {
// 获取5公里内司机抢单
List<Driver> listDriver = driverService.queryIdleDriver(2, orderTaxi1.getStartLon(), orderTaxi1.getStartLat(), 5.0, null);//查询5公里内空闲司机
+ System.out.println("指派模式743"+listDriver);
if (listDriver.size() > 0) {
Driver driver1 = listDriver.stream().sorted(Comparator.comparingDouble(Driver::getDistance).reversed()).findFirst().get();
@@ -2785,21 +2830,22 @@
}else {
// 没找到车辆
+ Thread.sleep(5000);
OrderTaxi orderTaxi2 = orderTaxiMapper.selectById(orderTaxi.getId());
+ System.out.println("指派模式830");
ResultUtil refundResult = handleTaxiPrepayCancelRefund(orderTaxi2, "\u65e0\u53f8\u673a\u63a5\u5355", "\u65e0\u53f8\u673a\u63a5\u5355", orderTaxi2.getUserId());
if (refundResult == null) {
orderTaxi2.setState(10);
orderTaxiMapper.updateById(orderTaxi2);
}
- pushUtil.pushEndPush(1, orderTaxi2.getUserId(), orderTaxi2.getId(), 2, 1);
-
+ pushUtil.pushEndPush(1, orderTaxi2.getUserId(), orderTaxi2.getId(), 2, 10);
}
}
}else {
-
+ System.out.println("推单模式836");
List<PushOrder> querys = pushOrderService.querys(null, 2, openCity.getId());//查询推单配置
//整轮派单结束,若无司机接单,系统自动增加派单5轮,若增加5轮后仍无司机接单,则系统结束派单,乘客端显示无司机接单、是否再次打车
int num = 0;
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/TransactionDetailsServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/TransactionDetailsServiceImpl.java
index c6c02c1..04080d6 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/TransactionDetailsServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/TransactionDetailsServiceImpl.java
@@ -31,7 +31,7 @@
*/
@Override
public void saveData(Integer userId, String remark, Double money, Integer state, Integer type, Integer userType,
- Integer orderType, Integer orderId) throws Exception {
+ Integer orderType, Integer orderId) {
TransactionDetails transactionDetails = new TransactionDetails();
transactionDetails.setInsertTime(new Date());
--
Gitblit v1.7.1