From 3d593b39648ff583a255765f76760768d6ba5f55 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 23 Dec 2021 14:32:14 +0800
Subject: [PATCH] 正式库city_aqi,city_weather,history_aqi第三方数据存入开发库

---
 screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java |  187 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 145 insertions(+), 42 deletions(-)

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
index 83b0e4b..a1b608f 100644
--- 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
@@ -2,31 +2,43 @@
 
 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.Device;
 import com.moral.api.entity.GovMonitorPoint;
+import com.moral.api.entity.Organization;
 import com.moral.api.entity.SysArea;
+import com.moral.api.mapper.DeviceMapper;
 import com.moral.api.mapper.GovMonitorPointMapper;
 import com.moral.api.mapper.SysAreaMapper;
+import com.moral.api.service.DeviceService;
 import com.moral.api.service.GovMonitorPointService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.service.OrganizationService;
 import com.moral.api.util.LogUtils;
 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;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
- *  ���������������
+ * ���������������
  * </p>
  *
  * @author moral
@@ -44,8 +56,11 @@
     @Autowired(required = false)
     private RedisTemplate redisTemplate;
 
-    @Autowired
-    private LogUtils logUtils;
+    @Resource
+    private OrganizationService organizationService;
+
+    @Autowired(required = false)
+    private DeviceMapper deviceMapper;
 
     /*
      * ���redis������������������
@@ -70,86 +85,145 @@
 
     @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;
     }
 
+    @Transactional
     @Override
     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()+";");
-            logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
+            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
@@ -157,4 +231,33 @@
         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);
+    }
+
+    @Override
+    public List<GovMonitorPoint> selectGovMonitorPointsByOrgid(Map map) {
+        //������������id���������������
+        List<Organization> organizations = organizationService.getAllChildrenOrganization(Integer.parseInt(map.get("organization_id").toString()));
+        Set<Integer> organization_ids = organizations.stream().map(organization -> organization.getId()).collect(Collectors.toSet());
+        //������������������������������
+        QueryWrapper<Device> wrapper_device = new QueryWrapper<>();
+        wrapper_device.in("organization_id",organization_ids).eq("is_delete",Constants.NOT_DELETE);
+        List<Device> devices = deviceMapper.selectList(wrapper_device);
+        //������������������������������id
+        Set<String> guids = devices.stream().map(device -> device.getGuid()).collect(Collectors.toSet());
+        //������������������������������
+        QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>();
+        wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE).in("guid",guids);
+        List<GovMonitorPoint> govMonitorPointList = govMonitorPointMapper.selectList(wrapper_govMonitorPoint);
+        return govMonitorPointList;
+    }
 }

--
Gitblit v1.8.0