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-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 222 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 222 insertions(+), 0 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 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; + } +} -- Gitblit v1.8.0