From 6c5658432934f182cfc5a7c5362c53080cbd27cf Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Fri, 10 Sep 2021 08:56:28 +0800 Subject: [PATCH] gov_monitor_point表相关文件,查询与新增接口 --- screen-manage/src/main/java/com/moral/api/service/GovMonitorPointService.java | 45 ++++++ screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 160 ++++++++++++++++++++++ screen-manage/src/main/java/com/moral/api/mapper/GovMonitorPointMapper.java | 16 ++ screen-manage/src/main/resources/mapper/GovMonitorPointMapper.xml | 22 +++ screen-common/src/main/java/com/moral/constant/RedisConstants.java | 5 screen-manage/src/main/java/com/moral/api/controller/GovMonitorPoionController.java | 71 ++++++++++ screen-manage/src/main/java/com/moral/api/entity/GovMonitorPoint.java | 101 ++++++++++++++ 7 files changed, 420 insertions(+), 0 deletions(-) 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-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..37da36e --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/controller/GovMonitorPoionController.java @@ -0,0 +1,71 @@ +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(); + } +} 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..1ed900c --- /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..e4eda95 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/GovMonitorPointService.java @@ -0,0 +1,45 @@ +package com.moral.api.service; + +import com.moral.api.entity.GovMonitorPoint; +import com.baomidou.mybatisplus.extension.service.IService; + +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 + **/ + void insert(GovMonitorPoint govMonitorPoint); + + /** + *@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..83b0e4b --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java @@ -0,0 +1,160 @@ +package com.moral.api.service.impl; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +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; + } + + @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); + } + } + + @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