screen-api/src/main/java/com/moral/api/controller/CruiserController.java
@@ -43,6 +43,24 @@ } /** * @param mac 设备mac * @return 返回请求成功后的对象信息 */ @GetMapping("getDates") @ApiOperation(value = "获取有走航数据的日期", notes = "获取有走航数据的日期") @ApiImplicitParams(value = { @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), @ApiImplicitParam(name = "mac", value = "设备mac", required = true, paramType = "query", dataType = "String") }) public ResultMessage getDates(String mac) { if (ObjectUtils.isEmpty(mac)) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } List<String> response = specialDeviceService.getDatesByMac(mac); return ResultMessage.ok(response); } /** * @param request 请求信息 * @return 返回请求成功后的对象信息 */ screen-api/src/main/java/com/moral/api/entity/HistoryHourly.java
New file @@ -0,0 +1,47 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * @ClassName HistoryHourly * @Description TODO * @Author 陈凯裕 * @Date 2021/9/14 8:53 * @Version TODO **/ @Data public class HistoryHourly extends Model<HistoryHourly> { private static final long serialVersionUID = 1L; /** * 设备mac */ private String mac; /** * 时间 */ private Date time; /** * 数据 */ private String value; /* * 版本号 * */ private Integer version; @Override protected Serializable pkVal() { return null; } } screen-api/src/main/java/com/moral/api/entity/HistorySecondCruiser.java
New file @@ -0,0 +1,55 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.extension.activerecord.Model; import java.io.Serializable; import java.util.Date; import lombok.Data; import lombok.EqualsAndHashCode; /** * <p> * 走航车秒数据表 * </p> * * @author moral * @since 2021-09-13 */ @Data @EqualsAndHashCode(callSuper = false) public class HistorySecondCruiser extends Model<HistorySecondCruiser> { private static final long serialVersionUID = 1L; /** * 设备mac */ private String mac; /** * 数据时间 */ private Date time; /** * 数据 */ private String value; /** * 此数据所属组织id */ private Integer organizationId; /** * 数据批次 */ private Date batch; @Override protected Serializable pkVal() { return null; } } screen-api/src/main/java/com/moral/api/mapper/HistoryHourlyMapper.java
@@ -1,5 +1,8 @@ package com.moral.api.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.moral.api.entity.HistoryHourly; import java.util.Map; /** @@ -10,7 +13,7 @@ * @author moral * @since 2021-07-14 */ public interface HistoryHourlyMapper{ public interface HistoryHourlyMapper extends BaseMapper<HistoryHourly> { String selectHourlyData(Map<String,Object> params); screen-api/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java
New file @@ -0,0 +1,21 @@ package com.moral.api.mapper; import java.util.List; import java.util.Map; import com.moral.api.entity.HistorySecondCruiser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * 走航车秒数据表 Mapper 接口 * </p> * * @author moral * @since 2021-09-13 */ public interface HistorySecondCruiserMapper extends BaseMapper<HistorySecondCruiser> { List<String> getDates(Map<String,Object> params); } screen-api/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
New file @@ -0,0 +1,16 @@ package com.moral.api.service; import com.moral.api.entity.HistorySecondCruiser; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 走航车秒数据表 服务类 * </p> * * @author moral * @since 2021-09-13 */ public interface HistorySecondCruiserService extends IService<HistorySecondCruiser> { } screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
@@ -31,13 +31,8 @@ */ SpecialDevice getSpecialDeviceMapByMac(String mac); /** * @Description: 根据mac号获取无人机对象 * @Param: [mac] * @return: com.moral.api.entity.SpecialDevice * @Author: 陈凯裕 * @Date: 2021/9/8 */ SpecialDevice getSpecialDeviceByMac(String mac); //获取半年内有数据的走航日期 List<String> getDatesByMac(String mac); } screen-api/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.moral.api.service.impl; import com.moral.api.entity.HistorySecondCruiser; import com.moral.api.mapper.HistorySecondCruiserMapper; import com.moral.api.service.HistorySecondCruiserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * 走航车秒数据表 服务实现类 * </p> * * @author moral * @since 2021-09-13 */ @Service public class HistorySecondCruiserServiceImpl extends ServiceImpl<HistorySecondCruiserMapper, HistorySecondCruiser> implements HistorySecondCruiserService { } screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
@@ -146,7 +146,7 @@ //获取时间段与batch value.forEach(listValue -> { listValue.forEach((mKey, mValue) -> { Date slotStartDate = mValue.get(0).getTime(); Date slotStartDate = mValue. get(0).getTime(); Date slotEndDate = mValue.get(mValue.size() - 1).getTime(); Map<String, Object> dateMap = new HashMap<>(); dateMap.put("startTime", slotStartDate); screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -2,10 +2,9 @@ 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; import com.moral.api.mapper.HistorySecondSpecialMapper; import com.moral.api.mapper.SpecialDeviceMapper; import com.moral.api.service.OrganizationService; @@ -14,6 +13,7 @@ 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; @@ -23,6 +23,8 @@ import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -48,6 +50,10 @@ @Autowired SpecialDeviceMapper specialDeviceMapper; @Autowired private HistorySecondCruiserMapper historySecondCruiserMapper; @Autowired RedisTemplate redisTemplate; @@ -97,22 +103,27 @@ 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); wrapper.eq("mac", mac); wrapper.eq("is_delete", Constants.NOT_DELETE); return specialDeviceMapper.selectOne(wrapper); } @Override public SpecialDevice getSpecialDeviceByMac(String mac) { QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper(); queryWrapper.eq("mac",mac); queryWrapper.eq("is_delete",Constants.NOT_DELETE); SpecialDevice specialDevice = specialDeviceMapper.selectOne(queryWrapper); return specialDevice; public List<String> getDatesByMac(String mac) { Map<String, Object> userInfo = (Map) TokenUtils.getUserInfo(); Map<String, Object> orgInfo = (Map) userInfo.get("organization"); Integer orgId = (Integer) orgInfo.get("id"); Map<String, Object> params = new HashMap<>(); params.put("orgId", orgId); params.put("mac", mac); Date start = DateUtils.addMonths(new Date(), -6); params.put("start", DateUtils.dateToDateString(start)); return historySecondCruiserMapper.getDates(params); } screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml
New file @@ -0,0 +1,23 @@ <?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.HistorySecondCruiserMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.moral.api.entity.HistorySecondCruiser"> <result column="mac" property="mac"/> <result column="time" property="time"/> <result column="value" property="value"/> <result column="organization_id" property="organizationId"/> <result column="batch" property="batch"/> </resultMap> <select id="getDates" resultType="java.lang.String"> SELECT DISTINCT DATE_FORMAT(`time`,'%Y-%m-%d') `time` FROM history_second_cruiser WHERE mac = #{mac} AND organization_id = #{orgId} AND `time` <![CDATA[>=]]> #{start} ORDER BY `time` </select> </mapper> screen-manage/src/main/java/com/moral/api/controller/DeviceController.java
@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -54,7 +55,7 @@ String mac = device.getMac(); Integer monitorPointId = device.getMonitorPointId(); Integer versionId = device.getDeviceVersionId(); if (name == null || mac == null || monitorPointId == null || versionId == null) { if (ObjectUtils.isEmpty(name) || ObjectUtils.isEmpty(mac) || ObjectUtils.isEmpty(monitorPointId) || ObjectUtils.isEmpty(versionId)) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } screen-manage/src/main/java/com/moral/api/controller/GovMonitorPoionController.java
@@ -9,12 +9,17 @@ import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.WebUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -39,31 +44,31 @@ @RequestMapping(value = "getGovMonitorPointByCondition", method = RequestMethod.GET) @ResponseBody public ResultMessage getSpecialDeviceByCondition(HttpServletRequest request) { Map<String,Object> parameters = WebUtils.getParametersStartingWith(request,null); Map<String,Object> resultMap = govMonitorPointService.getDataByCondition(parameters); if (!resultMap.containsKey("code")){ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); Map<String, Object> resultMap = govMonitorPointService.getDataByCondition(parameters); if (!resultMap.containsKey("code")) { return ResultMessage.ok(resultMap); } return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString()); return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()), resultMap.get("msg").toString()); } @RequestMapping(value = "insert", method = RequestMethod.POST) @ResponseBody public ResultMessage insert(@RequestBody GovMonitorPoint govMonitorPoint){ public ResultMessage insert(@RequestBody GovMonitorPoint govMonitorPoint) { String guid = govMonitorPoint.getGuid(); String name = govMonitorPoint.getName(); double longitude = govMonitorPoint.getLongitude(); double latitude = govMonitorPoint.getLatitude(); String station_level = govMonitorPoint.getStationLevel(); if (ObjectUtils.isEmpty(guid) && ObjectUtils.isEmpty(name) && ObjectUtils.isEmpty(longitude) && ObjectUtils.isEmpty(latitude) && ObjectUtils.isEmpty(station_level)){ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); if (ObjectUtils.isEmpty(guid) && ObjectUtils.isEmpty(name) && ObjectUtils.isEmpty(longitude) && ObjectUtils.isEmpty(latitude) && ObjectUtils.isEmpty(station_level)) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE); wrapper_govMonitorPoint.eq("guid",guid).or().eq("name",name); wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE); wrapper_govMonitorPoint.eq("guid", guid).or().eq("name", name); List<GovMonitorPoint> govMonitorPoints = govMonitorPointMapper.selectList(wrapper_govMonitorPoint); if (govMonitorPoints.size()>0){ return ResultMessage.fail(ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getCode(),ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getMsg()); if (govMonitorPoints.size() > 0) { return ResultMessage.fail(ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getCode(), ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getMsg()); } govMonitorPointService.insert(govMonitorPoint); return ResultMessage.ok(); @@ -71,17 +76,17 @@ @RequestMapping(value = "update", method = RequestMethod.POST) @ResponseBody public ResultMessage update(@RequestBody GovMonitorPoint govMonitorPoint){ public ResultMessage update(@RequestBody GovMonitorPoint govMonitorPoint) { int id = govMonitorPoint.getId(); if (ObjectUtils.isEmpty(id)){ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); if (ObjectUtils.isEmpty(id)) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE); wrapper_govMonitorPoint.eq("id",id); wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE); wrapper_govMonitorPoint.eq("id", id); List<GovMonitorPoint> govMonitorPoints = govMonitorPointMapper.selectList(wrapper_govMonitorPoint); if (govMonitorPoints.size()==0){ return ResultMessage.fail(ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getCode(),ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getMsg()); if (govMonitorPoints.size() == 0) { return ResultMessage.fail(ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getCode(), ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getMsg()); } govMonitorPointService.update(govMonitorPoint); return ResultMessage.ok(); @@ -89,19 +94,29 @@ @RequestMapping(value = "delete", method = RequestMethod.POST) @ResponseBody public ResultMessage delete(@RequestBody Map map){ public ResultMessage delete(@RequestBody Map map) { int id = Integer.parseInt(map.get("id").toString()); if (ObjectUtils.isEmpty(id)){ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); if (ObjectUtils.isEmpty(id)) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE); wrapper_govMonitorPoint.eq("id",id); wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE); wrapper_govMonitorPoint.eq("id", id); List<GovMonitorPoint> govMonitorPoints = govMonitorPointMapper.selectList(wrapper_govMonitorPoint); if (govMonitorPoints.size()==0){ return ResultMessage.fail(ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getCode(),ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getMsg()); if (govMonitorPoints.size() == 0) { return ResultMessage.fail(ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getCode(), ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getMsg()); } govMonitorPointService.delete(id); return ResultMessage.ok(); } @ApiOperation(value = "获取该区域下所有国控/省控/县控站点", notes = "获取该区域下所有国控/省控/县控站点") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @GetMapping("govMonitorPoints") public ResultMessage selectGovMonitorPoints(String regionCode) { List<Map<String, Object>> response = govMonitorPointService.selectGovMonitorPoints(regionCode); return ResultMessage.ok(response); } } screen-manage/src/main/java/com/moral/api/controller/TestController.java
@@ -1,11 +1,15 @@ package com.moral.api.controller; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.Sensor; import com.moral.api.entity.SysDictData; import com.moral.api.entity.Test; import com.moral.api.entity.UnitConversion; import com.moral.api.mapper.SysDictDataMapper; import com.moral.api.service.SensorService; import com.moral.api.service.SysDictDataService; import com.moral.api.service.TestService; import com.moral.api.service.impl.SensorServiceImpl; import com.moral.api.util.CacheUtils; @@ -24,14 +28,21 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.ComponentScan; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.*; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @Slf4j @@ -48,6 +59,7 @@ @Autowired RedisTemplate redisTemplate; /** * name 姓名 @@ -79,7 +91,7 @@ @RequestMapping(value = "search/{page}/{size}", method = RequestMethod.GET) public ResultMessage findBypage(@PathVariable("page") Integer page, @PathVariable("size") Integer size) { log.info("page is:" + page + " size is:" + size); //log.info("page is:" + page + " size is:" + size); //根据条件分页查询 Page<Test> userPage = testService.selectByPage(null, page, size); //封装分页返回对象 @@ -197,6 +209,8 @@ @Autowired private SensorService sensorService; @Autowired SysDictDataMapper sysDictDataMapper; @ApiOperation(value = "因子测试", notes = "因子测试") @ApiImplicitParams({ @@ -213,9 +227,44 @@ } @GetMapping("test") public void test(){ List<UnitConversion> range = redisTemplate.opsForList().range(RedisConstants.UNIT_CONVERSION, 0, -1); System.out.println(range); public void test() throws IOException { BufferedReader br = new BufferedReader(new FileReader(new File("C:\\Users\\cdl\\Desktop\\alarmLevels.json"))); StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line + "\r\n"); line = br.readLine(); } Map map = JSON.parseObject(sb.toString(), Map.class); System.out.println(map); Map<String,Object> sensorMap = (Map<String, Object>) map.get("alarmLevels"); Set<String> sets = sensorMap.keySet(); Map<String,String> alarmLevels = new HashMap<>(); for (String set : sets) { Map<String,Object> map2 = (Map<String, Object>) sensorMap.get(set); String increment = map2.get("increment").toString(); alarmLevels.put(set,increment); } alarmLevels.remove("AQI"); Map<String,Object> resultMap = new HashMap<>(); Map<String, String> ecodeMap = testService.getMap(); alarmLevels.forEach((key,value)->{ resultMap.put(ecodeMap.get(key),value); }); resultMap.forEach((key,value)->{ SysDictData sysDictData = new SysDictData(); sysDictData.setDataKey(key); sysDictData.setDataValue(value.toString()); sysDictData.setDictTypeId(25); sysDictDataMapper.insert(sysDictData); }); } } screen-manage/src/main/java/com/moral/api/entity/Device.java
@@ -78,6 +78,11 @@ private Integer organizationId; /** * 国控站/省控站/县控站标示,与gov_monitor_point中guid对应 */ private String guid; /** * 设备型号id */ private Integer deviceVersionId; screen-manage/src/main/java/com/moral/api/entity/GovMonitorPoint.java
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.io.Serializable; import java.util.Date; screen-manage/src/main/java/com/moral/api/entity/SpecialDevice.java
@@ -42,6 +42,11 @@ private String mac; /** * 政府站点id */ private String guid; /** * 维护人id,多个逗号隔开,来源于manage_account */ private String operateIds; screen-manage/src/main/java/com/moral/api/entity/SpecialDeviceHistory.java
@@ -41,6 +41,11 @@ private String mac; /** * 政府站点id */ private String guid; /** * 维护人id,多个逗号隔开,来源于manage_account */ private String operateIds; screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java
@@ -6,6 +6,7 @@ import java.util.List; import com.moral.api.entity.Device; import com.moral.api.entity.GovMonitorPoint; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.MonitorPoint; import com.moral.api.entity.Organization; @@ -52,6 +53,11 @@ private MonitorPoint monitorPoint; /* * 国控站点 * */ private GovMonitorPoint govMonitorPoint; /* * 维护人 * */ private List<ManageAccount> operators; screen-manage/src/main/java/com/moral/api/service/GovMonitorPointService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; /** @@ -64,4 +65,7 @@ **/ GovMonitorPoint selectGovMonitorPointInfoById(int id); //获取区域下政府站点列表 List<Map<String, Object>> selectGovMonitorPoints(String regionCode); } screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -12,6 +12,7 @@ import com.moral.api.service.DeviceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.service.GovMonitorPointService; import com.moral.api.service.SysDictDataService; import com.moral.api.util.CacheUtils; import com.moral.api.util.AdjustDataUtils; @@ -391,6 +392,16 @@ mpInfo.put("provinceCode", monitorPoint.getProvinceCode()); deviceInfo.put("monitorPoint", mpInfo); //国控站点 Map<String, Object> govMpInfo = new LinkedHashMap<>(); govMpInfo.put("guid", null); govMpInfo.put("name", null); if (device.getGovMonitorPoint() != null) { govMpInfo.put("guid", device.getGovMonitorPoint().getGuid()); govMpInfo.put("name", device.getGovMonitorPoint().getName()); } deviceInfo.put("govMonitorPoint", govMpInfo); setDeviceInfoToRedis(mac, deviceInfo); return deviceInfo; } screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java
@@ -15,6 +15,8 @@ import com.moral.constant.Constants; import com.moral.constant.RedisConstants; import com.moral.constant.ResponseCodeEnum; import com.moral.util.RegionCodeUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -23,13 +25,13 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*; /** * <p> * 服务实现类 * 服务实现类 * </p> * * @author moral @@ -73,71 +75,71 @@ @Override public Map<String, Object> getDataByCondition(Map map) { Map<String,Object> resultMap = new HashMap<>(); if (!map.containsKey("current")||!map.containsKey("size")){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); Map<String, Object> resultMap = new HashMap<>(); if (!map.containsKey("current") || !map.containsKey("size")) { resultMap.put("code", ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); resultMap.put("msg", ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); return resultMap; } int current = Integer.parseInt(map.get("current").toString()); int size = Integer.parseInt(map.get("size").toString()); Page<GovMonitorPoint> page = new Page<>(current,size); Page<GovMonitorPoint> page = new Page<>(current, size); QueryWrapper<GovMonitorPoint> wrapper_Condition = new QueryWrapper<>(); wrapper_Condition.eq("is_delete",Constants.NOT_DELETE); if (!ObjectUtils.isEmpty(map.get("name"))){ wrapper_Condition.like("name",map.get("name").toString()); wrapper_Condition.eq("is_delete", Constants.NOT_DELETE); if (!ObjectUtils.isEmpty(map.get("name"))) { wrapper_Condition.like("name", map.get("name").toString()); } if (!ObjectUtils.isEmpty(map.get("stationLevel"))){ wrapper_Condition.like("station_level",map.get("stationLevel").toString()); if (!ObjectUtils.isEmpty(map.get("stationLevel"))) { wrapper_Condition.like("station_level", map.get("stationLevel").toString()); } wrapper_Condition.orderByDesc("create_time"); Page resultPage = govMonitorPointMapper.selectPage(page,wrapper_Condition); Page resultPage = govMonitorPointMapper.selectPage(page, wrapper_Condition); int totalNumber = govMonitorPointMapper.selectCount(wrapper_Condition); List<GovMonitorPoint> govMonitorPoints = resultPage.getRecords(); SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List<Map<String,Object>> govMonitorPointList = new ArrayList<>(); for (GovMonitorPoint govMonitorPoint:govMonitorPoints) { Map govMonitorPointMap = JSON.parseObject(JSON.toJSONString(govMonitorPoint),Map.class); List<Map<String, Object>> govMonitorPointList = new ArrayList<>(); for (GovMonitorPoint govMonitorPoint : govMonitorPoints) { Map govMonitorPointMap = JSON.parseObject(JSON.toJSONString(govMonitorPoint), Map.class); String createTime = SDF.format(govMonitorPoint.getCreateTime()); String updateTime = SDF.format(govMonitorPoint.getUpdateTime()); govMonitorPointMap.put("createTime",createTime); govMonitorPointMap.put("updateTime",updateTime); govMonitorPointMap.put("createTime", createTime); govMonitorPointMap.put("updateTime", updateTime); String position = ""; if (!ObjectUtils.isEmpty(govMonitorPoint.getProvinceCode())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getProvinceCode())) { QueryWrapper<SysArea> wrapper_province = new QueryWrapper<>(); wrapper_province.eq("area_code",govMonitorPoint.getProvinceCode()); wrapper_province.eq("area_code", govMonitorPoint.getProvinceCode()); SysArea sysArea_provice = sysAreaMapper.selectOne(wrapper_province); if (!ObjectUtils.isEmpty(sysArea_provice)){ position = position+sysArea_provice.getAreaName(); if (!ObjectUtils.isEmpty(govMonitorPoint.getCityCode())){ if (!ObjectUtils.isEmpty(sysArea_provice)) { position = position + sysArea_provice.getAreaName(); if (!ObjectUtils.isEmpty(govMonitorPoint.getCityCode())) { QueryWrapper<SysArea> wrapper_city = new QueryWrapper<>(); wrapper_city.eq("area_code",govMonitorPoint.getCityCode()); wrapper_city.eq("area_code", govMonitorPoint.getCityCode()); SysArea sysArea_city = sysAreaMapper.selectOne(wrapper_city); if (!ObjectUtils.isEmpty(sysArea_city)){ position = position+"/"+sysArea_city.getAreaName(); if (!ObjectUtils.isEmpty(govMonitorPoint.getAreaCode())){ if (!ObjectUtils.isEmpty(sysArea_city)) { position = position + "/" + sysArea_city.getAreaName(); if (!ObjectUtils.isEmpty(govMonitorPoint.getAreaCode())) { QueryWrapper<SysArea> wrapper_area = new QueryWrapper<>(); wrapper_area.eq("area_code",govMonitorPoint.getAreaCode()); wrapper_area.eq("area_code", govMonitorPoint.getAreaCode()); SysArea sysArea_area = sysAreaMapper.selectOne(wrapper_area); if (!ObjectUtils.isEmpty(sysArea_area)){ position = position+"/"+sysArea_area.getAreaName(); if (!ObjectUtils.isEmpty(sysArea_area)) { position = position + "/" + sysArea_area.getAreaName(); } } } } } } govMonitorPointMap.put("position",position); govMonitorPointMap.put("position", position); govMonitorPointList.add(govMonitorPointMap); } resultMap.put("govMonitorPointList",govMonitorPointList); resultMap.put("totalNumber",totalNumber); resultMap.put("current",current); int totalPageNumber = totalNumber/size; if(totalNumber%size != 0){ resultMap.put("govMonitorPointList", govMonitorPointList); resultMap.put("totalNumber", totalNumber); resultMap.put("current", current); int totalPageNumber = totalNumber / size; if (totalNumber % size != 0) { totalPageNumber += 1; } resultMap.put("totalPageNumber",totalPageNumber); resultMap.put("totalPageNumber", totalPageNumber); return resultMap; } @@ -146,12 +148,12 @@ public void insert(GovMonitorPoint govMonitorPoint) { int count = govMonitorPointMapper.insert(govMonitorPoint); //数据插入redis setGovMonitorPointInfoToRedis(govMonitorPoint.getId().toString(),selectGovMonitorPointInfoById(govMonitorPoint.getId())); if (count > 0){ setGovMonitorPointInfoToRedis(govMonitorPoint.getId().toString(), selectGovMonitorPointInfoById(govMonitorPoint.getId())); if (count > 0) { //操作日志记录 HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); StringBuilder content = new StringBuilder(); content.append("添加了政府站点:").append("id:").append(govMonitorPoint.getId()+";").append(govMonitorPoint.getName()+";").append(":").append("guid:").append(govMonitorPoint.getGuid()+";"); content.append("添加了政府站点:").append("id:").append(govMonitorPoint.getId() + ";").append(govMonitorPoint.getName() + ";").append(":").append("guid:").append(govMonitorPoint.getGuid() + ";"); logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); } } @@ -165,36 +167,36 @@ //删除redis delGovMonitorPointInfoFromRedis(id.toString()); //更新redis setGovMonitorPointInfoToRedis(id.toString(),selectGovMonitorPointInfoById(id)); setGovMonitorPointInfoToRedis(id.toString(), selectGovMonitorPointInfoById(id)); //操作日志记录 HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); StringBuilder content = new StringBuilder(); content.append("修改了政府站点:").append("id:").append(govMonitorPoint.getId()+";"); if (!ObjectUtils.isEmpty(govMonitorPoint.getGuid())){ content.append("修改了政府站点:").append("id:").append(govMonitorPoint.getId() + ";"); if (!ObjectUtils.isEmpty(govMonitorPoint.getGuid())) { content.append("guid:").append(oldGovMonitorPoint.getGuid()).append("->").append(govMonitorPoint.getGuid()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getName())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getName())) { content.append("name:").append(oldGovMonitorPoint.getName()).append("->").append(govMonitorPoint.getName()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getLongitude())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getLongitude())) { content.append("longitude:").append(oldGovMonitorPoint.getLongitude()).append("->").append(govMonitorPoint.getLongitude()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getLatitude())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getLatitude())) { content.append("latitude:").append(oldGovMonitorPoint.getLatitude()).append("->").append(govMonitorPoint.getLatitude()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getProvinceCode())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getProvinceCode())) { content.append("provinceCode:").append(oldGovMonitorPoint.getProvinceCode()).append("->").append(govMonitorPoint.getProvinceCode()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getCityCode())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getCityCode())) { content.append("cityCode:").append(oldGovMonitorPoint.getCityCode()).append("->").append(govMonitorPoint.getCityCode()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getAreaCode())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getAreaCode())) { content.append("areaCode:").append(oldGovMonitorPoint.getAreaCode()).append("->").append(govMonitorPoint.getAreaCode()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getStationLevel())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getStationLevel())) { content.append("stationLevel:").append(oldGovMonitorPoint.getStationLevel()).append("->").append(govMonitorPoint.getStationLevel()).append(";"); } if (!ObjectUtils.isEmpty(govMonitorPoint.getDesc())){ if (!ObjectUtils.isEmpty(govMonitorPoint.getDesc())) { content.append("desc:").append(oldGovMonitorPoint).append("->").append(govMonitorPoint.getDesc()).append(";"); } logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); @@ -203,8 +205,8 @@ @Override public void delete(Integer id) { UpdateWrapper<GovMonitorPoint> wrapper_delete = new UpdateWrapper<>(); wrapper_delete.eq("id",id).set("is_delete",Constants.DELETE); govMonitorPointMapper.update(null,wrapper_delete); wrapper_delete.eq("id", id).set("is_delete", Constants.DELETE); govMonitorPointMapper.update(null, wrapper_delete); //删除redis delGovMonitorPointInfoFromRedis(id.toString()); //操作日志记录 @@ -219,4 +221,15 @@ GovMonitorPoint govMonitorPoint = govMonitorPointMapper.selectById(id); return govMonitorPoint; } @Override public List<Map<String, Object>> selectGovMonitorPoints(String regionCode) { QueryWrapper<GovMonitorPoint> queryWrapper = new QueryWrapper<>(); queryWrapper.select("guid", "name").eq("is_delete", Constants.NOT_DELETE); if (!ObjectUtils.isEmpty(regionCode)) { String regionName = RegionCodeUtils.regionCodeConvertToName(Integer.parseInt(regionCode)); queryWrapper.eq(regionName, regionCode); } return govMonitorPointMapper.selectMaps(queryWrapper); } } screen-manage/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -69,6 +69,9 @@ @Autowired(required = false) private VersionSensorUnitMapper versionSensorUnitMapper; @Autowired(required = false) private GovMonitorPointMapper govMonitorPointMapper; @Autowired private LogUtils logUtils; @@ -125,6 +128,20 @@ String updateTime = SDF.format(specialDevice.getUpdateTime()); specialDeviceMap.put("createTime",createTime); specialDeviceMap.put("updateTime",updateTime); Map<String,Object> govMonitorPointMap = new HashMap<>(); if (!ObjectUtils.isEmpty(specialDevice.getGuid()) && specialDevice.getGuid()!=null && !"".equals(specialDevice.getGuid())){ String guid = specialDevice.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()); } } specialDeviceMap.put("govMonitorPoint",govMonitorPointMap); List<Map<String,Object>> operateList = new ArrayList<>(); if (!ObjectUtils.isEmpty(specialDevice.getOperateIds()) && specialDevice.getOperateIds()!=null){ String operateIds = specialDevice.getOperateIds(); @@ -471,6 +488,7 @@ specialDeviceInfo.put("name", specialDevice.getName()); specialDeviceInfo.put("mac", specialDevice.getMac()); specialDeviceInfo.put("createTime", DateUtils.dateToDateString(specialDevice.getCreateTime())); specialDeviceInfo.put("guid", specialDevice.getGuid()); //扩展字段 //specialDeviceInfo.put("extend", device.getExtend()); screen-manage/src/main/resources/mapper/DeviceMapper.xml
@@ -14,6 +14,7 @@ <result column="operate_ids" property="operateIds"/> <result column="monitor_point_id" property="monitorPointId"/> <result column="organization_id" property="organizationId"/> <result column="guid" property="guid"/> <result column="device_version_id" property="deviceVersionId"/> <result column="profession" property="profession"/> <result column="tech" property="tech"/> @@ -52,6 +53,12 @@ <result column="mp_area_code" property="areaCode"/> <result column="mp_city_code" property="cityCode"/> <result column="mp_province_code" property="provinceCode"/> </association> <!--国控站点--> <association property="govMonitorPoint" javaType="com.moral.api.entity.GovMonitorPoint"> <result column="gmp_guid" property="guid"/> <result column="gmp_name" property="name"/> </association> <!--型号--> @@ -121,6 +128,8 @@ mp.area_code mp_area_code, mp.city_code mp_city_code, mp.province_code mp_province_code, gmp.guid gmp_guid, gmp.name gmp_name, ma.id operate_id, v.id version_id, v.`name` version_name, @@ -136,6 +145,8 @@ ON d.organization_id = o.id LEFT JOIN `monitor_point` mp ON mp.id = d.monitor_point_id LEFT JOIN `gov_monitor_point` gmp ON gmp.guid = d.guid LEFT JOIN `manage_account` ma ON FIND_IN_SET (