From eca8731f8626a8baf4d472de31da160e5f77abc7 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 30 Dec 2021 16:56:12 +0800 Subject: [PATCH] 获取多设备公有因子,排序 --- screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java | 39 +++++++++++++++++++++++---------------- 1 files changed, 23 insertions(+), 16 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java index 357a576..99b8bef 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java @@ -2,17 +2,19 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + +import com.moral.api.entity.HistorySecondCruiser; +import com.moral.api.entity.Organization; import com.moral.api.entity.SpecialDevice; import com.moral.api.entity.SpecialDeviceHistory; import com.moral.api.mapper.HistorySecondCruiserMapper; -import com.moral.api.mapper.HistorySecondSpecialMapper; import com.moral.api.mapper.SpecialDeviceMapper; import com.moral.api.service.OrganizationService; import com.moral.api.service.SpecialDeviceHistoryService; import com.moral.api.service.SpecialDeviceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.Constants; -import com.moral.constant.RedisConstants; + import com.moral.util.DateUtils; import com.moral.util.GeodesyUtils; import com.moral.util.TokenUtils; @@ -27,6 +29,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -40,7 +43,7 @@ public class SpecialDeviceServiceImpl extends ServiceImpl<SpecialDeviceMapper, SpecialDevice> implements SpecialDeviceService { @Autowired - private HistorySecondSpecialMapper historySecondSpecialMapper; + private HistorySecondCruiserMapper HistorySecondCruiserMapper; @Autowired private SpecialDeviceHistoryService specialDeviceHistoryService; @@ -60,16 +63,20 @@ private final static Double dis = 50d; @Override - public List<Map<String, Object>> getCarsInfo() { + public List<Map<String, Object>> selectCruisers() { //������������������������ Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); Integer orgId = (Integer) orgInfo.get("id"); + //��������������������� + List<Organization> organizations = organizationService.getChildrenOrganizationsById(orgId); + List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); + orgIds.add(orgId); QueryWrapper<SpecialDeviceHistory> queryWrapper = new QueryWrapper<>(); queryWrapper.select("mac", "name") - .eq("organization_id", orgId) - .eq("special_type", Constants.SPECIAL_DEVICE_CAR) - .eq("is_delete", Constants.NOT_DELETE); + .eq("special_type", Constants.SPECIAL_DEVICE_CRUISER) + .eq("is_delete", Constants.NOT_DELETE) + .in("organization_id", orgIds); return specialDeviceHistoryService.listMaps(queryWrapper); } @@ -81,14 +88,14 @@ Integer orgId = (Integer) orgInfo.get("id"); params.put("orgId", orgId); //������������������������������������ - List<Map<String, Object>> data = historySecondSpecialMapper.getSpecialDeviceData(params); + List<Map<String, Object>> data = HistorySecondCruiserMapper.getCruiserData(params); if (ObjectUtils.isEmpty(data)) { return data; } data.removeIf(o -> { Map<String, Object> value = JSONObject.parseObject(o.remove("value").toString(), Map.class); - Object flylon = value.get("flylon"); - Object flylat = value.get("flylat"); + Object flylon = value.get(Constants.SENSOR_CODE_LON); + Object flylat = value.get(Constants.SENSOR_CODE_LAT); if (ObjectUtils.isEmpty(flylon) || ObjectUtils.isEmpty(flylat)) { return true; } @@ -103,14 +110,14 @@ return filterData(data); } - + @Override public SpecialDevice getSpecialDeviceMapByMac(String mac) { - QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>(); - wrapper.eq("mac", mac); - wrapper.eq("is_delete", Constants.NOT_DELETE); - return specialDeviceMapper.selectOne(wrapper); + QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper(); + queryWrapper.eq("mac", mac); + queryWrapper.eq("is_delete", Constants.NOT_DELETE); + SpecialDevice specialDevice = specialDeviceMapper.selectOne(queryWrapper); + return specialDevice; } - @Override public List<String> getDatesByMac(String mac) { -- Gitblit v1.8.0