liujie
2025-11-26 73a1707ea9c49082bb681937f2de9fc57232524e
UserJYXTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.util.ToolUtil;
@@ -11,14 +10,12 @@
import com.stylefeng.guns.modular.crossCity.dao.LinePriceMapper;
import com.stylefeng.guns.modular.crossCity.dao.LineShiftDriverMapper;
import com.stylefeng.guns.modular.crossCity.dao.OrderCrossCityMapper;
import com.stylefeng.guns.modular.crossCity.model.Line;
import com.stylefeng.guns.modular.crossCity.model.LineShiftDriver;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.ILineService;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityWarpper;
import com.stylefeng.guns.modular.smallLogistics.dao.OrderLogisticsMapper;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
import com.stylefeng.guns.modular.huifu.biz.DouGongPayUtil;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
@@ -35,7 +32,6 @@
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
import com.stylefeng.guns.modular.taxi.model.TransactionDetails;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
@@ -61,8 +57,6 @@
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import static com.stylefeng.guns.modular.taxi.service.impl.OrderTaxiServiceImpl.orderIds;
@Service
@@ -721,7 +715,8 @@
        rows = rows.stream().filter(e->e.getMoney()<=orderCrossCity.getOrderMoney()|| e.getDataType()==2).collect(Collectors.toList());
        return rows;
    }
    @Autowired
    private DouGongPayUtil douGongPayUtil;
    /**
     * 订单支付
     * @param payType
@@ -794,7 +789,7 @@
        if(payType == 1){//微信支付
            String app = type == 1 ? "APP" : "JSAPI";
//            resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_3_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderTaxi", app, userInfo.getAppletsOpenId());
            resultUtil = DouGongPayUtil.wxPayOrder(orderMoney.toString(), userInfo.getAppletsOpenId(), "完成订单", 3, String.valueOf(orderId), 1);
            resultUtil = douGongPayUtil.wxPayOrder(orderMoney.toString(), userInfo.getAppletsOpenId(), "完成订单", 3, String.valueOf(orderId), 1);
            paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, "", 1);//添加预支付数据
        }
@@ -1024,7 +1019,7 @@
            }
            String app = type == 1 ? "APP" : "JSAPI";
//            resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_3_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderTaxi", app, userInfo.getAppletsOpenId());
            resultUtil = DouGongPayUtil.wxPayOrder(orderMoney.toString(), userInfo.getAppletsOpenId(), "完成订单", 3, String.valueOf(orderId), 1);
            resultUtil = douGongPayUtil.wxPayOrder(orderMoney.toString(), userInfo.getAppletsOpenId(), "完成订单", 3, String.valueOf(orderId), 1);
            paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, "", 1);//添加预支付数据
        }
        if(payType == 2){//支付宝支付
@@ -1122,8 +1117,11 @@
     * @throws Exception
     */
    @Override
    public void payOrderCrossCityCallback(Integer id, String order_id, Integer type,String no) throws Exception {
    public void payOrderCrossCityCallback(Integer id, String order_id, Integer type,String no,String out_trade_no) throws Exception {
        OrderCrossCity orderCrossCity = this.selectById(id);
        orderCrossCity.setOutTradeNo(out_trade_no);
        PaymentRecord query = paymentRecordService.query(1, orderCrossCity.getUserId(), 1, Integer.valueOf(id), 3, type, 1);
        if(null != query && query.getState() == 1){
            //添加交易明细
@@ -1508,7 +1506,7 @@
                String app = type == 1 ? "APP" : "JSAPI";
//                resultUtil = payMoneyUtil.weixinpay("订单取消", "", id + "_3_" + UUIDUtil.getRandomCode(5), query.getMoney().toString(), "/base/wxCancelOrderTaxi", app, userInfo.getAppletsOpenId());
                resultUtil = DouGongPayUtil.wxPayOrder(query.getMoney().toString(), userInfo.getAppletsOpenId(), "订单取消", 3, String.valueOf(id), 5);
                resultUtil = douGongPayUtil.wxPayOrder(query.getMoney().toString(), userInfo.getAppletsOpenId(), "订单取消", 3, String.valueOf(id), 5);
                paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, id, 3, 1, query.getMoney(), "", 1);//添加预支付数据
//                Map<String, String> map = icbcPayUtil.placeAnOrder(id + ",3", 9, 5, uid.toString(), "订单取消", query.getMoney(), callbackPath + "/base/wxCancelOrderTaxi", "", type, appletsOpenId);
@@ -1564,7 +1562,7 @@
                orderCancelService.updateById(orderCancel);
                //添加已收入明细
                incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getMoney());
                incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getMoney(),null);
                this.deleteTask(id);//删除定时任务
