From c8aa05fd65cc788abc0f44494338b04993e3b4be Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 10 Sep 2021 15:08:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev_ --- screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java | 18 + screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java | 132 +++++++ screen-common/src/main/java/com/moral/util/DateUtils.java | 20 + screen-api/src/main/java/com/moral/api/pojo/form/uav/UAVQueryTimeSlotForm.java | 57 +++ screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryDateVO.java | 47 ++ screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 222 ++++++++++++ screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVQueryTimeSlotDTO.java | 35 + screen-manage/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java | 16 screen-api/src/main/java/com/moral/api/entity/HistorySecondUav.java | 8 screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVOs.java | 44 ++ screen-manage/src/main/resources/mapper/GovMonitorPointMapper.xml | 22 + screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVO.java | 23 + screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java | 24 + screen-manage/src/main/java/com/moral/api/service/GovMonitorPointService.java | 67 +++ screen-api/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java | 1 screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java | 30 + screen-common/src/main/java/com/moral/constant/Constants.java | 1 screen-api/src/main/java/com/moral/api/controller/UAVController.java | 45 ++ screen-common/src/main/java/com/moral/constant/RedisConstants.java | 5 screen-manage/src/main/java/com/moral/api/controller/GovMonitorPoionController.java | 107 +++++ screen-manage/src/main/java/com/moral/api/entity/GovMonitorPoint.java | 101 +++++ 21 files changed, 1,024 insertions(+), 1 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/UAVController.java b/screen-api/src/main/java/com/moral/api/controller/UAVController.java index 408ba94..0342ed5 100644 --- a/screen-api/src/main/java/com/moral/api/controller/UAVController.java +++ b/screen-api/src/main/java/com/moral/api/controller/UAVController.java @@ -3,8 +3,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.HistorySecondUav; import com.moral.api.mapper.HistorySecondUavMapper; +import com.moral.api.pojo.dto.uav.UAVQueryTimeSlotDTO; +import com.moral.api.pojo.form.uav.UAVQueryTimeSlotForm; +import com.moral.api.pojo.vo.uav.UAVQueryDateVO; +import com.moral.api.pojo.vo.uav.UAVQueryTimeSlotVO; +import com.moral.api.pojo.vo.uav.UAVQueryTimeSlotVOs; +import com.moral.api.service.HistorySecondUavService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; +import com.moral.util.DateUtils; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; +import java.util.*; /** * @ClassName UAVController @@ -30,6 +37,8 @@ @Autowired HistorySecondUavMapper historySecondUavMapper; + @Autowired + HistorySecondUavService historySecondUavService; /** * @Description: ������������id���mac��������������������������������� * @Param: [] @@ -42,4 +51,38 @@ List<HistorySecondUav> historySecondUavs = historySecondUavMapper.selectList(new QueryWrapper<>()); return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),historySecondUavs); } + + + /** + * @Description: ������������������������������������������������������������ + * @Param: [organizationId] + * @return: com.moral.constant.ResultMessage + * @Author: ��������� + * @Date: 2021/9/8 + */ + @RequestMapping("queryDate") + public ResultMessage queryDate(Integer organizationId){ + //������������������ + List<Date> dates = historySecondUavService.queryDate(organizationId); + //������vo��� + UAVQueryDateVO vo = UAVQueryDateVO.convert(dates); + //������������ + return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo); + } + + + @RequestMapping("queryTimeSlot") + public ResultMessage queryTimeSlot(UAVQueryTimeSlotForm form){ + //������������������������ + if (!form.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + //������������������ + List<UAVQueryTimeSlotDTO> dtos = historySecondUavService.queryTimeSlot(form); + //������vo��� + UAVQueryTimeSlotVOs vo = UAVQueryTimeSlotVOs.convert(dtos); + //������������ + return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo); + } + } diff --git a/screen-api/src/main/java/com/moral/api/entity/HistorySecondUav.java b/screen-api/src/main/java/com/moral/api/entity/HistorySecondUav.java index 74a3c76..37443ae 100644 --- a/screen-api/src/main/java/com/moral/api/entity/HistorySecondUav.java +++ b/screen-api/src/main/java/com/moral/api/entity/HistorySecondUav.java @@ -1,5 +1,7 @@ package com.moral.api.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; import java.time.LocalDateTime; import java.io.Serializable; @@ -23,6 +25,12 @@ private static final long serialVersionUID = 1L; /** + * ������ + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** * ������mac */ private String mac; diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVQueryTimeSlotDTO.java b/screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVQueryTimeSlotDTO.java new file mode 100644 index 0000000..80c0087 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/dto/uav/UAVQueryTimeSlotDTO.java @@ -0,0 +1,35 @@ +package com.moral.api.pojo.dto.uav; + +import lombok.Data; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * @ClassName UAVQueryTimeSlotDTO + * @Description TODO + * @Author ��������� + * @Date 2021/9/8 15:13 + * @Version TODO + **/ +@Data +public class UAVQueryTimeSlotDTO { + + /* + * ���������mac + * */ + private String mac; + + /* + * ��������������� + * */ + private String name; + + /* + * ������������������������ + * map������������������key���startTime + * ���������������key���endTime + * */ + private List<Map<String,Date>> timeSlot; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/form/uav/UAVQueryTimeSlotForm.java b/screen-api/src/main/java/com/moral/api/pojo/form/uav/UAVQueryTimeSlotForm.java new file mode 100644 index 0000000..c182c07 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/form/uav/UAVQueryTimeSlotForm.java @@ -0,0 +1,57 @@ +package com.moral.api.pojo.form.uav; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.util.DateUtils; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.util.ObjectUtils; + +import java.util.Date; +import java.util.List; + +/** + * @ClassName queryTimeSlotForm + * @Description TODO + * @Author ��������� + * @Date 2021/9/8 14:17 + * @Version TODO + **/ +@Data +public class UAVQueryTimeSlotForm { + + /* + * ������id + * */ + private Integer organizationId; + + /* + * ������ + * */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date date; + + /* + * ������������ + * */ + private Date startDate; + + /* + * ������������ + * */ + private Date endDate; + + + public boolean valid() { + if ( + ObjectUtils.isEmpty(organizationId)&& + ObjectUtils.isEmpty(date) + ) + return false; + //������������������������������������ + List<Date> dates = DateUtils.dateToStartAndEndTime(date); + startDate = dates.get(0); + endDate = dates.get(1); + return true; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryDateVO.java b/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryDateVO.java new file mode 100644 index 0000000..96263ef --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryDateVO.java @@ -0,0 +1,47 @@ +package com.moral.api.pojo.vo.uav; + +import com.moral.util.DateUtils; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashSet; +import java.util.List; + +/** + * @ClassName UAVQueryDateVO + * @Description ������������������������������������vo + * @Author ��������� + * @Date 2021/9/8 11:03 + * @Version TODO + **/ +@Data +public class UAVQueryDateVO { + + /** + * @Description: ������hashset��������������� + * @Param: + * @return: + * @Author: ��������� + * @Date: 2021/9/8 + */ + public HashSet<String> datesStr; + + /** + * @Description: ���������������������������������vo��������� + * @Param: [dates] + * @return: com.moral.api.pojo.vo.uav.UAVQueryDateVO + * @Author: ��������� + * @Date: 2021/9/8 + */ + public static UAVQueryDateVO convert(List<Date> dates){ + //������������������������������������ + UAVQueryDateVO uavQueryDateVO = new UAVQueryDateVO(); + HashSet<String> datesStr = new HashSet<>(); + for (Date date : dates) { + datesStr.add(DateUtils.dateToDateString(date,"yyyy-MM-dd")); + } + uavQueryDateVO.setDatesStr(datesStr); + return uavQueryDateVO; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVO.java b/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVO.java new file mode 100644 index 0000000..90343dc --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVO.java @@ -0,0 +1,23 @@ +package com.moral.api.pojo.vo.uav; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +/** + * @ClassName UAVQueryTimeSlotVO + * @Description TODO + * @Author ��������� + * @Date 2021/9/8 16:57 + * @Version TODO + **/ +@Data +public class UAVQueryTimeSlotVO { + + private String mac; + + private String name; + + private List<Map<String,String>> timeSlot; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVOs.java b/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVOs.java new file mode 100644 index 0000000..a713d11 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/uav/UAVQueryTimeSlotVOs.java @@ -0,0 +1,44 @@ +package com.moral.api.pojo.vo.uav; + +import com.moral.api.pojo.dto.uav.UAVQueryTimeSlotDTO; +import com.moral.util.DateUtils; +import lombok.Data; + +import java.util.*; + +/** + * @ClassName UAVQueryTimeSlotVOs + * @Description TODO + * @Author ��������� + * @Date 2021/9/8 17:16 + * @Version TODO + **/ +@Data +public class UAVQueryTimeSlotVOs { + + List<UAVQueryTimeSlotVO> vos; + + public static UAVQueryTimeSlotVOs convert(List<UAVQueryTimeSlotDTO> dtos){ + UAVQueryTimeSlotVOs resultVO = new UAVQueryTimeSlotVOs(); + List<UAVQueryTimeSlotVO> vos = new ArrayList<>(); + for (UAVQueryTimeSlotDTO dto : dtos) { + UAVQueryTimeSlotVO vo = new UAVQueryTimeSlotVO(); + vo.setMac(dto.getMac()); + vo.setName(dto.getName()); + List<Map<String,String>> timeSlotVo = new ArrayList<>(); + List<Map<String, Date>> timeSlot = dto.getTimeSlot(); + for (Map<String, Date> map : timeSlot) { + Map<String,String> newMap = new LinkedHashMap<>(); + map.forEach((key,value)->{ + String dateStr = DateUtils.dateToDateString(value, "yyyy-MM-dd HH:mm:ss"); + newMap.put(key,dateStr); + }); + timeSlotVo.add(newMap); + } + vo.setTimeSlot(timeSlotVo); + vos.add(vo); + } + resultVO.setVos(vos); + return resultVO; + } +} diff --git a/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java b/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java index 7814476..4b663ca 100644 --- a/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java +++ b/screen-api/src/main/java/com/moral/api/service/HistorySecondUavService.java @@ -2,6 +2,11 @@ import com.moral.api.entity.HistorySecondUav; import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.pojo.dto.uav.UAVQueryTimeSlotDTO; +import com.moral.api.pojo.form.uav.UAVQueryTimeSlotForm; + +import java.util.Date; +import java.util.List; /** * <p> @@ -13,4 +18,23 @@ */ public interface HistorySecondUavService extends IService<HistorySecondUav> { + /** + * @Description: ������������id������������������������������������������ + * @Param: [organizationId] + * @return: java.util.List<java.util.Date> + * @Author: ��������� + * @Date: 2021/9/8 + */ + List<Date> queryDate(Integer organizationId); + + /** + * @Description: ��������������������������������������������������������� + * @Param: [from] + * @return: List<UAVQueryTimeSlotDTO> + * @Author: ��������� + * @Date: 2021/9/8 + */ + List<UAVQueryTimeSlotDTO> queryTimeSlot(UAVQueryTimeSlotForm form); + + } 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 ea3f8da..7711c12 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 @@ -22,4 +22,22 @@ //��������������� List<Map<String, Object>> carTrajectory(Map<String, Object> params); + /** + * @Description: ������mac������������������������ + * @Param: [mac] + * @return: com.moral.api.entity.SpecialDevice + * @Author: ��������� + * @Date: 2021/9/8 + */ + Map<String,Object> getSpecialDeviceMapByMac(String mac); + + /** + * @Description: ������mac������������������������ + * @Param: [mac] + * @return: com.moral.api.entity.SpecialDevice + * @Author: ��������� + * @Date: 2021/9/8 + */ + SpecialDevice getSpecialDeviceByMac(String mac); + } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java index c0da684..1565dc3 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java @@ -1,10 +1,21 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.HistorySecondUav; +import com.moral.api.entity.Organization; import com.moral.api.mapper.HistorySecondUavMapper; +import com.moral.api.pojo.dto.uav.UAVQueryTimeSlotDTO; +import com.moral.api.pojo.form.uav.UAVQueryTimeSlotForm; import com.moral.api.service.HistorySecondUavService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.service.OrganizationService; +import com.moral.api.service.SpecialDeviceService; +import com.moral.util.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Predicate; /** * <p> @@ -17,4 +28,125 @@ @Service public class HistorySecondUavServiceImpl extends ServiceImpl<HistorySecondUavMapper, HistorySecondUav> implements HistorySecondUavService { + @Autowired + HistorySecondUavMapper historySecondUavMapper; + @Autowired + OrganizationService organizationService; + @Autowired + SpecialDeviceService specialDeviceService; + + @Override + public List<Date> queryDate(Integer organizationId) { + //������������������ + QueryWrapper<HistorySecondUav> queryWrapper = new QueryWrapper<>(); + //���������������id + List<Organization> children = organizationService.getChildrenOrganizationsById(organizationId); + List<Integer> childrenId = new ArrayList<>(); + for (Organization child : children) { + childrenId.add(child.getId()); + } + childrenId.add(organizationId); + queryWrapper.in("organization_id",childrenId); + //���������������������������180��� + Date endDate = new Date(); + Date startDate = DateUtils.addDays(endDate, -180); + queryWrapper.between("batch",startDate,endDate); + //������������������ + queryWrapper.select("DISTINCT batch"); + //������������ + List<HistorySecondUav> historySecondUavs = historySecondUavMapper.selectList(queryWrapper); + //������������Date������ + List<Date> result = new ArrayList<>(); + for (HistorySecondUav historySecondUav : historySecondUavs) { + result.add(historySecondUav.getBatch()); + } + return result; + } + + @Override + public List<UAVQueryTimeSlotDTO> queryTimeSlot(UAVQueryTimeSlotForm form) { + //������ + Integer organizationId = form.getOrganizationId(); + Date startDate = form.getStartDate(); + Date endDate = form.getEndDate(); + QueryWrapper<HistorySecondUav> wrapper = new QueryWrapper<>(); + //���������������id + List<Organization> children = organizationService.getChildrenOrganizationsById(organizationId); + List<Integer> childrenId = new ArrayList<>(); + for (Organization child : children) { + childrenId.add(child.getId()); + } + childrenId.add(organizationId); + wrapper.in("organization_id",childrenId); + //������������batch������������������������������������������������ + wrapper.between("batch",startDate,endDate); + //������������������ + wrapper.select("mac,time,batch"); + //������������ + List<HistorySecondUav> historySecondUavs = historySecondUavMapper.selectList(wrapper); + //������batch������������ + Map<String,List<HistorySecondUav>> batchMap = new LinkedHashMap<>();//key���batch���string + for (HistorySecondUav historySecondUav : historySecondUavs) { + //������batch��������������������� + List<HistorySecondUav> list = batchMap.get(historySecondUav.getBatch().toString()); + if(list!=null){ + list.add(historySecondUav); + }else{ + ArrayList<HistorySecondUav> newList = new ArrayList<>(); + newList.add(historySecondUav); + batchMap.put(historySecondUav.getBatch().toString(),newList); + } + } + //������������30������������������ + batchMap.values().removeIf(new Predicate<List<HistorySecondUav>>() { + @Override + public boolean test(List<HistorySecondUav> historySecondUavs) { + if(historySecondUavs.size()<=30) + return true; + return false; + } + }); + //������mac������������ + Map<String,List<Map<String,List<HistorySecondUav>>>> macBatchMap = new LinkedHashMap<>();//key���mac + //������batchMap���mac���������������������macBatchMap���key���batch���������map���������������������value + batchMap.forEach((key,value)->{ + String mac = value.get(0).getMac(); + List<Map<String, List<HistorySecondUav>>> maps = macBatchMap.get(mac); + if(maps!=null){ + Map<String,List<HistorySecondUav>> map = new LinkedHashMap<>(); + map.put(key,value); + maps.add(map); + }else{ + List<Map<String,List<HistorySecondUav>>> list = new ArrayList<>(); + Map<String,List<HistorySecondUav>> map = new LinkedHashMap<>(); + map.put(key,value); + list.add(map); + macBatchMap.put(value.get(0).getMac(),list); + } + }); + //������������������ + List<UAVQueryTimeSlotDTO> dtos = new ArrayList<>(); + macBatchMap.forEach((key,value)->{ + UAVQueryTimeSlotDTO dto = new UAVQueryTimeSlotDTO(); + List<Map<String,Date>> timeSlots = new ArrayList<>(); + dto.setMac(key); + //������mac������������������ + dto.setName((String) specialDeviceService.getSpecialDeviceMapByMac(key).get("name")); + //��������������� + value.forEach(listValue->{ + listValue.forEach((mKey,mValue)->{ + Date slotStartDate = mValue.get(0).getTime(); + Date slotEndDate = mValue.get(mValue.size()-1).getTime(); + Map<String,Date> dateMap = new HashMap<>(); + dateMap.put("startTime",slotStartDate); + dateMap.put("endTime",slotEndDate); + timeSlots.add(dateMap); + }); + }); + dto.setTimeSlot(timeSlots); + dtos.add(dto); + }); + return dtos; + } + } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java index ce1ee37..0d730ba 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java @@ -27,6 +27,7 @@ @Autowired OrganizationMapper organizationMapper; + @Override public List<Organization> getChildrenOrganizationsById(Integer id) { List<Organization> childrenOrganization = new ArrayList<>(); 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 4ff6a07..fd19d65 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,18 +2,23 @@ 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.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.GeodesyUtils; import com.moral.util.TokenUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -37,6 +42,14 @@ @Autowired private SpecialDeviceHistoryService specialDeviceHistoryService; + + @Autowired + OrganizationService organizationService; + + @Autowired + SpecialDeviceMapper specialDeviceMapper; + @Autowired + RedisTemplate redisTemplate; private final static Double dis = 50d; @@ -84,6 +97,23 @@ return filterData(data); } + @Override + public Map<String,Object> getSpecialDeviceMapByMac(String mac) { + //������������������ + Map<String,Object> specialDeviceMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE,mac); + return specialDeviceMap; + } + + @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; + } + + //������������������������ private List<Map<String, Object>> filterData(List<Map<String, Object>> data) { List<Map<String, Object>> result = new ArrayList<>(); 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 38b3a9a..4346d0d 100644 --- a/screen-common/src/main/java/com/moral/constant/Constants.java +++ b/screen-common/src/main/java/com/moral/constant/Constants.java @@ -218,5 +218,6 @@ * ������������������������������ * */ public static final String SPECIAL_DEVICE_UAV = "1"; + } diff --git a/screen-common/src/main/java/com/moral/constant/RedisConstants.java b/screen-common/src/main/java/com/moral/constant/RedisConstants.java index e449781..69de65a 100644 --- a/screen-common/src/main/java/com/moral/constant/RedisConstants.java +++ b/screen-common/src/main/java/com/moral/constant/RedisConstants.java @@ -78,5 +78,10 @@ * */ public static final String SPECIAL_DEVICE_INFO = "special_device_alarm_info"; + /* + * redis���������������������key + * */ + public static final String GOV_MONITOR_POINT = "gov_monitor_point"; + } diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java index 9af501f..7b313a8 100644 --- a/screen-common/src/main/java/com/moral/util/DateUtils.java +++ b/screen-common/src/main/java/com/moral/util/DateUtils.java @@ -92,6 +92,26 @@ /** + * @Description: ������������������������������������������������ + * @Param: [date] + * @return: java.util.List<java.util.Date> + * @Author: ��������� + * @Date: 2021/9/8 + */ + public static List<Date> dateToStartAndEndTime(Date date){ + String dateStr = dateToDateString(date, "yyyy-MM-dd"); + String startDateStr = dateStr+" 00:00:00"; + String endDateStr = dateStr+" 23:59:59"; + Date startDate = getDate(startDateStr, "yyyy-MM-dd HH:mm:ss"); + Date endDate = getDate(endDateStr, "yyyy-MM-dd HH:mm:ss"); + ArrayList<Date> dates = new ArrayList<>(); + dates.add(startDate); + dates.add(endDate); + return dates; + } + + + /** * @Description: Date���toString������������Date * @Param: [] * @return: java.util.Date diff --git a/screen-manage/src/main/java/com/moral/api/controller/GovMonitorPoionController.java b/screen-manage/src/main/java/com/moral/api/controller/GovMonitorPoionController.java new file mode 100644 index 0000000..6bfbc14 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/controller/GovMonitorPoionController.java @@ -0,0 +1,107 @@ +package com.moral.api.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.moral.api.entity.GovMonitorPoint; +import com.moral.api.mapper.GovMonitorPointMapper; +import com.moral.api.service.GovMonitorPointService; +import com.moral.constant.Constants; +import com.moral.constant.ResponseCodeEnum; +import com.moral.constant.ResultMessage; +import com.moral.util.WebUtils; +import io.swagger.annotations.Api; +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; + +/** + * @program: screen + * @description: ������������ + * @author: lizijie + * @create: 2021-09-09 11:31 + **/ +@Slf4j +@Api(tags = {"������������"}) +@RestController +@RequestMapping("/govMonitorPoint") +public class GovMonitorPoionController { + + @Resource + private GovMonitorPointService govMonitorPointService; + + @Resource + private GovMonitorPointMapper govMonitorPointMapper; + + @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")){ + return ResultMessage.ok(resultMap); + } + 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){ + 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()); + } + QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); + 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()); + } + govMonitorPointService.insert(govMonitorPoint); + return ResultMessage.ok(); + } + + @RequestMapping(value = "update", method = RequestMethod.POST) + @ResponseBody + 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()); + } + QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); + 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()); + } + govMonitorPointService.update(govMonitorPoint); + return ResultMessage.ok(); + } + + @RequestMapping(value = "delete", method = RequestMethod.POST) + @ResponseBody + 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()); + } + QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); + 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()); + } + govMonitorPointService.delete(id); + return ResultMessage.ok(); + } +} diff --git a/screen-manage/src/main/java/com/moral/api/entity/GovMonitorPoint.java b/screen-manage/src/main/java/com/moral/api/entity/GovMonitorPoint.java new file mode 100644 index 0000000..192517b --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/entity/GovMonitorPoint.java @@ -0,0 +1,101 @@ +package com.moral.api.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +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; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * + * </p> + * + * @author moral + * @since 2021-09-09 + */ +@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; + + /** + * ������ + */ + @TableField("`desc`") + private String desc; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/screen-manage/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java new file mode 100644 index 0000000..e261c0c --- /dev/null +++ b/screen-manage/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-09 + */ +public interface GovMonitorPointMapper extends BaseMapper<GovMonitorPoint> { + +} diff --git a/screen-manage/src/main/java/com/moral/api/service/GovMonitorPointService.java b/screen-manage/src/main/java/com/moral/api/service/GovMonitorPointService.java new file mode 100644 index 0000000..dc7c625 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/GovMonitorPointService.java @@ -0,0 +1,67 @@ +package com.moral.api.service; + +import com.moral.api.entity.GovMonitorPoint; +import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Map; + +/** + * <p> + * ��������� + * </p> + * + * @author moral + * @since 2021-09-09 + */ +public interface GovMonitorPointService extends IService<GovMonitorPoint> { + + /** + *@Description: ������������������������������������ + *@Param: [map] + *@return: java.util.Map<java.lang.String,java.lang.Object> + *@Author: lizijie + *@Date: 2021/9/9 11:28 + **/ + Map<String,Object> getDataByCondition(Map map); + + /** + *@Description: ������������������ + *@Param: [govMonitorPoint] + *@return: void + *@Author: lizijie + *@Date: 2021/9/9 15:09 + **/ + @Transactional + void insert(GovMonitorPoint govMonitorPoint); + + /** + *@Description: ������������������ + *@Param: [govMonitorPoint] + *@return: void + *@Author: lizijie + *@Date: 2021/9/10 10:10 + **/ + @Transactional + void update(GovMonitorPoint govMonitorPoint); + + /** + *@Description: ������������������ + *@Param: [id] + *@return: void + *@Author: lizijie + *@Date: 2021/9/10 13:11 + **/ + @Transactional + void delete(Integer id); + + /** + *@Description: ������id������������������������ + *@Param: [id] + *@return: com.moral.api.entity.GovMonitorPoint + *@Author: lizijie + *@Date: 2021/9/9 16:35 + **/ + GovMonitorPoint selectGovMonitorPointInfoById(int id); + +} diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java new file mode 100644 index 0000000..9cac6b4 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java @@ -0,0 +1,222 @@ +package com.moral.api.service.impl; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.GovMonitorPoint; +import com.moral.api.entity.SysArea; +import com.moral.api.mapper.GovMonitorPointMapper; +import com.moral.api.mapper.SysAreaMapper; +import com.moral.api.service.GovMonitorPointService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.util.LogUtils; +import com.moral.constant.Constants; +import com.moral.constant.RedisConstants; +import com.moral.constant.ResponseCodeEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.context.request.RequestContextHolder; +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 + * @since 2021-09-09 + */ +@Service +public class GovMonitorPointServiceImpl extends ServiceImpl<GovMonitorPointMapper, GovMonitorPoint> implements GovMonitorPointService { + + @Autowired(required = false) + private GovMonitorPointMapper govMonitorPointMapper; + + @Autowired(required = false) + private SysAreaMapper sysAreaMapper; + + @Autowired(required = false) + private RedisTemplate redisTemplate; + + @Autowired + private LogUtils logUtils; + + /* + * ���redis������������������ + * */ + private Map<String, Object> getGovMonitorPointInfoFromRedis(String id) { + return (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.GOV_MONITOR_POINT, id); + } + + /* + * ������������������redis + */ + private void setGovMonitorPointInfoToRedis(String id, GovMonitorPoint govMonitorPointInfo) { + redisTemplate.opsForHash().put(RedisConstants.GOV_MONITOR_POINT, id, govMonitorPointInfo); + } + + /* + * ���redis������������������ + */ + private void delGovMonitorPointInfoFromRedis(String id) { + redisTemplate.opsForHash().delete(RedisConstants.GOV_MONITOR_POINT, id); + } + + @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()); + 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); + 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()); + } + 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); + 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); + String createTime = SDF.format(govMonitorPoint.getCreateTime()); + String updateTime = SDF.format(govMonitorPoint.getUpdateTime()); + govMonitorPointMap.put("createTime",createTime); + govMonitorPointMap.put("updateTime",updateTime); + String position = ""; + if (!ObjectUtils.isEmpty(govMonitorPoint.getProvinceCode())){ + QueryWrapper<SysArea> wrapper_province = new QueryWrapper<>(); + 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())){ + QueryWrapper<SysArea> wrapper_city = new QueryWrapper<>(); + 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())){ + QueryWrapper<SysArea> wrapper_area = new QueryWrapper<>(); + wrapper_area.eq("area_code",govMonitorPoint.getAreaCode()); + SysArea sysArea_area = sysAreaMapper.selectOne(wrapper_area); + if (!ObjectUtils.isEmpty(sysArea_area)){ + position = position+"/"+sysArea_area.getAreaName(); + } + } + } + } + } + } + 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){ + totalPageNumber += 1; + } + resultMap.put("totalPageNumber",totalPageNumber); + return resultMap; + } + + @Transactional + @Override + public void insert(GovMonitorPoint govMonitorPoint) { + int count = govMonitorPointMapper.insert(govMonitorPoint); + //������������redis + 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()+";"); + logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); + } + } + + @Transactional + @Override + public void update(GovMonitorPoint govMonitorPoint) { + Integer id = govMonitorPoint.getId(); + GovMonitorPoint oldGovMonitorPoint = govMonitorPointMapper.selectById(id); + govMonitorPointMapper.updateById(govMonitorPoint); + //������redis + delGovMonitorPointInfoFromRedis(id.toString()); + //������redis + 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("guid:").append(oldGovMonitorPoint.getGuid()).append("->").append(govMonitorPoint.getGuid()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getName())){ + content.append("name:").append(oldGovMonitorPoint.getName()).append("->").append(govMonitorPoint.getName()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getLongitude())){ + content.append("longitude:").append(oldGovMonitorPoint.getLongitude()).append("->").append(govMonitorPoint.getLongitude()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getLatitude())){ + content.append("latitude:").append(oldGovMonitorPoint.getLatitude()).append("->").append(govMonitorPoint.getLatitude()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getProvinceCode())){ + content.append("provinceCode:").append(oldGovMonitorPoint.getProvinceCode()).append("->").append(govMonitorPoint.getProvinceCode()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getCityCode())){ + content.append("cityCode:").append(oldGovMonitorPoint.getCityCode()).append("->").append(govMonitorPoint.getCityCode()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getAreaCode())){ + content.append("areaCode:").append(oldGovMonitorPoint.getAreaCode()).append("->").append(govMonitorPoint.getAreaCode()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getStationLevel())){ + content.append("stationLevel:").append(oldGovMonitorPoint.getStationLevel()).append("->").append(govMonitorPoint.getStationLevel()).append(";"); + } + if (!ObjectUtils.isEmpty(govMonitorPoint.getDesc())){ + content.append("desc:").append(oldGovMonitorPoint).append("->").append(govMonitorPoint.getDesc()).append(";"); + } + logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); + } + + @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); + //������redis + delGovMonitorPointInfoFromRedis(id.toString()); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + StringBuilder content = new StringBuilder(); + content.append("������������������").append("id:").append(id).append(";"); + logUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE); + } + + @Override + public GovMonitorPoint selectGovMonitorPointInfoById(int id) { + GovMonitorPoint govMonitorPoint = govMonitorPointMapper.selectById(id); + return govMonitorPoint; + } +} diff --git a/screen-manage/src/main/resources/mapper/GovMonitorPointMapper.xml b/screen-manage/src/main/resources/mapper/GovMonitorPointMapper.xml new file mode 100644 index 0000000..1bd2fcc --- /dev/null +++ b/screen-manage/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="gov_code" property="govCode" /> + <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="gov_type" property="govType" /> + <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 -- Gitblit v1.8.0