From 8522e469e00e1cf6c0410165b0f76c806c13ca83 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期六, 16 八月 2025 09:17:04 +0800
Subject: [PATCH] 合并代码

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java |  266 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 257 insertions(+), 9 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
index 5b32716..2708e5c 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.system.controller.specialTrain;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
@@ -10,9 +11,13 @@
 import com.stylefeng.guns.core.util.SinataUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
+import com.stylefeng.guns.modular.system.dao.TCompanyMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.domain.Sort;
@@ -35,6 +40,7 @@
  * @author fengshuonan
  * @Date 2020-09-02 17:28:59
  */
+@Slf4j
 @Controller
 @RequestMapping("/abnormal")
 public class TAbnormalOrderCarController extends BaseController {
@@ -80,8 +86,14 @@
 
     @Autowired
     private TAbnormalPayOrderService tAbnormalPayOrderService;
-    
-    
+
+
+    @Autowired
+    private ITSystemNoticeService systemNoticeService;
+    @Autowired
+    private TCompanyMapper tCompanyMapper;
+
+
     /**
      * 跳转到快车订单首页
      */
@@ -119,6 +131,7 @@
             }
             model.addAttribute("item",item);
             model.addAttribute("type",1);
+            model.addAttribute("show",0);
 
             List<TOrderPrivateCar> tOrderPrivateCars = tOrderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>().eq("pid", tOrderPrivateCarId).eq("isDelete", 1));
             List<Map<String, Object>> maps = new ArrayList<>();
@@ -140,6 +153,7 @@
             }
             Object o2 = item.get("responsibilityType");
             model.addAttribute("money",0);
