2021与蓝度共同重构项目,服务端
liuhaonan
2021-12-24 2de45155f323dd5371e9bb7432bd94b742d5cb77
Merge remote-tracking branch 'origin/master'
已修改12个文件
已添加4个文件
已删除1个文件
已重命名1个文件
622 ■■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/domain/WaterQualityData.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/WaterQualityEquipment.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/WaterQualityDataMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityDataController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityEquipmentController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/WaterQualityDataDto.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/YSY_AccessTokenDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/YSY_MonitorDto.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/WaterQualityEquipmentParam.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/schedule/WaterQualityDataSchedule.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/WaterQualityData.java
@@ -11,20 +11,18 @@
public class WaterQualityData implements Serializable {
    @TableId(type = IdType.AUTO)
    private Long id;
    //设备ID
    private Long equipmentId;
    //水质设备编码
    private String waterQualityEquipmentCode;
    //所属灯杆
    private String belongTo;
    //水质酸碱度pH
    private Double waterQualityPh;
    private String waterQualityPh;
    //水质溶解度DO(mg/L)
    private Double waterQualityDo;
    private String waterQualityDo;
    //水质电导率EC(10^(-6)S)
    private Double waterQualityEc;
    private String waterQualityEc;
    //水质浊度(NTU)
    private Double waterQualityNtu;
    private String waterQualityNtu;
    //上报时间
    private LocalDateTime updateTime;
    //创建时间
dao/src/main/java/com/sandu/ximon/dao/domain/WaterQualityEquipment.java
@@ -20,6 +20,4 @@
    private int equipmentState;
    //接入时间
    private LocalDateTime createTime;
    //所属人
    private Long userId;
}
dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java
ÎļþÒÑɾ³ý
dao/src/main/resources/mapper/WaterQualityDataMapper.xml
@@ -6,13 +6,12 @@
    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.WaterQualityData">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="equipmentId" column="equipment_id" jdbcType="BIGINT"/>
        <result property="waterQualityEquipmentCode" column="water_quality_equipment_code" jdbcType="VARCHAR"/>
        <result property="belongTo" column="belong_to" jdbcType="VARCHAR"/>
        <result property="waterQualityPh" column="water_quality_ph" jdbcType="DOUBLE"/>
        <result property="waterQualityDo" column="water_quality_do" jdbcType="DOUBLE"/>
        <result property="waterQualityEc" column="water_quality_ec" jdbcType="DOUBLE"/>
        <result property="waterQualityNtu" column="water_quality_ntu" jdbcType="DOUBLE"/>
        <result property="waterQualityPh" column="water_quality_ph" jdbcType="VARCHAR"/>
        <result property="waterQualityDo" column="water_quality_do" jdbcType="VARCHAR"/>
        <result property="waterQualityEc" column="water_quality_ec" jdbcType="VARCHAR"/>
        <result property="waterQualityNtu" column="water_quality_ntu" jdbcType="VARCHAR"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
    </resultMap>
dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml
@@ -10,7 +10,6 @@
        <result property="waterQualityEquipmentCode" column="water_quality_equipment_code" jdbcType="VARCHAR"/>
        <result property="equipmentState" column="equipment_state" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="userId" column="user_id" jdbcType="BIGINT"/>
    </resultMap>
</mapper>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -1,11 +1,12 @@
package com.sandu.ximon.admin.controller;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.MonitorParam;
import com.sandu.ximon.admin.service.MonitorService;
import com.sandu.ximon.dao.domain.Monitor;
import com.sandu.ximon.dao.domain.YSY_MonitorDto;
import com.sandu.ximon.admin.dto.YSY_MonitorDto;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@@ -78,8 +79,14 @@
            return ResponseUtil.success(addMonitorDto);
        } else if ("20017".equals(addMonitorDto.getCode())) {
            //已经被自己添加的摄像头需要添加到数据库
            getYSYMonitorInfoAndaddMonitorToTable(monitorParam);
            return ResponseUtil.error(20017, addMonitorDto.getMsg());
            boolean falg = getYSYMonitorInfoAndaddMonitorToTable(monitorParam);
            if (falg) {
                return ResponseUtil.success("添加摄像头成功!");
            } else {
                return ResponseUtil.fail("添加摄像头失败!");
            }
        } else {
            return ResponseUtil.fail(addMonitorDto.getMsg());
        }
