From 90f19cfec1055182b6e2b77cac8f7cafe1664e46 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 10 十一月 2025 14:24:10 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |   94 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 90 insertions(+), 4 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 9c01421..41a5f22 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -28,10 +28,7 @@
 import com.stylefeng.guns.modular.system.util.*;
 import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.AddAccountInfoRequest;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback;
-import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil;
 import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo;
 import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo;
@@ -180,6 +177,10 @@
     /*顺风车司机*/
     @Autowired
     private IDriverRideService driverRideService;
+    @Autowired
+    private IOrderPrivateCarService iOrderPrivateCarService;
+    @Autowired
+    private IIncomeService incomeService;
 
 
     /**
@@ -2703,4 +2704,89 @@
         }
     }
 
+
+    /**
+     * 手动生成追缴单
+     * @param orderId
+     * @return
+     */
+    @PostMapping("/base/saveCopyOrder")
+    public ResultUtil saveCopyOrder(Integer orderId){
+        try {
+            OrderPrivateCar orderPrivateCar = iOrderPrivateCarService.selectById(orderId);
+            Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
+            //copy原始订单后生成追缴单
+            OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar();
+            BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1);
+            orderPrivateCar1.setId(null);
+            orderPrivateCar1.setRecoveryOrder(1);
+            orderPrivateCar1.setIsGenerateRecoveryOrder(0);
+            orderPrivateCar1.setOldOrderId(orderPrivateCar.getId());
+            orderPrivateCar1.setRecoveryOrderCreateDate(new Date());
+            orderPrivateCar1.setAbnormal(1);
+            orderPrivateCar1.setResponsibilityType(null);
+            orderPrivateCar1.setResponsibilityMoney(null);
+            orderPrivateCar1.setAbnormalRemark(null);
+            orderPrivateCar1.setAbnormalIntro(null);
+            orderPrivateCar1.setPromotionMoney(null);
+            orderPrivateCar1.setPromotionDriverId(null);
+            orderPrivateCar1.setPromotionActivityId(null);
+            orderPrivateCar1.setSuccessTime(null);
+            orderPrivateCar1.setPromotion(1);
+            orderPrivateCar1.setPromotionPhone(null);
+            orderPrivateCar1.setPromotionUser(null);
+
+
+            //修改原始订单为支付状态
+            orderPrivateCar.setState(9);
+            orderPrivateCar.setPayType(5);
+            orderPrivateCar.setPayMoney(orderMoney);
+            orderPrivateCar.setPayTime(new Date());
+            orderPrivateCar.setIsGenerateRecoveryOrder(1);
+            //添加收入
+            Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney);
+            orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
+            orderPrivateCarService.updateById(orderPrivateCar);
+            //保存追缴单
+            orderPrivateCarService.insert(orderPrivateCar1);
+            //添加三方支付记录
+            try {
+                paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderMoney, "", 2);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+
+
+            Driver driver1 = driverService.selectById(orderPrivateCar1.getDriverId());
+            UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar1.getUserId());
+            Company company1 = companyService.selectById(driver1.getCompanyId());
+            //调三方订单中心创建行程单
+            CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
+            request.setOrderNo("PR" + orderPrivateCar1.getId());
+            request.setCustomerId(userInfo1.getOnconUUID());
+            request.setDriverId(driver1.getEmpId().toString());
+            request.setSupplierShopId(company1.getEnterCode());
+            request.setServiceType(2);
+            String travelItinerary = OrderUtil.createTravelItinerary(request);
+            orderPrivateCar1.setTravelId(travelItinerary);
+            orderPrivateCar1.setIsCreated(0);
+            orderPrivateCarService.updateById(orderPrivateCar1);
+            //修改订单状态为待支付
+            if(ToolUtil.isNotEmpty(orderPrivateCar1.getTravelId())){
+                ModifyTravelItineraryRequest modifyTravelItineraryRequest = new ModifyTravelItineraryRequest();
+                modifyTravelItineraryRequest.setOrderId(orderPrivateCar1.getTravelId());
+                modifyTravelItineraryRequest.setStatus(orderPrivateCar1.getState());
+                modifyTravelItineraryRequest.setDriverId(driver1.getEmpId().toString());
+                modifyTravelItineraryRequest.setSupplierShopId(company1.getEnterCode());
+                if (2 == orderPrivateCar1.getPromotion()) {
+                    Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId());
+                    modifyTravelItineraryRequest.setPromoterId(driver2.getEmpId().toString());
+                }
+                OrderUtil.modifyTravelItinerary(modifyTravelItineraryRequest);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return ResultUtil.success();
+    }
 }

--
Gitblit v1.7.1