From 8d7dbd6d2c0775d45043474c1525ad827b4cd3bd Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期四, 31 八月 2023 11:59:55 +0800
Subject: [PATCH] 用户端代码  49码头

---
 src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java |   82 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
index 73deee3..6c078d7 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -11,6 +11,7 @@
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.utils.GoogleMap.GeocodeVo;
 import com.stylefeng.guns.modular.system.utils.GoogleMap.GoogleMapUtil;
+import com.stylefeng.guns.modular.system.utils.RedisUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -465,13 +466,77 @@
         }
         return goodsInfoVos;
     }
+@Autowired
+private RedisUtil redisUtil;
 
+
+    @Autowired
+    private ITExamSiteService examSiteService;
+
+
+
+    @Autowired
+    private TYardService yardService;
+    private HashMap<String, String> getLat(String a){
+        HashMap<String, String> map = new HashMap<>();
+        try {
+            GeocodeVo geocode = googleMapUtil.getGeocode(a);
+            map.put("lon",String.valueOf(geocode.getLng()));
+            map.put("lat",String.valueOf(geocode.getLat()));
+        }catch (Exception e){
+            e.printStackTrace();
+            map.put("lon",null);
+            map.put("lat",null);
+        }
+
+        return map;
+    }
     @Override
-    public OrderInfo getOrderInfo(Long orderId) {
+    public   HashMap<String, Object> getOrderInfo(Long orderId) {
         OrderInfo orderInfo = new OrderInfo();
         ArrayList<LonLat> lonLats = new ArrayList<>();
 
         TOrder tOrder = this.baseMapper.selectById(orderId);
+
+
+        String value = redisUtil.getValue(String.valueOf(orderId));
+        orderInfo.setDriverLat(value);
+        ArrayList<Map<String,String>> maps = new ArrayList<>();
+        TTransportation tTransportations = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("type",1));
+        if(tTransportations!=null) {
+            TPort tPort1 = portMapper.selectById(tOrder.getPort());
+            maps.add(getLat(tPort1.getAddress()));
+        }
+
+        if(tOrder.getExamSite()!=null){
+            Integer examSite = tOrder.getExamSite();
+            TExamSite tExamSite = examSiteService.selectById(examSite);
+            // 第二个检查站
+            maps.add(getLat(tExamSite.getAddress()));
+        }
+
+        TTransportation tTransportations1 = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("type",2));
+        if(tTransportations1!=null){
+            Integer yardId = tTransportations1.getYardId();
+            if(yardId!=null){
+                TYard tYard = yardService.selectById(yardId);
+                maps.add(getLat(tYard.getStreetAddress()));
+            }
+        }
+
+
+        if(tOrder.geteAddress()!=null){
+            maps.add(getLat(tOrder.geteAddress()));
+        }
+
+
+
+
+
+
+
+
+
         orderInfo.setSlat(tOrder.getStartLat());
         orderInfo.setSlon(tOrder.getStartLon());
 
@@ -514,7 +579,7 @@
         // 获取码头id  获取码头地址  pickup信息
         Integer portId = tOrder.getPort();
         TPort tPort = portMapper.selectById(portId);
-        orderInfo.setAddress(tOrder.geteAddress());
+        orderInfo.setAddress(tPort.getAddress());
         orderInfo.setContactName(tOrder.getsName());
         orderInfo.setContactPhone(tOrder.getsPhone());
         orderInfo.setContactEmail(tOrder.getsEmail());
@@ -565,7 +630,12 @@
         orderInfo.setNote(driverNoteVos);
         orderInfo.setTrouble(driverNoteVos1);
         orderInfo.setState(tOrder.getState());
-        return orderInfo;
+
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("lonlat",maps);
+        map.put("data",orderInfo);
+
+        return map;
 
 
     }
@@ -623,4 +693,10 @@
     }
 
 
+    @Override
+    public List<Map<String, Object>> getLonLat(Long orderId) {
+        return this.baseMapper.getLonLat(orderId);
+    }
+
+
 }

--
Gitblit v1.7.1