2021与蓝度共同重构项目,服务端
liuhaonan
2022-10-25 350608105f300c6c629d743dc9896feca2f22e8d
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java
@@ -1,11 +1,15 @@
package com.sandu.ximon.admin.service;
import cn.hutool.core.collection.CollUtil;
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.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.dto.WaterQualityDataDto;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.dao.bo.WaterQualityDataBo;
import com.sandu.ximon.dao.domain.WaterQualityData;
import com.sandu.ximon.dao.mapper.WaterQualityDataMapper;
import lombok.AllArgsConstructor;
@@ -19,27 +23,24 @@
    //水质参数获取网址,例如:"http://iot.ainongye.cn/json/设备编号.json"
    private final String WATER_QUALITY_DATA_URL = "http://iot.ainongye.cn/json/";
    /**
     * 查询全部水质设备数据
     */
    public List<WaterQualityData> listWaterQualityData() {
        LambdaQueryWrapper<WaterQualityData> wrapper = Wrappers.lambdaQuery(WaterQualityData.class);
        List<WaterQualityData> list = list(wrapper);
        return list;
    }
    private WaterQualityDataMapper waterQualityDataMapper;
    /**
     * 模糊查询
     */
    public List<WaterQualityData> listWaterQualityDataByKeyword(String keyword) {
        LambdaQueryWrapper<WaterQualityData> wrapper = Wrappers.lambdaQuery(WaterQualityData.class);
        if (keyword != null) {
            wrapper.like(WaterQualityData::getBelongTo, keyword);
    public List<WaterQualityDataBo> listWaterQualityDataByKeyword(BaseConditionVO baseConditionVO, String keyword) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<Long> waterQualityDataId;
        if (SecurityUtils.getClientId() == null) {
            waterQualityDataId = waterQualityDataMapper.listWaterQualityDataId(keyword, null);
        } else {
            waterQualityDataId = waterQualityDataMapper.listWaterQualityDataId(keyword, SecurityUtils.getUserId());
        }
        List<WaterQualityData> waterQualityDataList = list(wrapper);
        return waterQualityDataList;
        if (CollUtil.isEmpty(waterQualityDataId)) {
            return CollUtil.newArrayList();
        }
        List<WaterQualityDataBo> airEquipmentBos = waterQualityDataMapper.listWaterQualityDataByIds(waterQualityDataId);
        return airEquipmentBos;
    }
    /**
@@ -51,31 +52,42 @@
        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:
            if (s.startsWith("{") && s.endsWith("}")) {
                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());
                //设置水质设备状态
                if (waterQualityDataDto != null) {
                    waterQualityDataDto.setState(1);
                } else {
                    waterQualityDataDto.setState(0);
                }
                save(waterQualityData);
            } else {
                System.out.println("水质数据不正确!");
            }
            waterQualityData.setWaterQualityEquipmentCode(waterQualityDataDto.getDid());
            save(waterQualityData);
        } catch (Exception e) {
            e.printStackTrace();
            log.error("水质设备号不正确");
//            throw new BusinessException("水质设备号不正确");
        }
        return waterQualityDataDto;