@@ -124,7 +131,7 @@
     * @return
     */
    @GetMapping("/getYSYMonitorInfoAndaddMonitorToTable")
    public ResponseVO<Object> getYSYMonitorInfoAndaddMonitorToTable(@RequestBody MonitorParam monitorParam) {
    public boolean getYSYMonitorInfoAndaddMonitorToTable(@RequestBody MonitorParam monitorParam) {
        YSY_MonitorDto getMonitorDto = monitorService.getYSYMonitorInfo(monitorParam.getAccessToken(), monitorParam.getDeviceSerial());
        if ("200".equals(getMonitorDto.getCode())) {
@@ -137,26 +144,15 @@
            monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
            monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
            monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
            boolean flag = monitorService.addMonitorInfoToTable(monitor);
            if (flag) {
                return ResponseUtil.success("储存摄像头设备信息成功!");
            } else {
                return ResponseUtil.fail("储存摄像头设备信息失败!");
            }
            return monitorService.addMonitorInfoToTable(monitor);
        } else {
            return ResponseUtil.fail(getMonitorDto.getMsg());
            throw new BusinessException(getMonitorDto.getMsg());
        }
    }
    /**
     *     ç¼–辑摄像头设备信息
     */
    /**
     * èŽ·å–å•ä¸ªè®¾å¤‡ä¿¡æ¯   getYSYMonitorInfo
     * ç¼–辑摄像头设备信息
     */
    @PostMapping("/UpDateMonitorInfo")
    public ResponseVO<Object> UpDateMonitorInfo(@RequestBody MonitorParam monitorParam) {
@@ -176,4 +172,14 @@
        }
    }
    /**
     * ç¼–辑摄像头设备信息
     */
    @GetMapping("/getMonitorVideoUrl")
    public ResponseVO<Object> getMonitorVideoUrl(@RequestBody MonitorParam monitorParam) {
        String URL = monitorService.getMonitorVideoUrl(monitorParam.getAccessToken(), monitorParam.getDeviceSerial(), monitorParam.getProtocol());
        return ResponseUtil.success(URL);
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityDataController.java
@@ -2,13 +2,11 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.dto.WaterQualityDataDto;
import com.sandu.ximon.admin.service.WaterQualityDataService;
import com.sandu.ximon.dao.domain.WaterQualityData;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -38,4 +36,10 @@
        return ResponseUtil.successPage(list);
    }
    @PostMapping("/getWaterQualityDataInfo/{waterQualityEquipmentCode}")
    public ResponseVO<Object> getWaterQualityDataInfo(@PathVariable String waterQualityEquipmentCode) {
        WaterQualityDataDto waterQualityDataDto = waterQualityDataService.getWaterQualityDataInfo(waterQualityEquipmentCode);
        return ResponseUtil.success(waterQualityDataDto);
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityEquipmentController.java
@@ -2,6 +2,7 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.WaterQualityEquipmentParam;
import com.sandu.ximon.admin.service.WaterQualityEquipmentService;
import com.sandu.ximon.dao.domain.WaterQualityEquipment;
import lombok.AllArgsConstructor;
@@ -44,4 +45,15 @@
            return ResponseUtil.fail("操作失败");
        }
    }
    @PostMapping("/add")
    public ResponseVO<Object> addQualityEquipment(@RequestBody WaterQualityEquipment waterQualityEquipment) {
        boolean result = waterQualityEquipmentService.addWaterQualityEquipment(waterQualityEquipment);
        if (result) {
            return ResponseUtil.success(null);
        } else {
            return ResponseUtil.fail("操作失败");
        }
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/WaterQualityDataDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
package com.sandu.ximon.admin.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * @author ZZQ
 * @date 2021/12/22 17:05
 */
@Data
public class WaterQualityDataDto {
    private String code;
    private String msg;
    private String did;
    private List<WaterQualityBean> data;
    public class WaterQualityBean {
        private String unit;
        private String code;
        private String name;
        private String value;
        public String getUnit() {
            return unit;
        }
        public void setUnit(String unit) {
            this.unit = unit;
        }
        public String getCode() {
            return code;
        }
        public void setCode(String code) {
            this.code = code;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getValue() {
            return value;
        }
        public void setValue(String value) {
            this.value = value;
        }
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/YSY_AccessTokenDto.java
ÎļþÃû´Ó dao/src/main/java/com/sandu/ximon/dao/domain/YSY_AccessTokenDto.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.sandu.ximon.dao.domain;
package com.sandu.ximon.admin.dto;
import lombok.Data;
ximon-admin/src/main/java/com/sandu/ximon/admin/dto/YSY_MonitorDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
package com.sandu.ximon.admin.dto;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
/**
 * @author ZZQ
 * @date 2021/12/17 15:46
 */
@Data
public class YSY_MonitorDto {
    private String code;
    private String msg;
    private MonitorDto data;
    @NoArgsConstructor
    @Data
    public class MonitorDto {
        /**
         * è¤çŸ³äº‘摄像头相关参数开始
         */
        private String deviceSerial;
        private String deviceName;
        private String model;
        private Integer status;
        private Integer isEncrypt;
        private LocalDateTime updateTime;
        private String netAddress;
        public String getDeviceSerial() {
            return deviceSerial;
        }
        public void setDeviceSerial(String deviceSerial) {
            this.deviceSerial = deviceSerial;
        }
        public String getDeviceName() {
            return deviceName;
        }
        public void setDeviceName(String deviceName) {
            this.deviceName = deviceName;
        }
        public String getModel() {
            return model;
        }
        public void setModel(String model) {
            this.model = model;
        }
        public Integer getStatus() {
            return status;
        }
        public void setStatus(Integer status) {
            this.status = status;
        }
        public Integer getIsEncrypt() {
            return isEncrypt;
        }
        public void setIsEncrypt(Integer isEncrypt) {
            this.isEncrypt = isEncrypt;
        }
        public LocalDateTime getUpdateTime() {
            return updateTime;
        }
        public void setUpdateTime(LocalDateTime updateTime) {
            this.updateTime = updateTime;
        }
        public String getNetAddress() {
            return netAddress;
        }
        public void setNetAddress(String netAddress) {
            this.netAddress = netAddress;
        }
        /**
         * è¤çŸ³äº‘摄像头相关参数结束
         */
        /**
         * è¤çŸ³äº‘摄像头播放地址相关参数开始
         */
        private String id;
        private String url;
        private String expireTime;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getUrl() {
            return url;
        }
        public void setUrl(String url) {
            this.url = url;
        }
        public String getExpireTime() {
            return expireTime;
        }
        public void setExpireTime(String expireTime) {
            this.expireTime = expireTime;
        }
/**
         * è¤çŸ³äº‘摄像头播放地址相关参数结束
         */
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java
@@ -109,18 +109,28 @@
        String functionCode = frame.getPayload().substring(2, 4);
        if (A5C3ReportEnum.NETWORK_REQUEST.getCode().equals(functionCode)) {
            A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
            log.info("C3充电桩上报处理_netRequestFrame");
            log.info(netRequestFrame.toString());
        } else if (A5C3ReportEnum.QR_CODE_REQUEST.getCode().equals(functionCode)) {
            A5C3CommonReportInnerFrame codeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
            log.info("C3充电桩上报处理_codeRequestFrame");
            log.info(codeRequestFrame.toString());
        } else if (A5C3ReportEnum.HEART_BEAT.getCode().equals(functionCode)) {
            A5C3HeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5C3HeartbeatReportInnerFrame().transformFrame(frame.getPayload());
            log.info("C3充电桩上报处理_heartbeatReportInnerFrame");
            log.info(heartbeatReportInnerFrame.toString());
        } else if (A5C3ReportEnum.CHARGE_COMPLETE.getCode().equals(functionCode)) {
            A5C3CommonReportInnerFrame completeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
            log.info("C3充电桩上报处理_completeRequestFrame");
            log.info(completeRequestFrame.toString());
        } else if (A5C3ReportEnum.CHARGE_STOP.getCode().equals(functionCode)) {
            A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
            log.info("C3充电桩上报处理_stopRequestFrame");
            log.info(stopRequestFrame.toString());
        } else if (A5C3ReportEnum.ERROR_CODE.getCode().equals(functionCode)) {
            A5C3ErrorCodeReportInnerFrame errorCodeRequestFrame = new A5C3ErrorCodeReportInnerFrame().transformFrame(frame.getPayload());
            log.info("C3充电桩上报处理_errorCodeRequestFrame");
            log.info(errorCodeRequestFrame.toString());
        }
    }
ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java
@@ -28,4 +28,13 @@
    /**
     * ç»“束萤石云摄像头相关参数
     */
    /**
     * å¼€å§‹è¤çŸ³äº‘摄像头播放地址相关参数
     */
    //流播放协议,1-ezopen、2-hls、3-rtmp、4-flv,默认为1
    private int protocol;
    /**
     * ç»“束萤石云摄像头播放地址相关参数
     */
}
ximon-admin/src/main/java/com/sandu/ximon/admin/param/WaterQualityEquipmentParam.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package com.sandu.ximon.admin.param;
import lombok.Data;
/**
 * @author ZZQ
 * @date 2021/12/22 11:03
 */
@Data
public class WaterQualityEquipmentParam {
    private String waterQualityEquipmentCode;
    private int equipmentState;
    private String belongTo;
}
ximon-admin/src/main/java/com/sandu/ximon/admin/schedule/WaterQualityDataSchedule.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
package com.sandu.ximon.admin.schedule;
import com.sandu.ximon.admin.service.WaterQualityDataService;
import com.sandu.ximon.admin.service.WaterQualityEquipmentService;
import com.sandu.ximon.dao.domain.WaterQualityEquipment;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * @author ZZQ
 * @date 2021/12/23 14:45
 */
@Component
@Slf4j
@AllArgsConstructor
@EnableScheduling
public class WaterQualityDataSchedule {
    private WaterQualityEquipmentService waterQualityEquipmentService;
    private WaterQualityDataService waterQualityDataService;
    @Scheduled(cron = "0 0 0/1 * * ?")
    public void UserSubjectRefund() {
        List<WaterQualityEquipment> waterQualityEquipmentList = waterQualityEquipmentService.listWaterQualityEquipment();
        for (WaterQualityEquipment waterQualityEquipment : waterQualityEquipmentList) {
            waterQualityDataService.getWaterQualityDataInfo(waterQualityEquipment.getWaterQualityEquipmentCode());
        }
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -9,8 +9,8 @@
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.MonitorParam;
import com.sandu.ximon.dao.domain.Monitor;
import com.sandu.ximon.dao.domain.YSY_AccessTokenDto;
import com.sandu.ximon.dao.domain.YSY_MonitorDto;
import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
import com.sandu.ximon.admin.dto.YSY_MonitorDto;
import com.sandu.ximon.dao.mapper.MonitorMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -38,6 +38,8 @@
    private static final String DELETE_DEVICE_URL = "/device/delete";
    //获取萤石云单个设备信息
    private static final String GET_DEVICE_URL = "/device/info";
    //获取萤石云摄像头播放地址URL
    private static final String GET_VEDIO_URL = "/v2/live/address/get";
    /**
     * æŸ¥è¯¢å…¨éƒ¨æ‘„像头
@@ -173,6 +175,7 @@
        if (one == null) {
            return save(monitor);
        } else {
            monitor.setId(one.getId());
            return updateById(monitor);
        }
    }
@@ -200,5 +203,27 @@
        return updateById(monitor);
    }
    /**
     * è¿”回摄像头实时画面播放地址
     *
     * @param accessToken
     * @param deviceSerial
     * @return
     */
    public String getMonitorVideoUrl(String accessToken, String deviceSerial, int protocol) {
        Map<String, Object> paramMap = new HashMap<>();
        paramMap.put("accessToken", accessToken);
        paramMap.put("deviceSerial", deviceSerial);
        paramMap.put("protocol", protocol);
        String s = HttpUtil.post(YSY_URL + GET_VEDIO_URL, paramMap);
        System.out.println(s);
        YSY_MonitorDto monitor = JSON.parseObject(s, YSY_MonitorDto.class);
        if ("200".equals(monitor.getCode())) {
            return monitor.getData().getUrl();
        } else {
            throw new BusinessException(monitor.getMsg());
        }
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java
@@ -1,13 +1,14 @@
package com.sandu.ximon.admin.service;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.dto.WaterQualityDataDto;
import com.sandu.ximon.dao.domain.WaterQualityData;
import com.sandu.ximon.dao.domain.WaterQualityEquipment;
import com.sandu.ximon.dao.mapper.WaterQualityDataMapper;
import com.sandu.ximon.dao.mapper.WaterQualityEquipmentMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -16,6 +17,8 @@
@Service
@AllArgsConstructor
public class WaterQualityDataService extends BaseServiceImpl<WaterQualityDataMapper, WaterQualityData> {
    //水质参数获取网址,例如:"http://iot.ainongye.cn/json/设备编号.json"
    private final String WATER_QUALITY_DATA_URL = "http://iot.ainongye.cn/json/";
    /**
     * æŸ¥è¯¢å…¨éƒ¨æ°´è´¨è®¾å¤‡æ•°æ®
@@ -33,12 +36,50 @@
    public List<WaterQualityData> listWaterQualityDataByKeyword(String keyword) {
        LambdaQueryWrapper<WaterQualityData> wrapper = Wrappers.lambdaQuery(WaterQualityData.class);
        if(keyword != null){
            wrapper.like(WaterQualityData::getBelongTo,keyword);
        if (keyword != null) {
            wrapper.like(WaterQualityData::getBelongTo, keyword);
        }
        List<WaterQualityData> waterQualityDataList = list(wrapper);
        return waterQualityDataList;
    }
    /**
     * èŽ·å–æ°´è´¨æ•°æ®
     *
     * @param waterQualityEquipmentCode è®¾å¤‡ç¼–号
     */
    public WaterQualityDataDto getWaterQualityDataInfo(String waterQualityEquipmentCode) {
        WaterQualityDataDto waterQualityDataDto = null;
        try {
            String s = HttpUtil.get(WATER_QUALITY_DATA_URL + waterQualityEquipmentCode + ".json");
            System.out.println(s);
            waterQualityDataDto = JSON.parseObject(s, WaterQualityDataDto.class);
            WaterQualityData waterQualityData = new WaterQualityData();
            for (WaterQualityDataDto.WaterQualityBean bean : waterQualityDataDto.getData()) {
                switch (bean.getCode()) {
                    case "A211"://æ°´è´¨PH
                        waterQualityData.setWaterQualityPh(bean.getValue());
                        break;
                    case "A203"://水质溶解氧
                        waterQualityData.setWaterQualityDo(bean.getValue());
                        break;
                    case "A343"://浊度
                        waterQualityData.setWaterQualityNtu(bean.getValue());
                        break;
                    case "A209"://电导率
                        waterQualityData.setWaterQualityEc(bean.getValue());
                        break;
                    default:
                }
            }
            waterQualityData.setWaterQualityEquipmentCode(waterQualityDataDto.getDid());
            save(waterQualityData);
        } catch (Exception e) {
            e.printStackTrace();
            throw new BusinessException("水质设备号不正确");
        }
        return waterQualityDataDto;
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
@@ -4,7 +4,9 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.WaterQualityEquipmentParam;
import com.sandu.ximon.dao.domain.AirEquipment;
import com.sandu.ximon.dao.domain.Monitor;
import com.sandu.ximon.dao.domain.WaterQualityEquipment;
import com.sandu.ximon.dao.mapper.AirEquipmentMapper;
import com.sandu.ximon.dao.mapper.WaterQualityEquipmentMapper;
@@ -33,8 +35,8 @@
    public List<WaterQualityEquipment> listWaterQualityEquipmentByKeyword(String keyword) {
        LambdaQueryWrapper<WaterQualityEquipment> wrapper = Wrappers.lambdaQuery(WaterQualityEquipment.class);
        if(keyword != null){
            wrapper.like(WaterQualityEquipment::getBelongTo,keyword);
        if (keyword != null) {
            wrapper.like(WaterQualityEquipment::getBelongTo, keyword);
        }
        List<WaterQualityEquipment> airDataList = list(wrapper);
        return airDataList;
@@ -53,4 +55,25 @@
        }
        return removeById(Id);
    }
    /**
     * æ·»åŠ æ°´è´¨è®¾å¤‡
     *
     * @param waterQualityEquipment
     * @return
     */
    public boolean addWaterQualityEquipment(WaterQualityEquipment waterQualityEquipment) {
        if (waterQualityEquipment.getWaterQualityEquipmentCode() == null) {
            throw new BusinessException("缺少水质设备号参数");
        }
        WaterQualityEquipment one = getOne(Wrappers.lambdaQuery(WaterQualityEquipment.class).eq(WaterQualityEquipment::getWaterQualityEquipmentCode,
                waterQualityEquipment.getWaterQualityEquipmentCode()));
        if (one == null) {
            return save(waterQualityEquipment);
        } else {
            waterQualityEquipment.setId(one.getId());
            return updateById(waterQualityEquipment);
        }
    }
}