| | |
| | | import org.springblade.modules.location.vo.LocusVo; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public List<LocusVo> getLocusInfoList(LiveLocationVo liveLocationVo) { |
| | | |
| | | return baseMapper.getLocusInfoList(liveLocationVo); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 首页实时定位 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<LiveLocationVo> getLiveLocationVoList(LiveLocationVo 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; |
| | | } |
| | | } |