From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java |   91 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 71 insertions(+), 20 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java
index bc89092..27b8319 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityDataService.java
@@ -1,13 +1,17 @@
 package com.sandu.ximon.admin.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+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.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,29 +20,76 @@
 @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/";
 
-    /**
-     * 鏌ヨ鍏ㄩ儴姘磋川璁惧鏁版嵁
-     */
-    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;
     }
 
+    /**
+     * 鑾峰彇姘磋川鏁版嵁
+     *
+     * @param waterQualityEquipmentCode 璁惧缂栧彿
+     */
+    public WaterQualityDataDto getWaterQualityDataInfo(String waterQualityEquipmentCode) {
+        WaterQualityDataDto waterQualityDataDto = null;
+        try {
+            String s = HttpUtil.get(WATER_QUALITY_DATA_URL + waterQualityEquipmentCode + ".json");
+            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("姘磋川鏁版嵁涓嶆纭紒");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("姘磋川璁惧鍙蜂笉姝g‘");
+//            throw new BusinessException("姘磋川璁惧鍙蜂笉姝g‘");
+        }
 
+        return waterQualityDataDto;
+    }
 }

--
Gitblit v1.9.3