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