From 0e079a1e51fc3f30d73bf9c4e5fce5f3f0d6d33f Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 05 二月 2025 11:22:41 +0800
Subject: [PATCH] 补充

---
 ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java |   86 +++++++++++++++++++++++--------------------
 1 files changed, 46 insertions(+), 40 deletions(-)

diff --git a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java
index 9ae9199..3c504af 100644
--- a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java
+++ b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java
@@ -14,6 +14,7 @@
 import com.stylefeng.guns.modular.system.util.*;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.ui.Model;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -106,31 +107,33 @@
         Map<String, Object> tOrderTaxi = tOrderTaxiService.getTaxiOrderDetailById(tOrderTaxiId);
         model.addAttribute("item",tOrderTaxi);
         // 查询司机扣款
-        TPubTransactionDetails tPubTransactionDetails = pubTransactionDetailsService.selectOne(new EntityWrapper<TPubTransactionDetails>()
+        List<TPubTransactionDetails> tPubTransactionDetails = pubTransactionDetailsService.selectList(new EntityWrapper<TPubTransactionDetails>()
                 .eq("userId", tOrderTaxi.get("driverId"))
-                .eq("state", 2)
+                .eq("orderId", tOrderTaxi.get("id"))
                 .eq("type", 1)
-                .eq("userType", 6)
-                .eq("payState", 2)
-                .last("LIMIT 1"));
-        if (tPubTransactionDetails==null){
+                .eq("userType", 2));
+        if(CollectionUtils.isEmpty(tPubTransactionDetails)){
             model.addAttribute("companyMoney","");
             model.addAttribute("driverMoney","");
-
-        }else{
-            model.addAttribute("companyMoney",tPubTransactionDetails.getMoney());
-            model.addAttribute("driverMoney",new BigDecimal(tOrderTaxi.get("payMoney").toString()).subtract(tPubTransactionDetails.getMoney()));
-
-
-        }
-        if (tOrderTaxi.get("payManner")!=null){
-            if(tOrderTaxi.get("payManner").equals("1")){
-                model.addAttribute("payMannerStr","线上收款");
+        }else {
+            TPubTransactionDetails pubTransactionDetailCompany = tPubTransactionDetails.stream().filter(e -> e.getOrderType().equals(6)).findFirst().orElse(null);
+            if(Objects.nonNull(pubTransactionDetailCompany)){
+                model.addAttribute("companyMoney",pubTransactionDetailCompany.getMoney());
             }else {
-                model.addAttribute("payMannerStr","计费打表");
+                model.addAttribute("companyMoney","");
+            }
+            TPubTransactionDetails pubTransactionDetailDriver = tPubTransactionDetails.stream().filter(e -> e.getOrderType().equals(2)).findFirst().orElse(null);
+            if(Objects.nonNull(pubTransactionDetailCompany)){
+                model.addAttribute("driverMoney",pubTransactionDetailDriver.getMoney());
+            }else {
+                model.addAttribute("driverMoney","");
             }
         }
-
+        if(tOrderTaxi.get("payManner").equals("1")){
+            model.addAttribute("payMannerStr","线上收款");
+        }else {
+            model.addAttribute("payMannerStr","计费打表");
+        }
         LogObjectHolder.me().set(tOrderTaxi);
         return PREFIX + "tOrderTaxi_edit.html";
     }
@@ -202,27 +205,29 @@
      * @param orderDetailId
      * @return
      */
-    public static String URL = "https://yingyan.baidu.com/api/v3/track/gettrack?";
-
-    public static String AK = "WQhfsluNzEeUHUxoH4jc4JiCQOXw4Mnx";
     @ResponseBody
     @RequestMapping(value = "/getOrderTrack", method = RequestMethod.POST)
     public ResultUtil getOrderTrack(String orderDetailId){
         if(ToolUtil.isNotEmpty(orderDetailId)){
             try {
-                TOrderTaxi tOrderTaxi = tOrderTaxiService.selectById(orderDetailId);
-                TDriver tDriver = driverService.selectById(tOrderTaxi.getDriverId());
-                SearchHttpAK ta = new SearchHttpAK();
-                Map params = new LinkedHashMap<String, String>();
-                params.put("ak", AK);
-                params.put("entity_name", tDriver.getPhone());
-                params.put("service_id", "241187");
-                long start = tOrderTaxi.getStartServiceTime().getTime() / 1000L;
-                long end = tOrderTaxi.getEndServiceTime().getTime() / 1000L;
-                params.put("start_time", start+"");
-                params.put("end_time", end+"");
-                String s = ta.requestGetAK(URL, params);
-                List<TOrderPositionBaiDu> list = JSONArray.parseArray(s.toString(), TOrderPositionBaiDu.class);
+//                List<TOrderPosition> list = tOrderPositionService.selectList(new EntityWrapper<TOrderPosition>().eq("orderType", 2).eq("orderId", orderDetailId).orderBy("insertTime"));
+                /*if(list.size() == 0){
+                    return ResultUtil.error("该订单没有运行轨迹");
+                }*/
+                //将数据存储到文件中
+                File file = new File(filePath + orderDetailId + "_2.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();
@@ -380,12 +385,12 @@
             tOrderTaxi.setUserId(tUser.getId());
             tOrderTaxi.setOrderNum(this.getOrderNum());
             tOrderTaxi.setPlacementAddress(tOrderTaxi.getStartAddress());
-            tOrderTaxi.setPlacementLon(Double.valueOf(s.get(0).split(",")[0]));
-            tOrderTaxi.setPlacementLat(Double.valueOf(s.get(0).split(",")[1]));
-            tOrderTaxi.setStartLon(Double.valueOf(s.get(0).split(",")[0]));
-            tOrderTaxi.setStartLat(Double.valueOf(s.get(0).split(",")[1]));
-            tOrderTaxi.setEndLon(Double.valueOf(e.get(0).split(",")[0]));
-            tOrderTaxi.setEndLat(Double.valueOf(e.get(0).split(",")[1]));
+            tOrderTaxi.setPlacementLon(Double.valueOf(s.get(0).split(",")[1]));
+            tOrderTaxi.setPlacementLat(Double.valueOf(s.get(0).split(",")[0]));
+            tOrderTaxi.setStartLon(Double.valueOf(s.get(0).split(",")[1]));
+            tOrderTaxi.setStartLat(Double.valueOf(s.get(0).split(",")[0]));
+            tOrderTaxi.setEndLon(Double.valueOf(e.get(0).split(",")[1]));
+            tOrderTaxi.setEndLat(Double.valueOf(e.get(0).split(",")[0]));
             tOrderTaxi.setMileage(0D);
             tOrderTaxi.setOrderMoney(new BigDecimal(0));
             tOrderTaxi.setTravelMoney(new BigDecimal(0));
@@ -399,6 +404,7 @@
             tOrderTaxi.setSubstitute(0);
             tOrderTaxi.setOrderSource(5);
             tOrderTaxi.setIsDelete(1);
+            tOrderTaxi.setPayManner(3);
             tOrderTaxiService.insert(tOrderTaxi);
             if(tOrderTaxi.getState() == 1){
                 //推送司机抢单

--
Gitblit v1.7.1