kaiyu
2021-07-16 3b29244703787dda85386167dca4126b5b0f150c
screen-api
添加查询五分钟数据接口以及查询国控站位置接口
11 files added
10 files modified
593 ■■■■■ changed files
pom.xml 2 ●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java 35 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/DeviceController.java 4 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/HistoryFiveMinutelyController.java 54 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java 14 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/TestController.java 15 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/entity/HistoryFiveMinutely.java 41 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/HistoryFiveMinutelyMapper.java 16 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/dto/historyFiveMinutely/DeviceAndFiveMinuteDataDTO.java 29 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/form/device/MonitorPointQueryForm.java 2 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/form/historyFiveMinutely/QueryDeviceAndFiveMinuteDataForm.java 29 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/vo/historyFiveMinutely/DeviceAndFiveMinuteDataVO.java 41 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/vo/monitorPoint/StateControllerStationVO.java 36 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/HistoryFiveMinutelyService.java 28 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/MonitorPointService.java 11 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/OrganizationService.java 9 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java 72 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
screen-api/src/main/resources/application-local.yml 120 ●●●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/HistoryFiveMinutely202107Mapper.xml 12 ●●●●● patch | view | raw | blame | history
pom.xml
@@ -38,7 +38,7 @@
        <maven-shared-incremental.version>1.1</maven-shared-incremental.version>
        <spring-web.version>4.1.6.RELEASE</spring-web.version>
        <com.alibaba.druid.version>1.1.5</com.alibaba.druid.version>
        <org.mybatis-plus.spring.boot.version>3.4.1</org.mybatis-plus.spring.boot.version>
        <org.mybatis-plus.spring.boot.version>3.4.3.1</org.mybatis-plus.spring.boot.version>
        <org.projectlombok.version>1.16.18</org.projectlombok.version>
        <io.springfox.version>2.7.0</io.springfox.version>
        <swagger-bootstrap-ui.version>1.9.6</swagger-bootstrap-ui.version>
screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java
@@ -1,9 +1,18 @@
package com.moral.api.config.mybatis;
import com.baomidou.mybatisplus.core.parser.ISqlParser;
import com.baomidou.mybatisplus.extension.parsers.DynamicTableNameParser;
import com.baomidou.mybatisplus.extension.parsers.ITableNameHandler;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.handler.TableNameHandler;
import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.text.SimpleDateFormat;
import java.util.*;
@Configuration
@@ -14,8 +23,30 @@
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor page = new PaginationInterceptor();
        return page;
        PaginationInterceptor paginationInterceptor  = new PaginationInterceptor();
        return paginationInterceptor;
    }
    /**
    * @Description: 设置动态表名
            * @Param: []
            * @return: com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor
            * @Author: 陈凯裕
            * @Date: 2021/7/15
            */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
        HashMap<String, TableNameHandler> map = new HashMap<String, TableNameHandler>();
        map.put("history_five_minutely",(sql,tableName)->{ Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
            String month = sdf.format(date);
            return tableName+"_"+month;});
        dynamicTableNameInnerInterceptor.setTableNameHandlerMap(map);
        interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor);
        return interceptor;
    }
screen-api/src/main/java/com/moral/api/controller/DeviceController.java
@@ -39,9 +39,5 @@
        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(), vo);
    }
    @GetMapping("queryFiveMinuteData")
    public ResultMessage queryFiveMinuteData(Integer regionCode,String sensorCode){
        return null;
    }
}
screen-api/src/main/java/com/moral/api/controller/HistoryFiveMinutelyController.java
New file
@@ -0,0 +1,54 @@
package com.moral.api.controller;
import com.moral.api.pojo.dto.historyFiveMinutely.DeviceAndFiveMinuteDataDTO;
import com.moral.api.pojo.form.historyFiveMinutely.QueryDeviceAndFiveMinuteDataForm;
import com.moral.api.pojo.vo.historyFiveMinutely.DeviceAndFiveMinuteDataVO;
import com.moral.api.service.HistoryFiveMinutelyService;
import com.moral.constant.ResponseCodeEnum;
import com.moral.constant.ResultMessage;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @ClassName HistoryFiveMinutely
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/7/15 16:42
 * @Version TODO
 **/
