lizijie
2021-09-17 bf4249273b9664073993c71db2cb444f5c66d2af
特殊设备历史表查询接口修改,无人机走航车秒数据补偿接口修改
5 files modified
62 ■■■■■ changed files
screen-manage/src/main/java/com/moral/api/service/SpecialDeviceService.java 3 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceHistoryServiceImpl.java 17 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java 32 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/SpecialDeviceService.java
@@ -35,4 +35,7 @@
    //根据设备id查询设备组织,维护人等信息
    SpecialDeviceInfoDTO selectDeviceInfoDTOById(Integer deviceId);
    //特殊设备数据校准
    Map<String,Object> adjustSpecialDeviceData(Map<String,Object> deviceData);
}
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
@@ -8,6 +8,7 @@
import com.moral.api.service.DeviceService;
import com.moral.api.service.HistorySecondCruiserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.SpecialDeviceService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.util.DateUtils;
@@ -35,7 +36,7 @@
    private HistorySecondCruiserMapper historySecondCruiserMapper;
    @Autowired
    private DeviceService deviceService;
    private SpecialDeviceService specialDeviceService;
    @Autowired
    private RedisTemplate redisTemplate;
@@ -67,7 +68,7 @@
                }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
        //数据校准
        data = deviceService.adjustSpecialDeviceData(data);
        data = specialDeviceService.adjustSpecialDeviceData(data);
        HistorySecondCruiser historySecondCruiser = new HistorySecondCruiser();
        historySecondCruiser.setMac(mac);
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
@@ -8,6 +8,7 @@
import com.moral.api.service.DeviceService;
import com.moral.api.service.HistorySecondUavService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.SpecialDeviceService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.util.DateUtils;
@@ -35,7 +36,7 @@
    private HistorySecondUavMapper historySecondUavMapper;
    @Autowired
    private DeviceService deviceService;
    private SpecialDeviceService specialDeviceService;
    @Autowired
    private RedisTemplate redisTemplate;
@@ -67,7 +68,7 @@
                }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
        //数据校准
        data = deviceService.adjustSpecialDeviceData(data);
        data = specialDeviceService.adjustSpecialDeviceData(data);
        HistorySecondUav historySecondUav = new HistorySecondUav();
        historySecondUav.setMac(mac);
screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceHistoryServiceImpl.java
@@ -47,6 +47,9 @@
    @Autowired(required = false)
    private OrganizationMapper organizationMapper;
    @Autowired(required = false)
    private GovMonitorPointMapper govMonitorPointMapper;
    @Autowired
    LogUtils logUtils;
@@ -82,6 +85,20 @@
            String updateTime = SDF.format(specialDeviceHistory.getUpdateTime());
            specialDeviceHistoryMap.put("createTime",createTime);
            specialDeviceHistoryMap.put("updateTime",updateTime);
            Map<String,Object> govMonitorPointMap = new HashMap<>();
            if (!ObjectUtils.isEmpty(specialDeviceHistory.getGuid()) && specialDeviceHistory.getGuid()!=null && !"".equals(specialDeviceHistory.getGuid())){
                String  guid = specialDeviceHistory.getGuid().toString();
                QueryWrapper<GovMonitorPoint> wapper_govMonitorPoint = new QueryWrapper<>();
                wapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE);
                wapper_govMonitorPoint.eq("guid",guid);
                GovMonitorPoint govMonitorPoint = govMonitorPointMapper.selectOne(wapper_govMonitorPoint);
                if (!ObjectUtils.isEmpty(govMonitorPoint)){
                    govMonitorPointMap.put("id",govMonitorPoint.getId());
                    govMonitorPointMap.put("guid",govMonitorPoint.getGuid());
                    govMonitorPointMap.put("name",govMonitorPoint.getName());
                }
            }
            specialDeviceHistoryMap.put("govMonitorPoint",govMonitorPointMap);
            List<Map<String,Object>> operateList = new ArrayList<>();
            if (!ObjectUtils.isEmpty(specialDeviceHistory.getOperateIds()) && specialDeviceHistory.getOperateIds()!=null){
                String operateIds = specialDeviceHistory.getOperateIds();
screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -11,6 +11,7 @@
import com.moral.api.pojo.vo.device.DeviceVO;
import com.moral.api.service.SpecialDeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.AdjustDataUtils;
import com.moral.api.util.CacheUtils;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
@@ -75,6 +76,9 @@
    @Autowired
    private LogUtils logUtils;
    @Autowired
    private AdjustDataUtils adjustDataUtils;
    /*
     * 从redis获取设备信息
@@ -543,6 +547,34 @@
        return specialDeviceInfoDTO;
    }
    @Override
    public Map<String, Object> adjustSpecialDeviceData(Map<String, Object> deviceData) {
        String mac = deviceData.remove("mac").toString();
        //从redis获取校准公式
        Map<String, Object> adjustFormula = redisTemplate.opsForHash().entries(RedisConstants.ADJUST + "_" + mac);
        if (!org.springframework.util.ObjectUtils.isEmpty(adjustFormula)) {
            SpecialDeviceInfoDTO specialDeviceInfo = getDeviceInfoFromRedis(mac);
            if (org.springframework.util.ObjectUtils.isEmpty(specialDeviceInfo)) {
                QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper<>();
                queryWrapper.eq("mac", mac).eq("is_delete", Constants.NOT_DELETE);
                SpecialDevice specialDevice = specialDeviceMapper.selectOne(queryWrapper);
                if (specialDevice != null) {
                    specialDeviceInfo = selectDeviceInfoDTOById(specialDevice.getId());
                    setDeviceInfoToRedis(mac, specialDeviceInfo);
                }
            }
            //获取设备绑定的国控站信息
            Map<String, Object> govMpInfo = (Map<String, Object>) specialDeviceInfo.getGovMonitorPoint();
            Map<String, Object> aqiMap = null;
            if (govMpInfo.get("guid") != null) {
                aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMpInfo.get("guid").toString());
            }
            return adjustDataUtils.adjust(deviceData, adjustFormula, org.springframework.util.ObjectUtils.isEmpty(aqiMap) ? null : aqiMap);
        }
        deviceData.remove("DataTime");
        return deviceData;
    }
    private void insertOrganizationUnitAlarm(Integer orgId, Integer versionId) {
        QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>();
        queryOrganizationVersionWrapper.eq("organization_id", orgId);