From 5688e9adb709a253e1ce69b510457b9c88a645a9 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 16 Sep 2021 16:39:18 +0800 Subject: [PATCH] screnn_api特殊设备实体类修改,走航车实时websocket,manage设备补偿 --- screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java | 2 screen-api/src/main/java/com/moral/api/entity/GovMonitorPoint.java | 98 ++++++++++++++++ screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java | 2 screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml | 1 screen-api/src/main/java/com/moral/api/entity/SpecialDevice.java | 4 screen-api/src/main/java/com/moral/api/pojo/redisBean/SpecialDeviceInfoDTO.java | 46 +++++++ screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 38 +++--- screen-api/src/main/resources/mapper/GovMonitorPointMapper.xml | 22 +++ screen-api/src/main/java/com/moral/api/controller/CruiserController.java | 2 screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 20 +++ screen-api/src/main/java/com/moral/api/service/GovMonitorPointService.java | 16 ++ screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java | 9 + screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml | 1 screen-api/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java | 16 ++ screen-api/src/main/java/com/moral/api/websocket/CruiserWebSocketServer.java | 19 +- screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java | 13 +- screen-common/src/main/java/com/moral/constant/Constants.java | 2 17 files changed, 267 insertions(+), 44 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java index 39012ba..ac6fdb9 100644 --- a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java +++ b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java @@ -38,7 +38,7 @@ @GetMapping("selectCruisers") @ApiOperation(value = "������������������������������������������", notes = "���������������") public ResultMessage getCarsInfo() { - List<Map<String, Object>> response = specialDeviceService.getCarsInfo(); + List<Map<String, Object>> response = specialDeviceService.selectCruisers(); return ResultMessage.ok(response); } diff --git a/screen-api/src/main/java/com/moral/api/entity/GovMonitorPoint.java b/screen-api/src/main/java/com/moral/api/entity/GovMonitorPoint.java new file mode 100644 index 0000000..62024c1 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/GovMonitorPoint.java @@ -0,0 +1,98 @@ +package com.moral.api.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import java.util.Date; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * + * </p> + * + * @author moral + * @since 2021-09-16 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class GovMonitorPoint extends Model<GovMonitorPoint> { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * ������������code + */ + private String guid; + + /** + * ������ + */ + private String name; + + /** + * ������ + */ + private Double longitude; + + /** + * ������ + */ + private Double latitude; + + /** + * ��������� + */ + private Integer provinceCode; + + /** + * ��������� + */ + private Integer cityCode; + + /** + * ���/��������� + */ + private Integer areaCode; + + /** + * ��������������������������������������������� + */ + private String stationLevel; + + /** + * ������������ + */ + private Date createTime; + + /** + * ������������ + */ + private Date updateTime; + + /** + * ������������ + */ + private String isDelete; + + /** + * ������ + */ + private String desc; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/screen-api/src/main/java/com/moral/api/entity/SpecialDevice.java b/screen-api/src/main/java/com/moral/api/entity/SpecialDevice.java index 1e8fbde..34310b9 100644 --- a/screen-api/src/main/java/com/moral/api/entity/SpecialDevice.java +++ b/screen-api/src/main/java/com/moral/api/entity/SpecialDevice.java @@ -12,11 +12,11 @@ /** * <p> - * + * * </p> * * @author moral - * @since 2021-08-18 + * @since 2021-08-11 */ @Data @EqualsAndHashCode(callSuper = false) diff --git a/screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java b/screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java index 3a80119..9efb6d0 100644 --- a/screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java +++ b/screen-api/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java @@ -11,11 +11,11 @@ /** * <p> - * + * * </p> * * @author moral - * @since 2021-08-26 + * @since 2021-08-11 */ @Data @EqualsAndHashCode(callSuper = false) @@ -40,6 +40,11 @@ private String mac; /** + * ������������id + */ + private String guid; + + /** * ���������id���������������������������������manage_account */ private String operateIds; diff --git a/screen-api/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java b/screen-api/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java new file mode 100644 index 0000000..0e471f2 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java @@ -0,0 +1,16 @@ +package com.moral.api.mapper; + +import com.moral.api.entity.GovMonitorPoint; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * Mapper ������ + * </p> + * + * @author moral + * @since 2021-09-16 + */ +public interface GovMonitorPointMapper extends BaseMapper<GovMonitorPoint> { + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/redisBean/SpecialDeviceInfoDTO.java b/screen-api/src/main/java/com/moral/api/pojo/redisBean/SpecialDeviceInfoDTO.java new file mode 100644 index 0000000..0f238f3 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/redisBean/SpecialDeviceInfoDTO.java @@ -0,0 +1,46 @@ +package com.moral.api.pojo.redisBean; + +import lombok.Data; + +import java.util.List; + +import com.moral.api.entity.GovMonitorPoint; +import com.moral.api.entity.ManageAccount; +import com.moral.api.entity.Organization; +import com.moral.api.entity.SpecialDevice; +import com.moral.api.entity.Version; + +/** + * @program: screen + * @description: ������������������redis��������� + * @author: lizijie + * @create: 2021-09-14 16:41 + **/ +@Data +public class SpecialDeviceInfoDTO { + + /** + * ������������ + */ + private SpecialDevice specialDevice; + + /** + * ������������ + */ + private GovMonitorPoint govMonitorPoint; + + /** + * ������ + */ + private Version version; + + /** + * ��������� + */ + private List<ManageAccount> operates; + + /** + * ������ + */ + private Organization organization; +} diff --git a/screen-api/src/main/java/com/moral/api/service/GovMonitorPointService.java b/screen-api/src/main/java/com/moral/api/service/GovMonitorPointService.java new file mode 100644 index 0000000..0231239 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/GovMonitorPointService.java @@ -0,0 +1,16 @@ +package com.moral.api.service; + +import com.moral.api.entity.GovMonitorPoint; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * ��������� + * </p> + * + * @author moral + * @since 2021-09-16 + */ +public interface GovMonitorPointService extends IService<GovMonitorPoint> { + +} diff --git a/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java index 4a2f53a..240760d 100644 --- a/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java +++ b/screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java @@ -17,7 +17,7 @@ public interface SpecialDeviceService extends IService<SpecialDevice> { //��������������������������������������������� - List<Map<String, Object>> getCarsInfo(); + List<Map<String, Object>> selectCruisers(); //��������������� List<Map<String, Object>> carTrajectory(Map<String, Object> params); diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java new file mode 100644 index 0000000..7ad0cbe --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java @@ -0,0 +1,20 @@ +package com.moral.api.service.impl; + +import com.moral.api.entity.GovMonitorPoint; +import com.moral.api.mapper.GovMonitorPointMapper; +import com.moral.api.service.GovMonitorPointService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * ��������������� + * </p> + * + * @author moral + * @since 2021-09-16 + */ +@Service +public class GovMonitorPointServiceImpl extends ServiceImpl<GovMonitorPointMapper, GovMonitorPoint> implements GovMonitorPointService { + +} 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 3de0dad..b0bb025 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,8 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.moral.api.entity.HistorySecondSpecial; -import com.moral.api.entity.Organization; + import com.moral.api.entity.SpecialDevice; import com.moral.api.entity.SpecialDeviceHistory; import com.moral.api.mapper.HistorySecondCruiserMapper; @@ -14,7 +13,7 @@ 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; @@ -62,7 +61,7 @@ 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"); @@ -70,7 +69,7 @@ QueryWrapper<SpecialDeviceHistory> queryWrapper = new QueryWrapper<>(); queryWrapper.select("mac", "name") .eq("organization_id", orgId) - .eq("special_type", Constants.SPECIAL_DEVICE_CAR) + .eq("special_type", Constants.SPECIAL_DEVICE_CRUISER) .eq("is_delete", Constants.NOT_DELETE); return specialDeviceHistoryService.listMaps(queryWrapper); } @@ -108,8 +107,8 @@ @Override public SpecialDevice getSpecialDeviceMapByMac(String mac) { QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper(); - queryWrapper.eq("mac",mac); - queryWrapper.eq("is_delete",Constants.NOT_DELETE); + queryWrapper.eq("mac", mac); + queryWrapper.eq("is_delete", Constants.NOT_DELETE); SpecialDevice specialDevice = specialDeviceMapper.selectOne(queryWrapper); return specialDevice; } diff --git a/screen-api/src/main/java/com/moral/api/websocket/CruiserWebSocketServer.java b/screen-api/src/main/java/com/moral/api/websocket/CruiserWebSocketServer.java index ebb0ed4..65f9a72 100644 --- a/screen-api/src/main/java/com/moral/api/websocket/CruiserWebSocketServer.java +++ b/screen-api/src/main/java/com/moral/api/websocket/CruiserWebSocketServer.java @@ -19,6 +19,7 @@ import com.moral.api.entity.SpecialDevice; import com.moral.api.entity.UnitConversion; +import com.moral.api.pojo.redisBean.SpecialDeviceInfoDTO; import com.moral.constant.RedisConstants; //���������������websocket @@ -47,18 +48,18 @@ this.session = session; this.mac = mac; this.specialDevice = (SpecialDevice) redisTemplate.opsForHash().get(RedisConstants.SPECIAL_DEVICE_INFO, mac); - //���������������������������AQI������������������ - /*Map<String, Object> deviceInfo = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, mac); - Map<String, Object> orgInfo = (Map<String, Object>) deviceInfo.get("organization"); - String areaCode = String.valueOf(orgInfo.get("areaCode")); - String cityCode = String.valueOf(orgInfo.get("cityCode")); try { - this.regionAqi = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, areaCode); - if (ObjectUtils.isEmpty(this.regionAqi)) - this.regionAqi = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, cityCode); + //������������������ + SpecialDeviceInfoDTO deviceInfo = (SpecialDeviceInfoDTO) redisTemplate.opsForHash().get(RedisConstants.SPECIAL_DEVICE, mac); + //���������������������������������guid, + String guid = deviceInfo.getSpecialDevice().getGuid(); + if (!ObjectUtils.isEmpty(guid)) { + //������������aqi��������������������� + this.regionAqi = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, guid); + } } catch (Exception e) { e.printStackTrace(); - }*/ + } sockets.add(this); } diff --git a/screen-api/src/main/resources/mapper/GovMonitorPointMapper.xml b/screen-api/src/main/resources/mapper/GovMonitorPointMapper.xml new file mode 100644 index 0000000..90ee6cd --- /dev/null +++ b/screen-api/src/main/resources/mapper/GovMonitorPointMapper.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.moral.api.mapper.GovMonitorPointMapper"> + + <!-- ������������������������ --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.GovMonitorPoint"> + <id column="id" property="id"/> + <result column="guid" property="guid"/> + <result column="name" property="name"/> + <result column="longitude" property="longitude"/> + <result column="latitude" property="latitude"/> + <result column="province_code" property="provinceCode"/> + <result column="city_code" property="cityCode"/> + <result column="area_code" property="areaCode"/> + <result column="station_level" property="stationLevel"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="is_delete" property="isDelete"/> + <result column="desc" property="desc"/> + </resultMap> + +</mapper> \ No newline at end of file diff --git a/screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml b/screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml index a2b05bb..987bbd5 100644 --- a/screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml +++ b/screen-api/src/main/resources/mapper/SpecialDeviceHistoryMapper.xml @@ -7,6 +7,7 @@ <id column="id" property="id"/> <result column="name" property="name"/> <result column="mac" property="mac"/> + <result column="guid" property="guid"/> <result column="operate_ids" property="operateIds"/> <result column="organization_id" property="organizationId"/> <result column="device_version_id" property="deviceVersionId"/> diff --git a/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml b/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml index 452b9f0..8c5e135 100644 --- a/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml +++ b/screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml @@ -7,6 +7,7 @@ <id column="id" property="id"/> <result column="name" property="name"/> <result column="mac" property="mac"/> + <result column="guid" property="guid"/> <result column="operate_ids" property="operateIds"/> <result column="organization_id" property="organizationId"/> <result column="device_version_id" property="deviceVersionId"/> diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java index 4346d0d..1d6250d 100644 --- a/screen-common/src/main/java/com/moral/constant/Constants.java +++ b/screen-common/src/main/java/com/moral/constant/Constants.java @@ -212,7 +212,7 @@ /* * ������������������������������ * */ - public static final String SPECIAL_DEVICE_CAR = "0"; + public static final String SPECIAL_DEVICE_CRUISER = "0"; /* * ������������������������������ diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java index 66b431a..8d26374 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java @@ -441,13 +441,11 @@ Map<String, Object> adjustFormula = redisTemplate.opsForHash().entries(RedisConstants.ADJUST + "_" + mac); if (!ObjectUtils.isEmpty(adjustFormula)) { Map<String, Object> deviceInfo = getDeviceByMac(mac); - Map<String, Object> monitorPoint = (Map<String, Object>) deviceInfo.get("monitorPoint"); - String areaCode = monitorPoint.get("areaCode").toString(); - String cityCode = monitorPoint.get("cityCode").toString(); - - Map<String, Object> aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, areaCode); - if (ObjectUtils.isEmpty(aqiMap)) { - aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, cityCode); + //������������������������������������ + Map<String, Object> govMpInfo = (Map<String, Object>) deviceInfo.get("govMonitorPoint"); + 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, ObjectUtils.isEmpty(aqiMap) ? null : aqiMap); } @@ -528,12 +526,12 @@ } /** - * @Description: ��������������������������������������������������������������������������������������������� - * @Param: [orgId, versionId] - * @return: void - * @Author: ��������� - * @Date: 2021/9/6 - */ + * @Description: ��������������������������������������������������������������������������������������������� + * @Param: [orgId, versionId] + * @return: void + * @Author: ��������� + * @Date: 2021/9/6 + */ private void insertOrganizationUnitAlarm(Integer orgId, Integer versionId) { //��������������������������� QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>(); @@ -556,7 +554,7 @@ String sensorCode = versionSensorUnit.getSensorCode(); //��������������������� SysDictData alarm = sensorAlarms.get(sensorCode); - if(alarm!=null) + if (alarm != null) organizationUnitAlarm.setAlarmLevel(alarm.getDataValue()); organizationUnitAlarm.setOrganizationId(orgId); organizationUnitAlarm.setVersionId(versionId); @@ -570,12 +568,12 @@ } /** - * @Description: ������������������������������������������������������������������������������������������������������������������������������������ - * @Param: [orgId, versionId] - * @return: void - * @Author: ��������� - * @Date: 2021/9/6 - */ + * @Description: ������������������������������������������������������������������������������������������������������������������������������������ + * @Param: [orgId, versionId] + * @return: void + * @Author: ��������� + * @Date: 2021/9/6 + */ private void deleteOrganizationUnitAlarm(Integer orgId, Integer versionId) { QueryWrapper<Device> queryOrganizationVersionWrapper = new QueryWrapper<>(); queryOrganizationVersionWrapper.eq("organization_id", orgId); diff --git a/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java b/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java index e8f0e91..4406532 100644 --- a/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java +++ b/screen-manage/src/main/java/com/moral/api/util/AdjustDataUtils.java @@ -24,7 +24,7 @@ /** * @param deviceData ������������ * @param adjustFormula ������������ - * @param aqiMap ���������������������������������aqi������ + * @param aqiMap ������������������������������aqi������ * @return Map<String, Object> ��������������� */ public Map<String, Object> adjust(Map<String, Object> deviceData, Map<String, Object> adjustFormula, Map<String, Object> aqiMap) { -- Gitblit v1.8.0