From 434088b7d4ee12c1206cfb194da2b600f4815f94 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期二, 15 八月 2023 18:27:37 +0800
Subject: [PATCH] broker 卡车公司端

---
 src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java |   89 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 75 insertions(+), 14 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 9fd47e8..a0c98b0 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
@@ -8,10 +8,10 @@
     import com.stylefeng.guns.core.util.ToolUtil;
     import com.stylefeng.guns.modular.system.dao.*;
     import com.stylefeng.guns.modular.system.model.*;
-    import com.stylefeng.guns.modular.system.service.ITBoxSizeService;
-    import com.stylefeng.guns.modular.system.service.ITDriverService;
-    import com.stylefeng.guns.modular.system.service.ITOrderService;
+    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;
 
@@ -434,28 +434,84 @@
             return goodsInfoVos;
         }
 
+        @Autowired
+        private RedisUtil redisUtil;
+
+        @Resource
+        private TTransportationService tTransportationService;
+
+        @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<>();
+                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());
+            orderInfo.setStatus(tOrder.getStatus());
             LonLat lonLat = new LonLat();
             lonLat.setLat(tOrder.getStartLat());
             lonLat.setLng(tOrder.getStartLon());
             lonLats.add(lonLat);
-            String s = tOrder.geteAddress();
-    //        GeocodeVo geocode = googleMapUtil.getGeocode(s);
-    //        orderInfo.setElat(String.valueOf(geocode.getLat()));
-    //        orderInfo.setElon(String.valueOf(geocode.getLng()));
+                String s = tOrder.geteAddress();
+            GeocodeVo geocode = googleMapUtil.getGeocode(s);
+            orderInfo.setElat(String.valueOf(geocode.getLat()));
+            orderInfo.setElon(String.valueOf(geocode.getLng()));
             lonLat=new LonLat();
-            lonLat.setLng("-113.066919618184");
-            lonLat.setLat("37.684389618184");
+            lonLat.setLng(tOrder.getStartLon());
+            lonLat.setLat(tOrder.getStartLat());
             lonLats.add(lonLat);
-            orderInfo.setElat("37.684389618184");
-            orderInfo.setElon("-113.066919618184");
+            orderInfo.setElat(String.valueOf(geocode.getLat()));
+            orderInfo.setElon(String.valueOf(geocode.getLng()));
 
             orderInfo.setLonLats(lonLats);
             Long quoteId = tQuoteMapper.selectList(new EntityWrapper<TQuote>().eq("order_id", tOrder.geteZipZ())).get(0).getId();
@@ -479,7 +535,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());
@@ -509,6 +565,7 @@
             ArrayList<String> strings = new ArrayList<>();
             goods.forEach(e->{
                 strings.add(e.getContainerNumber());
+                strings.add(String.valueOf(e.getOrderId()));
                 orderInfo.setGoodsId(e.getId());
                 orderInfo.setBl(e.getBillNumber());
             });
@@ -532,7 +589,11 @@
             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;
 
 
         }

--
Gitblit v1.7.1