@Slf4j
@Api(tags = {"五分钟数据控制器"})
@RestController
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping("/historyFiveMinutely")
public class HistoryFiveMinutelyController {
    @Autowired
    HistoryFiveMinutelyService historyFiveMinutelyService;
    @GetMapping("queryDeviceAndData")
    public ResultMessage queryDeviceAndData(QueryDeviceAndFiveMinuteDataForm form){
        //18 110100
        //判断是否缺少参数
        if (!form.valid())
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        //处理查询业务
        List<DeviceAndFiveMinuteDataDTO> dto = historyFiveMinutelyService.queryDeviceAndFiveMinuteData(form);
        //转换前端参数
        DeviceAndFiveMinuteDataVO vo = DeviceAndFiveMinuteDataVO.convert(dto);
        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(), vo);
    }
}
screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java
@@ -3,6 +3,7 @@
import com.moral.api.entity.MonitorPoint;
import com.moral.api.pojo.form.device.MonitorPointQueryForm;
import com.moral.api.pojo.vo.monitorPoint.MonitorPointsVO;
import com.moral.api.pojo.vo.monitorPoint.StateControllerStationVO;
import com.moral.api.service.MonitorPointService;
import com.moral.api.service.OrganizationService;
import com.moral.constant.ResponseCodeEnum;
@@ -41,7 +42,7 @@
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        //处理查询业务
        List<MonitorPoint> monitorPoints = monitorPointService.query(form);
        List<MonitorPoint> monitorPoints = monitorPointService.queryByOrgIdAndRegionCode(form);
        //转换前端参数
        MonitorPointsVO vo = MonitorPointsVO.convert(monitorPoints);
@@ -49,5 +50,16 @@
        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(), vo);
    }
    @GetMapping("queryStateControlStation")
    public ResultMessage queryStateControlStation(Integer regionCode){
        List<MonitorPoint> monitorPoints = monitorPointService.queryStateControlStationByRegionCode(regionCode);
        //转换前端所需参数
        StateControllerStationVO vo = StateControllerStationVO.convert(monitorPoints);
        return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo);
    }
}
screen-api/src/main/java/com/moral/api/controller/TestController.java
@@ -1,8 +1,12 @@
package com.moral.api.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.entity.HistoryFiveMinutely;
import com.moral.api.entity.Test;
import com.moral.api.mapper.HistoryFiveMinutelyMapper;
import com.moral.api.service.TestService;
import com.moral.constant.Constants;
import com.moral.constant.ResultMessage;
import com.moral.redis.RedisUtil;
import com.moral.util.PageResult;
@@ -11,6 +15,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@@ -24,6 +30,9 @@
    @Autowired
    private TestService testService;
    @Autowired
    private HistoryFiveMinutelyMapper historyFiveMinutelyMapper;
    /**
     * name   姓名
     * email  郵箱
@@ -96,4 +105,10 @@
        kafkaTemplate.send("test_topic","test111111111111111");
    }
    @GetMapping("test")
    public void test(){
        QueryWrapper<HistoryFiveMinutely> queryWrapper = new QueryWrapper<>();
        List<HistoryFiveMinutely> historyFiveMinutelies = historyFiveMinutelyMapper.selectList(queryWrapper);
        System.out.println(1111);
    }
}
screen-api/src/main/java/com/moral/api/entity/HistoryFiveMinutely.java
New file
@@ -0,0 +1,41 @@
package com.moral.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * <p>
 * 5分钟数据表
 * </p>
 *
 * @author moral
 * @since 2021-07-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class HistoryFiveMinutely extends Model<HistoryFiveMinutely> {
    /**
     * 设备mac
     */
    private String mac;
    /**
     * 数据时间
     */
    private Date time;
    /**
     * 数据
     */
    private String value;
}
screen-api/src/main/java/com/moral/api/mapper/HistoryFiveMinutelyMapper.java
New file
@@ -0,0 +1,16 @@
package com.moral.api.mapper;
import com.moral.api.entity.HistoryFiveMinutely;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 5分钟数据表 Mapper 接口
 * </p>
 *
 * @author moral
 * @since 2021-07-15
 */
