智慧保安后台管理-验收版本
tangzy
2021-12-06 30df94c05573a426d030510d4dd58ae1d93bfb7a
src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
@@ -9,6 +9,8 @@
import org.springblade.modules.location.vo.LocusVo;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -45,6 +47,7 @@
    */
   @Override
   public List<LocusVo> getLocusInfoList(LiveLocationVo liveLocationVo) {
      return baseMapper.getLocusInfoList(liveLocationVo);
   }
@@ -56,6 +59,85 @@
    */
   @Override
   public List<LiveLocationVo> getLiveLocationVoList(LiveLocationVo liveLocationVo) {
      return baseMapper.selectLiveLocationPage(null,liveLocationVo);
      //保安人员
      if (liveLocationVo.getType()==1){
         return baseMapper.getSecurityLocusInfoList(liveLocationVo);
      }
      //车辆
      if (liveLocationVo.getType()==2){
         return baseMapper.getCarLocusInfoList(liveLocationVo);
      }
      //枪支
      if (liveLocationVo.getType()==3){
         return baseMapper.getGunLocusInfoList(liveLocationVo);
      }
      return baseMapper.selectSecurityAndCarAndGunLiveLocationPage(liveLocationVo);
   }
   /**
    * 获取实时位置信息
    * @param liveLocation
    * @return
    */
   @Override
   public LiveLocation getLiveLocationInfo(LiveLocation liveLocation) {
      return baseMapper.getLiveLocationInfo(liveLocation);
   }
   /**
    * 获取指令接收人的定位信息
    * @param liveLocationVo 定位数据信息
    * @return
    */
   @Override
   public List<LiveLocationVo> getDirectiveLiveLocationVoList(LiveLocationVo liveLocationVo) {
      ArrayList<LiveLocationVo> arrayList = new ArrayList<>();
      //人员
      if (liveLocationVo.getType()==1){
         String userIds = liveLocationVo.getUserIds();
         if (null!=userIds && userIds!=""){
            List<String> list = Arrays.asList(userIds.split(","));
            if (list.size()>0){
               list.forEach(userId->{
                  liveLocationVo.setWorkerId(Long.parseLong(userId));
                  LiveLocationVo directiveLiveLocationVo = baseMapper.getDirectiveLiveLocationVo(liveLocationVo);
                  //如果存在定位数据
                  if (null!=directiveLiveLocationVo){
                     arrayList.add(directiveLiveLocationVo);
                  }
               });
            }
         }
      }
      return arrayList;
   }
   /**
    * 获取指令接收人的轨迹数据
    * @param liveLocationVo 实时对象信息
    * @return
    */
   @Override
   public List<List<LocusVo>> getDirectiveLocusInfoList(LiveLocationVo liveLocationVo) {
      List<List<LocusVo>> arrayList = new ArrayList<>();
      //人员
      if (liveLocationVo.getType()==1){
         String userIds = liveLocationVo.getUserIds();
         if (null!=userIds && userIds!=""){
            List<String> list = Arrays.asList(userIds.split(","));
            if (list.size()>0){
               list.forEach(userId->{
                  liveLocationVo.setWorkerId(Long.parseLong(userId));
                  List<LocusVo> directiveLocusInfoList = baseMapper.getDirectiveLocusInfoList(liveLocationVo);
                  //如果存在轨迹数据
                  if (directiveLocusInfoList.size()>0){
                     arrayList.add(directiveLocusInfoList);
                  }
               });
            }
         }
      }
      return arrayList;
   }
}