From 57ace2e2e90f36ba2df2465f0b1b6b1b9e931e88 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 09 七月 2025 15:20:05 +0800
Subject: [PATCH] 跨城修改座位
---
DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTransferServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 46 insertions(+), 9 deletions(-)
diff --git a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTransferServiceImpl.java b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTransferServiceImpl.java
index 655ca92..bf69919 100644
--- a/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTransferServiceImpl.java
+++ b/DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTransferServiceImpl.java
@@ -8,11 +8,10 @@
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.system.dao.SystemPriceMapper;
import com.stylefeng.guns.modular.system.dao.TOrderTransferMapper;
+import com.stylefeng.guns.modular.system.model.Company;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.TOrderTransfer;
-import com.stylefeng.guns.modular.system.service.IDriverService;
-import com.stylefeng.guns.modular.system.service.ISystemNoticeService;
-import com.stylefeng.guns.modular.system.service.ITOrderTransferService;
+import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.GDFalconUtil;
import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
import com.stylefeng.guns.modular.system.util.PushUtil;
@@ -24,6 +23,8 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.math.MathContext;
+import java.math.RoundingMode;
import java.util.*;
/**
@@ -41,6 +42,8 @@
@Autowired
private IDriverService driverService;
@Autowired
+ private IIncomeService incomeService;
+ @Autowired
private GDFalconUtil gdFalconUtil;
@Autowired
private PushUtil pushUtil;
@@ -51,6 +54,10 @@
private ISystemNoticeService systemNoticeService;
@Value("${pushMinistryOfTransport}")
private boolean pushMinistryOfTransport;
+ @Autowired
+ private ICompanyService companyService;
+ @Autowired
+ private ITransactionDetailsService transactionDetailsService;
@Override
public Map<String, Object> queryPushOrder(Integer orderId) throws Exception {
return orderTransferMapper.queryPushOrder(orderId);
@@ -218,7 +225,41 @@
orderPrivateCar.setParkMoney(null == parkingFee ? 0D : parkingFee);
orderPrivateCar.setRoadTollMoney(null == crossingFee ? 0D : crossingFee);
orderPrivateCar.setOrderMoney(orderPrivateCar.getOrderMoney() + orderPrivateCar.getParkMoney() + orderPrivateCar.getRoadTollMoney());
- orderPrivateCar.setState(7);
+ if(type == 3){
+ Double orderMoney = orderPrivateCar.getOrderMoney();
+ //添加交易明细
+ transactionDetailsService.saveData(orderPrivateCar.getDriverId(), "完成订单", orderMoney, 2, 1, 1, 1, orderId);
+
+ orderPrivateCar.setState(8);
+ // 线下支付
+ orderPrivateCar.setPayType(4);
+ orderPrivateCar.setPayMoney(orderMoney);
+
+ //添加已收入明细
+ Company company = companyService.selectById(orderPrivateCar.getCompanyId());
+ Double speMoney = company.getSpeMoney();
+ BigDecimal d = null;//企业收入
+ BigDecimal c = null;//司机收入
+ if(company.getIsSpeFixedOrProportional() == 2){//固定
+ d = new BigDecimal(speMoney);
+ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d);//只有出行金额参与抽成,其余归属司机
+ }
+ if(company.getIsSpeFixedOrProportional() == 1){//比例
+ Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney();
+ d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+ }
+ incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue());
+ incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue());
+ Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
+ driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
+ driverService.updateById(driver);
+ orderPrivateCar.setState(8);
+ }else {
+ orderPrivateCar.setState(7);
+ }
this.updateById(orderPrivateCar);
pushUtil.removeTask(orderId, 7);//删除定时任务,结束推送数据
@@ -282,7 +323,7 @@
return map;
}
@Override
- public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,Integer payManner) throws Exception {
+ public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception {
TOrderTransfer orderPrivateCar = this.selectById(orderId);
switch (state){
case 3://出发前往预约点
@@ -312,10 +353,6 @@
orderPrivateCar.setGetoffTime(new Date());
orderPrivateCar.setEndServiceTime(new Date());
- orderPrivateCar.setPayManner(payManner);
- if(payManner == 2){
- orderPrivateCar.setState(8);
- }
// //设置结束的时候的经纬度
// if (orderPrivateCar.getEndLat()!=null){
--
Gitblit v1.7.1