public interface HistoryFiveMinutelyMapper extends BaseMapper<HistoryFiveMinutely> {
}
screen-api/src/main/java/com/moral/api/pojo/dto/historyFiveMinutely/DeviceAndFiveMinuteDataDTO.java
New file
@@ -0,0 +1,29 @@
package com.moral.api.pojo.dto.historyFiveMinutely;
import com.moral.api.entity.Device;
import com.moral.api.entity.HistoryFiveMinutely;
import lombok.Data;
import java.util.Map;
/**
 * @ClassName DeviceAndFiveMinuteDataDTO
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/7/16 9:24
 * @Version TODO
 **/
@Data
public class DeviceAndFiveMinuteDataDTO {
    /*
    * 设备信息
    * */
    private Device device;
    /*
    * 对应因子数据
    * */
    private Map<String,Object> sensorValue;
}
screen-api/src/main/java/com/moral/api/pojo/form/device/MonitorPointQueryForm.java
@@ -1,5 +1,6 @@
package com.moral.api.pojo.form.device;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.util.ObjectUtils;
@@ -11,6 +12,7 @@
 * @Version TODO
 **/
@Data
@AllArgsConstructor
public class MonitorPointQueryForm {
    /*
    * 组织id
screen-api/src/main/java/com/moral/api/pojo/form/historyFiveMinutely/QueryDeviceAndFiveMinuteDataForm.java
New file
@@ -0,0 +1,29 @@
package com.moral.api.pojo.form.historyFiveMinutely;
import lombok.Data;
import org.springframework.util.ObjectUtils;
/**
 * @ClassName QueryFiveMinuteData
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/7/15 16:46
 * @Version TODO
 **/
@Data
public class QueryDeviceAndFiveMinuteDataForm {
    private Integer organizationId;
    private Integer regionCode;
    private String sensorCode;
    public boolean valid(){
        if(ObjectUtils.isEmpty(organizationId)||
                ObjectUtils.isEmpty(regionCode)||
                ObjectUtils.isEmpty(sensorCode))
            return false;
        return true;
    }
}
screen-api/src/main/java/com/moral/api/pojo/vo/historyFiveMinutely/DeviceAndFiveMinuteDataVO.java
New file
@@ -0,0 +1,41 @@
package com.moral.api.pojo.vo.historyFiveMinutely;
import com.moral.api.entity.Device;
import com.moral.api.pojo.dto.historyFiveMinutely.DeviceAndFiveMinuteDataDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @ClassName DeviceAndFiveMinuteDataVO
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/7/16 11:17
 * @Version TODO
 **/
@Data
@AllArgsConstructor
public class DeviceAndFiveMinuteDataVO {
    private List<Map<String, Object>> devices;
    public static DeviceAndFiveMinuteDataVO convert(List<DeviceAndFiveMinuteDataDTO> dtos) {
        List<Map<String, Object>> devices = new ArrayList<>();
        for (DeviceAndFiveMinuteDataDTO dto : dtos) {
            Device device = dto.getDevice();
            Map<String, Object> sensorValue = dto.getSensorValue();
            Map<String, Object> deviceValue = new HashMap<>();
            deviceValue.put("latitude",device.getLatitude());
            deviceValue.put("longitude",device.getLongitude());
            deviceValue.put("state",device.getState());
            deviceValue.put("mac",device.getMac());
            deviceValue.putAll(sensorValue);
            devices.add(deviceValue);
        }
        return new DeviceAndFiveMinuteDataVO(devices);
    }
}
screen-api/src/main/java/com/moral/api/pojo/vo/monitorPoint/StateControllerStationVO.java
New file
@@ -0,0 +1,36 @@
package com.moral.api.pojo.vo.monitorPoint;
import com.moral.api.entity.Device;
import com.moral.api.entity.MonitorPoint;
import com.moral.api.pojo.vo.device.DeviceVO;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * @ClassName StateControllerStationVO
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/7/16 13:52
 * @Version TODO
 **/
@Data
public class StateControllerStationVO {
    private List<MonitorPointVO> stateControllerStations;
    public static StateControllerStationVO convert(List<MonitorPoint> monitorPoints){
        StateControllerStationVO stateControllerStationVO = new StateControllerStationVO();
        List<MonitorPointVO> stateControllerStations = new ArrayList<>();
        for (MonitorPoint monitorPoint : monitorPoints) {
            MonitorPointVO monitorPointVO = new MonitorPointVO();
            monitorPointVO.setName(monitorPoint.getName());
            monitorPointVO.setLatitude(monitorPoint.getLatitude());
            monitorPointVO.setLongitude(monitorPoint.getLongitude());
            stateControllerStations.add(monitorPointVO);
        }
        stateControllerStationVO.setStateControllerStations(stateControllerStations);
        return stateControllerStationVO;
    }
}
screen-api/src/main/java/com/moral/api/service/HistoryFiveMinutelyService.java
New file
@@ -0,0 +1,28 @@
package com.moral.api.service;
import com.moral.api.entity.HistoryFiveMinutely;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moral.api.pojo.dto.historyFiveMinutely.DeviceAndFiveMinuteDataDTO;
import com.moral.api.pojo.form.historyFiveMinutely.QueryDeviceAndFiveMinuteDataForm;
import java.util.List;
/**
 * <p>
 * 5分钟数据表 服务类
 * </p>
 *
 * @author moral
 * @since 2021-07-15
 */
public interface HistoryFiveMinutelyService extends IService<HistoryFiveMinutely> {
    /**
    * @Description: 查询组织区域对应的设备以及对应因子的五分钟数据
            * @Param: [form]
            * @return: java.util.List<com.moral.api.pojo.dto.historyFiveMinutely.DeviceAndFiveMinuteDataDTO>
            * @Author: 陈凯裕
            * @Date: 2021/7/16
            */
    List<DeviceAndFiveMinuteDataDTO> queryDeviceAndFiveMinuteData(QueryDeviceAndFiveMinuteDataForm form);
}
screen-api/src/main/java/com/moral/api/service/MonitorPointService.java
@@ -23,6 +23,15 @@
            * @Author: 陈凯裕
            * @Date: 2021/7/1
            */
    List<MonitorPoint> query(MonitorPointQueryForm form);
    List<MonitorPoint> queryByOrgIdAndRegionCode(MonitorPointQueryForm form);
    /**
    * @Description: 根据地区码查询国控站数据
            * @Param: [regionCode]
            * @return: java.util.List<com.moral.api.entity.MonitorPoint>
            * @Author: 陈凯裕
            * @Date: 2021/7/16
            */
    List<MonitorPoint> queryStateControlStationByRegionCode(Integer regionCode);
}
screen-api/src/main/java/com/moral/api/service/OrganizationService.java
@@ -23,4 +23,13 @@
            * @Date: 2021/7/1
            */
    List<Organization> getChildrenOrganizationsById(Integer id);
    /**
    * @Description: 获取国控站组织
            * @Param: []
            * @return: com.moral.api.entity.Organization
            * @Author: 陈凯裕
            * @Date: 2021/7/16
            */
    Organization getStateControlStation();
}
screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
New file
@@ -0,0 +1,72 @@
package com.moral.api.service.impl;
import com.moral.api.entity.Device;
import com.moral.api.entity.HistoryFiveMinutely;
import com.moral.api.entity.MonitorPoint;
import com.moral.api.mapper.HistoryFiveMinutelyMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.pojo.dto.historyFiveMinutely.DeviceAndFiveMinuteDataDTO;
import com.moral.api.pojo.form.device.MonitorPointQueryForm;
import com.moral.api.pojo.form.historyFiveMinutely.QueryDeviceAndFiveMinuteDataForm;
import com.moral.api.service.HistoryFiveMinutelyService;
import com.moral.api.service.MonitorPointService;
import com.moral.constant.RedisConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 5分钟数据表 服务实现类
 * </p>
 *
 * @author moral
 * @since 2021-07-15
 */
