Selaa lähdekoodia

feat:commonService增加查询位置信息方法

wangweiyu 4 vuotta sitten
vanhempi
commit
ff60b90aa8

+ 0 - 5
src/main/java/com/aoyang/tms/controller/TruckMongoInfoController.java

@@ -89,7 +89,6 @@ public class TruckMongoInfoController {
         location.setLongitude(tmsMongoDoc.getLongitude()+"");
         location.setCarNumber(truckSimCard.getCarNumber());
         location.setTruckId(truckSimCard.getTruckId());
-        // 时间格式: YYMMDDHHMMSS
         location.setLocalTime("20" + tmsMongoDoc.getDateTime());
         return new Result<>(location);
     }
@@ -118,8 +117,6 @@ public class TruckMongoInfoController {
         criteria.andOperator(Criteria.where("dateTime").gt(format.format(param.getStartTime())));
         criteria.andOperator(Criteria.where("dateTime").lt(format.format(param.getEndTime())));
         Query query = new Query(criteria);
-        query.with(new Sort(Sort.Direction.DESC, "createTime"));
-
         List<TmsMongoDoc> tmsMongoDocs = mongoTemplate.find(query, TmsMongoDoc.class);
         List<LocationVO> result = new ArrayList<>();
         for (TmsMongoDoc tmsMongoDoc : tmsMongoDocs) {
@@ -129,7 +126,6 @@ public class TruckMongoInfoController {
             location.setLongitude(tmsMongoDoc.getLongitude() + "");
             location.setCarNumber(truckSimCard.getCarNumber());
             location.setTruckId(truckSimCard.getTruckId());
-            // 时间格式: YYMMDDHHMMSS
             location.setLocalTime("20" + tmsMongoDoc.getDateTime());
             result.add(location);
         }
@@ -169,7 +165,6 @@ public class TruckMongoInfoController {
         location.setLongitude(tmsMongoDoc.getLongitude()+"");
         location.setCarNumber(truckSimCard.getCarNumber());
         location.setTruckId(truckSimCard.getTruckId());
-        // 时间格式: YYMMDDHHMMSS
         location.setLocalTime("20" + tmsMongoDoc.getDateTime());
         return new Result<>(location);
     }

+ 7 - 0
src/main/java/com/aoyang/tms/service/CommonService.java

@@ -1,6 +1,7 @@
 package com.aoyang.tms.service;
 
 import com.aoyang.common.result.Result;
+import com.aoyang.tms.controller.vo.LocationVO;
 import com.aoyang.tms.feign.result.Truck;
 import com.aoyang.tms.feign.result.TruckDriver;
 
@@ -48,4 +49,10 @@ public interface CommonService {
      */
     boolean verifyResult(Result result);
 
+
+    /**
+     * 根据truckId获取车辆信息
+     */
+    LocationVO getLocation(Long truckId);
+
 }

+ 36 - 0
src/main/java/com/aoyang/tms/service/impl/CommonServiceImpl.java

@@ -1,11 +1,20 @@
 package com.aoyang.tms.service.impl;
 
 import com.aoyang.common.result.Result;
+import com.aoyang.tms.controller.vo.LocationVO;
+import com.aoyang.tms.entity.TruckSimCard;
 import com.aoyang.tms.feign.StrategyFeignClient;
+import com.aoyang.tms.feign.result.TmsMongoDoc;
 import com.aoyang.tms.feign.result.Truck;
 import com.aoyang.tms.feign.result.TruckDriver;
 import com.aoyang.tms.service.CommonService;
+import com.aoyang.tms.service.TruckSimCardService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -24,6 +33,12 @@ public class CommonServiceImpl implements CommonService {
     @Resource
     private StrategyFeignClient strategyFeignClient;
 
+    @Resource
+    private MongoTemplate mongoTemplate;
+
+    @Resource
+    private TruckSimCardService truckSimCardService;
+
     @Override
     public List<TruckDriver> findTruckDrivers(Long truckId) {
         TruckDriver truckDriver = new TruckDriver();
@@ -60,4 +75,25 @@ public class CommonServiceImpl implements CommonService {
     public boolean verifyResult(Result result) {
         return false;
     }
+
+    @Override
+    public LocationVO getLocation(Long truckId) {
+        QueryWrapper<TruckSimCard> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("truck_id", truckId);
+        TruckSimCard truckSimCard = truckSimCardService.getOne(queryWrapper);
+        if (truckSimCard == null) {
+            log.error("绑定信息不存在 truckId:{}", truckId);
+            return null;
+        }
+        Query query = new Query(Criteria.where("clientId").is(truckSimCard.getClientId()));
+        query.with(new Sort(Sort.Direction.DESC, "createTime"));
+        TmsMongoDoc tmsMongoDoc = mongoTemplate.findOne(query, TmsMongoDoc.class);
+        LocationVO location = new LocationVO();
+        location.setLatitude(tmsMongoDoc.getLatitude()+"");
+        location.setLongitude(tmsMongoDoc.getLongitude()+"");
+        location.setCarNumber(truckSimCard.getCarNumber());
+        location.setTruckId(truckSimCard.getTruckId());
+        location.setLocalTime("20" + tmsMongoDoc.getDateTime());
+        return location;
+    }
 }