From 838ec6603d7b9a114a55bcc12004128da9d1b65c Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期六, 21 三月 2026 13:53:07 +0800
Subject: [PATCH] feat:专车、出租车下单增加先付
---
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 51 insertions(+), 1 deletions(-)
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 3d27663..4f70808 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
@@ -21,6 +21,7 @@
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.warpper.*;
+import com.stylefeng.guns.modular.system.service.impl.ServerCarModelServiceImpl;
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
@@ -182,6 +183,12 @@
@Autowired
private ITSysPushTypeService tSysPushTypeService;
+
+ @Autowired
+ private ITSysPaymentModeService tSysPaymentModeService;
+
+ @Autowired
+ private ServerCarModelServiceImpl serverCarModelService;
public static List<Integer> orderIds = new ArrayList<>();
@@ -305,6 +312,45 @@
orderTaxi.setPassengersPhone(userInfo.getPhone());
}
orderTaxi.setState(1);//待接单
+ if (orderTaxi.getOrderSource() != 2) {
+ TSysPaymentMode paymentMode = tSysPaymentModeService.selectOne(new EntityWrapper<TSysPaymentMode>().last("LIMIT 1"));
+ if (paymentMode != null && Integer.valueOf(1).equals(paymentMode.getTaxiType())) {
+ try {
+ Map<String, String> startGeocode = gdMapGeocodingUtil.geocode(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));
+ if (orderTaxi.getEndLon() != null && orderTaxi.getEndLat() != null && startGeocode != null) {
+ Map<String, String> distance = gdMapElectricFenceUtil.getDistance(
+ orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(),
+ orderTaxi.getEndLon() + "," + orderTaxi.getEndLat(),
+ 1
+ );
+ if (distance != null) {
+ double distanceMeters = Double.parseDouble(distance.get("distance"));
+ long durationSeconds = Long.parseLong(distance.get("duration"));
+ ServerCarModelWarpper textPrice = serverCarModelService.getTextPrice(query.getId(), distanceMeters, durationSeconds, 0, 2, startGeocode);
+ if (textPrice != null && textPrice.getAmount() != null && textPrice.getAmount().get("zongfeiyong") != null) {
+ Double estimateAmount = Double.valueOf(textPrice.getAmount().get("zongfeiyong").toString());
+ orderTaxi.setEstimateAmount(estimateAmount);
+ orderTaxi.setOrderMoney(estimateAmount);
+ orderTaxi.setPaymentMode(1);
+ orderTaxi.setState(7);
+ } else {
+ orderTaxi.setPaymentMode(2);
+ }
+ } else {
+ orderTaxi.setPaymentMode(2);
+ }
+ } else {
+ orderTaxi.setPaymentMode(2);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ orderTaxi.setPaymentMode(2);
+ orderTaxi.setState(1);
+ }
+ } else {
+ orderTaxi.setPaymentMode(paymentMode != null && paymentMode.getTaxiType() != null ? paymentMode.getTaxiType() : 2);
+ }
+ }
if (orderTaxi.getOrderSource() == 2 && null != orderTaxi.getDriverId()) {//扫码下单,
Driver driver = driverService.selectById(orderTaxi.getDriverId());
if (null == driver) {
@@ -372,7 +418,11 @@
}
//添加消息
- systemNoticeService.addSystemNotice(1, "您的出租车订单已下单成功,我们正在为您指派司机,请稍后!", orderTaxi.getUserId(), 1);
+ if (orderTaxi.getState() == 7) {
+ systemNoticeService.addSystemNotice(1, "您的出租车订单已生成,请先完成支付。", orderTaxi.getUserId(), 1);
+ } else {
+ systemNoticeService.addSystemNotice(1, "您的出租车订单已下单成功,我们正在为您指派司机,请稍后!", orderTaxi.getUserId(), 1);
+ }
BaseWarpper baseWarpper = new BaseWarpper();
baseWarpper.setId(orderTaxi.getId());
--
Gitblit v1.7.1