From f1ba329891967bca6d083a9d5722683a9fa2080b Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 22 九月 2025 09:17:10 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/ZhaoYangChuXing

---
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarConfirmController.java |  221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 221 insertions(+), 0 deletions(-)

diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarConfirmController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarConfirmController.java
new file mode 100644
index 0000000..c8b6f9d
--- /dev/null
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarConfirmController.java
@@ -0,0 +1,221 @@
+package com.stylefeng.guns.modular.system.controller.specialTrain;
+
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.stylefeng.guns.core.base.controller.BaseController;
+import com.stylefeng.guns.core.common.constant.factory.PageFactory;
+import com.stylefeng.guns.core.shiro.ShiroKit;
+import com.stylefeng.guns.core.util.DateUtil;
+import com.stylefeng.guns.core.util.ExcelExportUtil;
+import com.stylefeng.guns.core.util.SinataUtil;
+import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.system.controller.util.PushUtil;
+import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
+import com.stylefeng.guns.modular.system.model.*;
+import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
+import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
+import com.stylefeng.guns.modular.system.util.PushURL;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * 专车订单控制器
+ *
+ * @author fengshuonan
+ * @Date 2020-09-02 17:28:59
+ */
+@Controller
+@RequestMapping("/tOrderPrivateCarConfirm")
+public class TOrderPrivateCarConfirmController extends BaseController {
+
+    private String PREFIXCONFIRM = "/system/tOrderPrivateCarConfirm/";
+
+    @Autowired
+    private ITOrderPrivateCarService tOrderPrivateCarService;
+
+    @Autowired
+    private ITServerCarmodelService tServerCarmodelService;
+
+    @Autowired
+    private ITOrderPositionService tOrderPositionService;
+
+    @Autowired
+    private ITDriverService tDriverService;
+
+    @Autowired
+    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
+
+    @Resource
+    private OrderCancelMapper orderCancelMapper;
+
+    @Value("${pushMinistryOfTransport}")
+    private boolean pushMinistryOfTransport;
+
+    @Value("${filePath}")
+    private String filePath;
+
+
+    /**
+     * 跳转到修改专车订单
+     */
+    @RequestMapping("/tOrderPrivateCar_orderDetail/{tOrderPrivateCarId}")
+    public String tOrderPrivateCarUpdate(@PathVariable Integer tOrderPrivateCarId, Model model) {
+        Map<String, Object> item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCarId);
+        model.addAttribute("item",item);
+        return PREFIXCONFIRM + "tOrderPrivateCar_orderDetail.html";
+    }
+
+    /**
+     * 跳转到专车订单首页
+     */
+    @RequestMapping("")
+    public String confirmIndex(Model model) {
+        //服务专车车型
+        List<TServerCarmodel> carmodelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1)
+        );
+        model.addAttribute("carmodelList",carmodelList);
+        return PREFIXCONFIRM + "tOrderPrivateCar.html";
+    }
+
+
+
+
+    /**
+     * 跳转到确认金额页面
+     */
+    @RequestMapping("/toConfirmMoney/{tOrderPrivateCarId}")
+    public String toConfirmMoney(@PathVariable Integer tOrderPrivateCarId, Model model) {
+        Map<String, Object> item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCarId);
+        model.addAttribute("item",item);
+        return PREFIXCONFIRM + "toConfirmMoney.html";
+    }
+
+
+
+    /**
+     * 获取专车订单列表
+     */
+    @RequestMapping(value = "/listConfirm")
+    @ResponseBody
+    public Object listConfirm(String insertTime,
+                       String orderNum,
+                       Integer orderSource,
+                       String userName,
+                       String userPhone,
+                       String passengers,
+                       String passengersPhone,
+                       Integer serverCarModelId,
+                       String driver,
+                       Integer state,
+                       Integer smsNumber) {
+        String beginTime = null;
+        String endTime = null;
+        if (SinataUtil.isNotEmpty(insertTime)){
+            String[] timeArray = insertTime.split(" - ");
+            beginTime = timeArray[0];
+            endTime = timeArray[1];
+        }
+        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+        page.setRecords(tOrderPrivateCarService.getPrivateCarOrderListConfirm(page,beginTime,endTime,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),orderNum,orderSource,userName,userPhone,passengers,passengersPhone,serverCarModelId,driver,state,smsNumber));
+        return super.packForBT(page);
+    }
+
+
+
+    private ResultUtil resultUtil;
+
+    /**
+     * 获取订单轨迹
+     * @param orderDetailId
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getOrderTrack", method = RequestMethod.POST)
+    public ResultUtil getOrderTrack(String orderDetailId){
+        if(ToolUtil.isNotEmpty(orderDetailId)){
+            try {
+//                List<TOrderPosition> list = tOrderPositionService.selectList(new EntityWrapper<TOrderPosition>().eq("orderType", 1).eq("orderId", orderDetailId).orderBy("insertTime"));
+                /*if(list.size() == 0){
+                    return ResultUtil.error("该订单没有运行轨迹");
+                }*/
+                //将数据存储到文件中
+                File file = new File(filePath + orderDetailId + "_1.txt");
+                if(!file.exists()){
+                    return ResultUtil.success(new ArrayList<>());
+                }
+                //读取文件(字符流)
+                BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
+                //循环取出数据
+                String str = null;
+                StringBuffer sb = new StringBuffer();
+                while ((str = in.readLine()) != null) {
+                    sb.append(str);
+                }
+                List<TOrderPosition> list = JSONArray.parseArray(sb.toString(), TOrderPosition.class);
+                resultUtil = ResultUtil.success(list);
+            }catch (Exception e){
+                e.printStackTrace();
+                resultUtil = ResultUtil.runErr();
+            }
+        }else {
+            resultUtil = ResultUtil.paranErr();
+        }
+        return resultUtil;
+    }
+
+    @Autowired
+    private ITCompanyService companyService;
+
+    @Autowired
+    private ITDriverService driverService;
+
+    @Autowired
+    private IIncomeService incomeService;
+
+
+
+
+    @Autowired
+    private PushUtil pushUtil;
+    /**
+     * 支付专车订单
+     */
+    @RequestMapping(value = "/confirmMoney")
+    @ResponseBody
+    public Object confirmMoney(Integer id,BigDecimal money) {
+        TOrderPrivateCar orderPrivateCar = tOrderPrivateCarService.selectById(id);
+        orderPrivateCar.setAbnormalMoney(orderPrivateCar.getOrderMoney());
+        orderPrivateCar.setOrderMoney(money);
+        orderPrivateCar.setIsException(0);
+        orderPrivateCar.setPriceAuditState(2);
+        orderPrivateCar.setState(7);
+        orderPrivateCar.updateById();
+        // 推送消息
+        TOrderPrivateCar finalOrderPrivateCar = orderPrivateCar;
+
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                pushUtil.pushOrderState(1, finalOrderPrivateCar.getUserId(), finalOrderPrivateCar.getId(), 1, finalOrderPrivateCar.getState());
+                pushUtil.pushOrderState(2, finalOrderPrivateCar.getDriverId(), finalOrderPrivateCar.getId(), 1, finalOrderPrivateCar.getState());
+            }
+        }).start();
+        return SUCCESS_TIP;
+    }
+}

--
Gitblit v1.7.1