@@ -1823,8 +1821,9 @@
     * @throws Exception
     */
    @Override
    public void payCancelOrderCrossCity(Integer id, String order_id, Integer type) throws Exception {
    public void payCancelOrderCrossCity(Integer id, String order_id, Integer type,String out_trade_no) throws Exception {
        OrderCrossCity orderCrossCity = this.selectById(id);
        orderCrossCity.setOutTradeNo(out_trade_no);
        PaymentRecord query = paymentRecordService.query(1, orderCrossCity.getUserId(), 1, Integer.valueOf(id), 3, type, 1);
        if(null != query){
            //添加交易明细
@@ -1849,7 +1848,7 @@
            }
            //添加已收入明细
            incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getAmount());
            incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getAmount(),out_trade_no);
            this.deleteTask(orderCrossCity.getId());//删除定时任务
@@ -2573,7 +2572,7 @@
        if(payType == 1){//微信支付
            String app = type == 1 ? "APP" : "JSAPI";
//            resultUtil = payMoneyUtil.weixinpay("感谢费", "", orderId + "_3_" + UUIDUtil.getRandomCode(5), money.toString(), "/base/wxPayThankYouFee", app, userInfo.getAppletsOpenId());
            resultUtil = DouGongPayUtil.wxPayOrder(money.toString(), userInfo.getAppletsOpenId(), "感谢费", 3, String.valueOf(orderId), 4);
            resultUtil = douGongPayUtil.wxPayOrder(money.toString(), userInfo.getAppletsOpenId(), "感谢费", 3, String.valueOf(orderId), 4);
            paymentRecordService.saveData(3, uid, 1, orderId, 3, 1, money, "", 1);//添加预支付数据
        }
        if(payType == 2){//支付宝支付
@@ -2603,7 +2602,7 @@
            this.updateById(orderCrossCity);
            //添加已收入明细
            incomeService.saveData(2, orderCrossCity.getDriverId(), 6, orderCrossCity.getId(), 3, money);
            incomeService.saveData(2, orderCrossCity.getDriverId(), 6, orderCrossCity.getId(), 3, money,null);
            Driver driver = driverService.selectById(orderCrossCity.getDriverId());
            driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
            driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -2621,7 +2620,7 @@
    }
    @Override
    public void payThankYouFeeCallback(Integer orderId, String order_id, Integer payType) throws Exception {
    public void payThankYouFeeCallback(Integer orderId, String order_id, Integer payType, String out_trade_no) throws Exception {
        OrderCrossCity orderCrossCity = this.selectById(orderId);
        UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId());
        PaymentRecord query = paymentRecordService.query(3, userInfo.getId(), 1, orderId, 3, payType, 1);
@@ -2640,7 +2639,7 @@
        this.updateById(orderCrossCity);
        //添加已收入明细
        incomeService.saveData(2, orderCrossCity.getDriverId(), 6, orderCrossCity.getId(), 3, query.getAmount());
        incomeService.saveData(2, orderCrossCity.getDriverId(), 6, orderCrossCity.getId(), 3, query.getAmount(),out_trade_no);
        Driver driver = driverService.selectById(orderCrossCity.getDriverId());
        driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(new BigDecimal(query.getAmount())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
        driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(new BigDecimal(query.getAmount())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());