+            model.addAttribute("show",0);
             if(o2!=null){
                 if(Integer.valueOf(o2.toString())>2){
                     TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum", item.get("orderNum")));
@@ -158,6 +172,85 @@
                 model.addAttribute("abnormalImg",new String[]{});
             }
             model.addAttribute("money",0);
+            model.addAttribute("show",0);
+            Object o2 = item.get("responsibilityType");
+            if(o2!=null){
+                if(Integer.valueOf(o2.toString())>2){
+                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 3).eq("orderNum", item.get("orderNum")));
+                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
+                }
+            }
+            model.addAttribute("type",3);
+            model.addAttribute("item",item);
+        }
+
+        return PREFIX + "tAbnormalOrder_orderDetail.html";
+    }
+    @RequestMapping("/tOrderPrivateCar_orderDetail1")
+    public String tOrderPrivateCarUpdate1(Integer tOrderPrivateCarId,Integer type, Model model) {
+        if(type==1){
+            Map<String, Object> item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCarId);
+
+            Object o1 = item.get("abnormalImg");
+            if(o1!=null){
+                String[] split = o1.toString().split(",");
+                model.addAttribute("abnormalImg",split);
+            }else {
+                model.addAttribute("abnormalImg",new String[]{});
+            }
+            // money是修改后的金额
+            model.addAttribute("money",0);
+            Object o2 = item.get("responsibilityType");
+            if(o2!=null){
+                if(Integer.valueOf(o2.toString())>2){
+                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 1).eq("orderNum", item.get("orderNum")));
+                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
+                }
+            }
+            model.addAttribute("item",item);
+            model.addAttribute("type",1);
+            model.addAttribute("show",1);
+
+            List<TOrderPrivateCar> tOrderPrivateCars = tOrderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>().eq("pid", tOrderPrivateCarId).eq("isDelete", 1));
+            List<Map<String, Object>> maps = new ArrayList<>();
+            for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) {
+                item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCar.getId());
+                String phone = item.get("userPhone").toString();
+                item.put("userPhone1", phone.substring(phone.length() - 4));
+                maps.add(item);
+            }
+            model.addAttribute("maps",maps);
+        }else if(type==2){
+            Map<String, Object> item = tOrderCrossCityService.getCrossCityOrderDetailById(tOrderPrivateCarId);
+            Object o1 = item.get("abnormalImg");
+            if(o1!=null){
+                String[] split = o1.toString().split(",");
+                model.addAttribute("abnormalImg",split);
+            }else {
+                model.addAttribute("abnormalImg",new String[]{});
+            }
+            Object o2 = item.get("responsibilityType");
+            model.addAttribute("money",0);
+            model.addAttribute("show",1);
+            if(o2!=null){
+                if(Integer.valueOf(o2.toString())>2){
+                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum", item.get("orderNum")));
+                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
+                }
+            }
+            model.addAttribute("type",2);
+            model.addAttribute("item",item);
+        }else if(type==3){
+            Map<String, Object> item = tOrderTaxiService.getTaxiOrderDetailById(tOrderPrivateCarId);
+            Object o1 = item.get("abnormalImg");
+            if(o1!=null){
+                String[] split = o1.toString().split(",");
+                model.addAttribute("abnormalImg",split);
+            }else {
+                model.addAttribute("abnormalImg",new String[]{});
+            }
+            model.addAttribute("money",0);
+            model.addAttribute("show",1);
             Object o2 = item.get("responsibilityType");
             if(o2!=null){
                 if(Integer.valueOf(o2.toString())>2){
@@ -210,6 +303,9 @@
         }
         abnormal = 2;
         Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+        if(type==null){
+            type=1;
+        }
         // 快车
         if(type==1){
             page.setRecords(tOrderPrivateCarService.getPrivateCarOrderList(page, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(),
@@ -589,39 +685,191 @@
     @RequestMapping(value = "/save")
     @ResponseBody
     public Object save(Integer responsibilityTypeVal,String remark,String money,Integer type,String orderNum) {
+        Integer userId =null;
         if(type==1){
-            TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectOne(new EntityWrapper<TOrderPrivateCar>().eq("orderNum",orderNum));
+            TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectOne(new EntityWrapper<TOrderPrivateCar>().eq("id",orderNum));
+            userId = tOrderPrivateCar.getUserId();
             tOrderPrivateCar.setResponsibilityType(responsibilityTypeVal);
             tOrderPrivateCar.setAbnormalStatus(2);
             if(responsibilityTypeVal>3){
-                tOrderPrivateCar.setResponsibilityMoney(new BigDecimal(money));
+                tOrderPrivateCar.setResponsibilityMoney(tOrderPrivateCar.getPayMoney());
+                tOrderPrivateCar.setOrderMoney(new BigDecimal(money));
+            }
+            if(responsibilityTypeVal>2){
+                // 追偿订单记录表
+                TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
+                tAbnormalPayOrder.setOrderNum(orderNum);
+                tAbnormalPayOrder.setOrderNo(tOrderPrivateCar.getOrderNum());
+                tAbnormalPayOrder.setType(1);
+                tAbnormalPayOrder.setUserId(tOrderPrivateCar.getUserId());
+                tAbnormalPayOrder.setPayStatus(1);
+                tAbnormalPayOrder.setPayTime(new Date());
+                if(responsibilityTypeVal==3){
+                    tAbnormalPayOrder.setPayMoney(tOrderPrivateCar.getPayMoney());
+                }else {
+                    tAbnormalPayOrder.setPayMoney(new BigDecimal( money));
+                }
+                tAbnormalPayOrder.setCompanyId(tOrderPrivateCar.getCompanyId());
+                tAbnormalPayOrderService.insert(tAbnormalPayOrder);
+            }
+
+            if(responsibilityTypeVal<3){
+                tOrderPrivateCar.setState(9);
             }
             tOrderPrivateCar.setAbnormalRemark(remark);
             tOrderPrivateCarService.updateById(tOrderPrivateCar);
-        }
+            //平台全责和司机全责需要调起备付金支付
+            if(9 == tOrderPrivateCar.getState()){
+                TDriver driver = tDriverService.selectById(tOrderPrivateCar.getDriverId());
+                TCompany company = tCompanyMapper.selectById(driver.getCompanyId());
+                TUser userInfo = userService.selectById(tOrderPrivateCar.getUserId());
+                if(null == tOrderPrivateCar.getIsCreated()){
+                    //先调中台创建订单
+                    CreateOrderRequest createOrderRequest = new CreateOrderRequest();
+                    createOrderRequest.setTreatShopId(driver.getEmpId().toString());
+                    createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (tOrderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
+                    createOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney());
+                    createOrderRequest.setOrderNo("PR" + tOrderPrivateCar.getId());
+                    createOrderRequest.setOrderId(tOrderPrivateCar.getTravelId());
+                    createOrderRequest.setCustomerId(userInfo.getOnconUUID());
+                    OrderInfo orderInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradeOrderCreate(createOrderRequest);
+                    tOrderPrivateCar.setIsCreated(1);
+                    tOrderPrivateCar.setTravelId(orderInfo.getOrderId());
+                    tOrderPrivateCarService.updateById(tOrderPrivateCar);
+                }
+                //使用备付金进行支付订单
+                TradePayOffData tradePayOffData = new TradePayOffData();
+                tradePayOffData.setPartnerPayId(tOrderPrivateCar.getTravelId());
+                tradePayOffData.setTotalFee(tOrderPrivateCar.getOrderMoney().multiply(new BigDecimal(100)).toString());
+                tradePayOffData.setOrderDesc("完成订单");
+                PayInfo payInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradePayOff(tradePayOffData);
+                String retCode = payInfo.getRetCode();
+                if (!"000000".equals(retCode)) {
+                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
+                    return "备付金支付失败:" + payInfo.getRetMsg();
+                }
+                PayInfoData data = payInfo.getData();
+                String status = data.getStatus();
+                if ("3".equals(status)) {
+                    log.error("备付金支付失败:{}", payInfo.getRetMsg());
+                    return "备付金支付失败:" + payInfo.getRetMsg();
+                }
+                if("0".equals(status)){
+                    //查询支付信息
+                    GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
+                    getPaymentInfoDataRequest.setPartnerPayId(tOrderPrivateCar.getTravelId());
+                    GetPaymentInfo getPaymentInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.paymentInfo(getPaymentInfoDataRequest);
+                    status = getPaymentInfo.getStatus();
+                }
+                PayInfoData payInfoData = payInfo.getData();
+                PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0);
+                if(!"0".equals(status)) {
+                    //支付成功,通知三方
+                    PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest();
+                    paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId());
+                    paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos()));
+                    paymentOrderRequest.setOrderId(tOrderPrivateCar.getTravelId());
+                    paymentOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney());
+                    paymentOrderRequest.setPayTime(data.getPayTime());
+                    paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId());
+                    OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest);
 
+                    //中台修改订单状态
+                    ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
+                    request1.setOrderId(tOrderPrivateCar.getTravelId());
+                    request1.setStatus(9);
+                    if (null != tOrderPrivateCar.getDriverId()) {
+                        request1.setDriverId(driver.getEmpId().toString());
+                        request1.setSupplierShopId(company.getEnterCode());
+                    }
+                    if (2 == tOrderPrivateCar.getPromotion()) {
+                        TDriver driver2 = tDriverService.selectById(tOrderPrivateCar.getPromotionDriverId());
+                        request1.setPromoterId(driver2.getEmpId().toString());
+                    }
+                    OrderUtil.modifyTravelItinerary(request1);
+                }
+            }
+        }
         if(type==2){
-            TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("orderNum", orderNum));
+            TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("id", orderNum));
+            userId = tOrderCrossCity.getUserId();
             tOrderCrossCity.setResponsibilityType(responsibilityTypeVal);
             tOrderCrossCity.setAbnormalStatus(2);
             if(responsibilityTypeVal>3) {
-                tOrderCrossCity.setResponsibilityMoney(new BigDecimal(money));
+                tOrderCrossCity.setResponsibilityMoney(tOrderCrossCity.getPayMoney());
+                tOrderCrossCity.setOrderMoney(new BigDecimal(money));
+            }
+            if(responsibilityTypeVal>2){
+                // 追偿订单记录表
+                TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
+                tAbnormalPayOrder.setOrderNum(orderNum);
+
+                tAbnormalPayOrder.setOrderNo(tOrderCrossCity.getOrderNum());
+                tAbnormalPayOrder.setType(2);
+                tAbnormalPayOrder.setUserId(tOrderCrossCity.getUserId());
+                tAbnormalPayOrder.setPayStatus(1);
+                tAbnormalPayOrder.setPayTime(new Date());
+                if(responsibilityTypeVal==3){
+                    tAbnormalPayOrder.setPayMoney(tOrderCrossCity.getPayMoney());
+                }else {
+                    tAbnormalPayOrder.setPayMoney(new BigDecimal(money));
+                }
+                tAbnormalPayOrder.setCompanyId(tOrderCrossCity.getCompanyId());
+                tAbnormalPayOrderService.insert(tAbnormalPayOrder);
+            }
+            if(responsibilityTypeVal<3){
+                tOrderCrossCity.setState(9);
             }
             tOrderCrossCity.setAbnormalRemark(remark);
             tOrderCrossCityService.updateById(tOrderCrossCity);
 
         }
         if(type==3){
-            TOrderTaxi tOrderTaxi = tOrderTaxiService.selectOne(new EntityWrapper<TOrderTaxi>().eq("orderNum", orderNum));
+            TOrderTaxi tOrderTaxi = tOrderTaxiService.selectOne(new EntityWrapper<TOrderTaxi>().eq("id", orderNum));
+            userId = tOrderTaxi.getUserId();
             tOrderTaxi.setResponsibilityType(responsibilityTypeVal);
             tOrderTaxi.setAbnormalStatus(2);
             if(responsibilityTypeVal>3) {
-                tOrderTaxi.setResponsibilityMoney(new BigDecimal(money));
+                tOrderTaxi.setResponsibilityMoney(tOrderTaxi.getPayMoney());
+                tOrderTaxi.setOrderMoney(new BigDecimal(money));
+            }
+            if(responsibilityTypeVal>2){
+                // 追偿订单记录表
+                TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
+                tAbnormalPayOrder.setOrderNum(orderNum);
+                tAbnormalPayOrder.setOrderNo(tOrderTaxi.getOrderNum());
+                tAbnormalPayOrder.setType(3);
+                tAbnormalPayOrder.setUserId(tOrderTaxi.getUserId());
+                tAbnormalPayOrder.setPayStatus(1);
+                tAbnormalPayOrder.setPayTime(new Date());
+                if(responsibilityTypeVal==3){
+                    tAbnormalPayOrder.setPayMoney(tOrderTaxi.getPayMoney());
+                }else {
+                    tAbnormalPayOrder.setPayMoney(new BigDecimal( money));
+                }
+
+                tAbnormalPayOrder.setCompanyId(tOrderTaxi.getCompanyId());
+                tAbnormalPayOrderService.insert(tAbnormalPayOrder);
+            }
+            if(responsibilityTypeVal<3){
+                tOrderTaxi.setState(9);
             }
             tOrderTaxi.setAbnormalRemark(remark);
             tOrderTaxiService.updateById(tOrderTaxi);
         }
+
+
+        TSystemNotice tSystemNotice = new TSystemNotice();
+        tSystemNotice.setType(2);
+        tSystemNotice.setNoticeType(1);
+        tSystemNotice.setUserType(1);
+        tSystemNotice.setUserId(userId);
+        tSystemNotice.setContent("您提交的申诉平台已处理");
+        tSystemNotice.setRead(1);
+        tSystemNotice.setInsertTime(new Date());
+        systemNoticeService.insert(tSystemNotice);
         return SUCCESS_TIP;
+
     }
 
 

--
Gitblit v1.7.1