@Service
public class HistoryFiveMinutelyServiceImpl extends ServiceImpl<HistoryFiveMinutelyMapper, HistoryFiveMinutely> implements HistoryFiveMinutelyService {
    @Autowired
    MonitorPointService monitorPointService;
    @Autowired
    RedisTemplate redisTemplate;
    @Override
    public List<DeviceAndFiveMinuteDataDTO> queryDeviceAndFiveMinuteData(QueryDeviceAndFiveMinuteDataForm form) {
        //取参
        Integer organizationId = form.getOrganizationId();
        Integer regionCode = form.getRegionCode();
        String sensorCode = form.getSensorCode();
        //查询组织在对应地区下的站点以及设备
        List<MonitorPoint> monitorPoints = monitorPointService.queryByOrgIdAndRegionCode(new MonitorPointQueryForm(organizationId, regionCode));
        List<Device> devices = new ArrayList<>();
        for (MonitorPoint monitorPoint : monitorPoints) {
            List<Device> monitorPointDevices = monitorPoint.getDevices();
            if (!ObjectUtils.isEmpty(monitorPointDevices))
                devices.addAll(monitorPointDevices);
        }
        //查询所有设备对应的数据
        List<DeviceAndFiveMinuteDataDTO> dtos = new ArrayList<>();
        for (Device device : devices) {
            DeviceAndFiveMinuteDataDTO dto = new DeviceAndFiveMinuteDataDTO();
            String mac = device.getMac();
            Map<String, Object> sensorValues = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DATA_FIVE_MINUTES, mac);
            Map<String,Object> value = new HashMap<>();
            if (sensorValues!=null&&sensorValues.get(sensorCode) != null)
                value.put(sensorCode,sensorValues.get(sensorCode));
            else
                value.put(sensorCode,null);
            dto.setDevice(device);
            dto.setSensorValue(value);
            dtos.add(dto);
        }
        return dtos;
    }
}
screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
@@ -37,7 +37,7 @@
    DeviceService deviceService;
    @Override
    public List<MonitorPoint> query(MonitorPointQueryForm form) {
    public List<MonitorPoint> queryByOrgIdAndRegionCode(MonitorPointQueryForm form) {
        //取参
        Integer organizationId = form.getOrganizationId();
        Integer regionCode = form.getRegionCode();
@@ -62,6 +62,18 @@
        }
        return monitorPoints;
    }
    @Override
    public List<MonitorPoint> queryStateControlStationByRegionCode(Integer regionCode) {
        //获取国控站组织
        Organization stateControlStationOrganization = organizationService.getStateControlStation();
        //获取国控站组织下的所有站点
        QueryWrapper<MonitorPoint> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("is_delete",Constants.NOT_DELETE);
        queryWrapper.eq("organization_id",stateControlStationOrganization.getId());
        queryWrapper.eq(RegionCodeUtils.regionCodeConvertToName(regionCode),regionCode);
        return monitorPointMapper.selectList(queryWrapper);
    }
}
screen-api/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
@@ -34,6 +34,15 @@
        return childrenOrganization;
    }
    @Override
    public Organization getStateControlStation() {
        QueryWrapper<Organization> wrapper = new QueryWrapper<>();
        wrapper.eq("name","国控站");
        wrapper.eq("is_delete",Constants.NOT_DELETE);
        Organization organization = organizationMapper.selectOne(wrapper);
        return organization;
    }
    /**
    * @Description: 通过父组织查询下面所有的子组织放到children中
            * @Param: [parentId, children]
screen-api/src/main/resources/application-local.yml
New file
@@ -0,0 +1,120 @@
server:
  port: 8081
  tomcat:
    uri-encoding: UTF-8
    #最小线程数
    min-spare-threads: 500
    #最大线程数
    max-threads: 2500
    #最大链接数
    max-connections: 6500
    #最大等待队列长度
    accept-count: 1000
spring:
  profiles:
    active: dev
  application:
    name: screen-manage
  redis:
    host: r-bp1xdlb9wfc6zt0msppd.redis.rds.aliyuncs.com
    port: 6379
    password: moral_123456
    timeout: 30000
    jedis:
      pool:
        max-active: 256
        max-wait: 30000
        max-idle: 64
        min-idle: 32
    lettuce:
      pool:
        max-active: 256
        max-idle: 64
        max-wait: 30000
        min-idle: 32
  tokenRedis:
    host: r-bp1xdlb9wfc6zt0msppd.redis.rds.aliyuncs.com
    port: 6379
    password: moral_123456
    timeout: 30000
    database: 15
    pool:
      max-active: 256
      max-wait: 30000
      max-idle: 64
      min-idle: 32
  datasource:
    minIdle: 1
    time-between-eviction-runs-millis: 60000
    max-active: 20
    test-while-idle: true
    validation-query: select 'x'
    filters: stat
    type: com.alibaba.druid.pool.DruidDataSource
    max-wait: 60000
    url: jdbc:mysql://rm-bp1pr3rx9m3fnkwsk8o.mysql.rds.aliyuncs.com:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: moral_123456
    test-on-borrow: false
    sql-script-encoding: utf-8
    pool-prepared-statements: true
    min-evictable-idle-time-millis: 300000
    initial-size: 1
    driver-class-name: com.mysql.cj.jdbc.Driver
    max-conn-lifetime-millis: 20
    test-on-return: false
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  global-config:
    db-config:
      id-type: auto
      field-strategy: NOT_EMPTY
      db-type: MYSQL
  configuration:
    map-underscore-to-camel-case: true
    call-setters-on-nulls: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
kafka:
  listener:
    ack-mode: manual_immediate
  consumer:
    auto:
      offset:
        reset: latest
    concurrency: 3
    enable:
      auto:
        commit: false
    servers: 47.99.145.48:9092,47.111.116.38:9092,47.111.124.159:9092
    session:
      timeout: 6000
    zookeeper:
      connect: 47.99.145.48:2181,47.111.116.38:2181,47.111.124.159:2181
  producer:
    batch:
      size: 4096
    buffer:
      memory: 40960
    linger: 1
    retries: 0
    servers: 47.99.145.48:9092,47.111.116.38:9092,47.111.124.159:9092
mvc:
  interceptor:
    exclude:
      - /login
      - /swagger-ui.html
      - /swagger-resources/**
      - /swagger-ui.html/**
      - /webjars/**
      - /verificationCode/**
AES:
  KEY:
    AD42F7787B035B7580000EF93BE20BAD
TOKEN:
  KEY:
    foh3wi2ooghiCh5
screen-api/src/main/resources/mapper/HistoryFiveMinutely202107Mapper.xml
New file
@@ -0,0 +1,12 @@
<?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.HistoryFiveMinutely202107Mapper">
        <!-- 通用查询映射结果 -->
        <resultMap id="BaseResultMap" type="com.moral.api.entity.HistoryFiveMinutely">
                    <result column="mac" property="mac" />
                    <result column="time" property="time" />
                    <result column="value" property="value" />
        </resultMap>
</mapper>