2021与蓝度共同重构项目,服务端
liuhaonan
2022-10-21 0a30812acaa26ebe654340f7e749a6801b63b194
changes
已修改7个文件
80 ■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/bo/AirDataNongGengBo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/AirDataNongGeng.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/AirDataNongGengMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/AirDataNongGengMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataNongGengController.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataNongGengService.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/bo/AirDataNongGengBo.java
@@ -1,11 +1,13 @@
package com.sandu.ximon.dao.bo;
import com.sandu.ximon.dao.domain.AirDataNongGeng;
import lombok.Data;
/**
 * @author ZZQ
 * @date 2022/4/25 15:10
 */
@Data
public class AirDataNongGengBo extends AirDataNongGeng {
    private String poleId;
    private String PoleName;
dao/src/main/java/com/sandu/ximon/dao/domain/AirDataNongGeng.java
@@ -4,16 +4,18 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Data;
/**
 * 农耕大气监测数据
 *
 * @TableName air_data_nong_geng
 */
@TableName(value ="air_data_nong_geng")
@TableName(value = "air_data_nong_geng")
@Data
public class AirDataNongGeng implements Serializable {
    /**
@@ -125,6 +127,7 @@
    /**
     * 设备类型
     */
    @JsonIgnore
    private String type;
    /**
dao/src/main/java/com/sandu/ximon/dao/mapper/AirDataNongGengMapper.java
@@ -15,10 +15,11 @@
 */
@Mapper
public interface AirDataNongGengMapper extends BaseMapper<AirDataNongGeng> {
    List<Long> listAirId(String keyword, Long userid);
    List<Long> listAirId(String keyword, Long userid, String type);
    List<AirDataNongGengBo> listAirDataByIds(List<Long> airIdList);
    List<AirDataNongGengBo> historyData(String mac);
}
dao/src/main/resources/mapper/AirDataNongGengMapper.xml
@@ -46,6 +46,7 @@
        MAX(t1.id) AS air_id
        FROM
        air_data_nong_geng t1
        left join air_equipment_nong_geng t4 on t4.mac = t1.mac
        <if test="keyword != null and keyword != ''">
            LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code
            AND t2.device_type = 11
@@ -55,6 +56,10 @@
            1=1
            <if test="keyword != null and keyword != ''">
                AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
                or t1.mac LIKE CONCAT(CONCAT('%', #{keyword}), '%')
            </if>
            <if test="type != null">
                AND t4.type = #{type}
            </if>
            <if test="userid != null">
                AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
@@ -79,5 +84,19 @@
            </foreach>
        </where>
    </select>
    <select id="historyData" resultType="com.sandu.ximon.dao.bo.AirDataNongGengBo"
            parameterType="java.lang.String">
        SELECT t1.*,
               t3.id AS pole_id,
               t3.pole_name
        FROM air_data_nong_geng t1
                 LEFT JOIN air_equipment_nong_geng t4 ON t4.mac = t1.mac
                 LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code
            AND t2.device_type = 11
                 LEFT JOIN pole t3 ON t3.id = t2.pole_id
        WHERE t1.mac = #{mac}
        ORDER BY t1.id DESC
    </select>
</mapper>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataNongGengController.java
@@ -6,6 +6,7 @@
 */
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.security.PermissionConfig;
@@ -34,7 +35,6 @@
    private final AirDataNongGengService airDataNongGengService;
    /**
     * 查询大气数据模糊查询
     *
@@ -42,11 +42,24 @@
     * @return
     */
    @GetMapping("/listAirData")
    public ResponseVO<Object> listAirDataByKeyword(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
    public ResponseVO<Object> listAirDataByKeyword(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
            , @RequestParam(value = "type", required = false) String type) {
        if (type == null || type.isEmpty()) {
            throw new BusinessException("数据类型不能为空");
        }
        if (!permissionConfig.check(MenuEnum.AIR_DATA_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<AirDataNongGengBo> list = airDataNongGengService.listAirDataByKeyword(baseConditionVO, keyword);
        return ResponseUtil.successPage(list);
        List<AirDataNongGengBo> list = airDataNongGengService.listAirDataByKeyword(baseConditionVO, keyword, type);
        return ResponseUtil.success(list);
    }
    @GetMapping("/historyData")
    public ResponseVO<Object> historyData(BaseConditionVO baseConditionVO, @RequestParam(value = "mac", required = false) String mac) {
        if (!permissionConfig.check(MenuEnum.AIR_DATA_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<AirDataNongGengBo> list = airDataNongGengService.historyData(baseConditionVO, mac);
        return ResponseUtil.success(list);
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataNongGengService.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereNewHeartbeatReportInnerFrame;
@@ -92,17 +93,16 @@
    }
    /**
     * 查询大气数据(模糊查询)
     */
    public List<AirDataNongGengBo> listAirDataByKeyword(BaseConditionVO baseConditionVO, String keyword) {
    public List<AirDataNongGengBo> listAirDataByKeyword(BaseConditionVO baseConditionVO, String keyword, String type) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<Long> listAirId;
        if (SecurityUtils.getClientId() == null) {
            listAirId = baseMapper.listAirId(keyword, null);
            listAirId = baseMapper.listAirId(keyword, null, type);
        } else {
            listAirId = baseMapper.listAirId(keyword, SecurityUtils.getUserId());
            listAirId = baseMapper.listAirId(keyword, SecurityUtils.getUserId(), type);
        }
        if (CollUtil.isEmpty(listAirId)) {
            return CollUtil.newArrayList();
@@ -111,4 +111,20 @@
        return airDataBos;
    }
    /**
     * 设备历史数据
     *
     * @param baseConditionVO
     * @param mac
     * @return
     */
    public List<AirDataNongGengBo> historyData(BaseConditionVO baseConditionVO, String mac) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        if (mac == null || mac.isEmpty()) {
            throw new BusinessException("mac不能为空");
        }
        List<AirDataNongGengBo> bos = baseMapper.historyData(mac);
        return bos;
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java
@@ -76,7 +76,7 @@
        }
     return airEquipmentBos;
        return airEquipmentBos;
    }
    /**