Explorar o código

优化查询接口

523096025 %!s(int64=2) %!d(string=hai) anos
pai
achega
55b77ebfb5

+ 6 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvDeviceRegisterController.java

@@ -32,6 +32,12 @@ public class EnvDeviceRegisterController {
     private IEnvDeviceEquipmentService deviceEquipmentService;
 
 
+
+    @PostMapping("/updateAllByUnitId")
+    public Result updateAllByUnitId(@RequestBody Map<String,Integer> paramMap){
+        return  deviceRegisterService.updateAllByUnitId(paramMap);
+
+    }
     @PostMapping("/registerList")
     public Result registerList(@RequestBody Map<String,String> paramMap){
         return  deviceRegisterService.registerList(paramMap);

+ 19 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/entity/dto/AllDataDto.java

@@ -0,0 +1,19 @@
+package com.huimv.env.manage.entity.dto;
+
+import lombok.Data;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.env.manage.entity.dto
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2022/11/1 0001 10:43
+ **/
+@Data
+public class AllDataDto {
+    private String temp;
+    private String envHumi;
+    private String envPh;
+    private String envElectricityMeter;
+    private String envWaterMeter;
+}

+ 4 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/mapper/EnvDeviceRegisterMapper.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.env.manage.entity.EnvDeviceRegister;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.env.manage.entity.dto.AllDataDto;
 import com.huimv.env.manage.entity.dto.EnvDeviceRegisterDto;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -20,4 +22,6 @@ import java.util.List;
 public interface EnvDeviceRegisterMapper extends BaseMapper<EnvDeviceRegister> {
 
     Page<EnvDeviceRegisterDto> registerList(IPage<EnvDeviceRegisterDto> envDeviceRegisterPage, @Param("farmCode")String farmCdoe);
+
+    AllDataDto selectAllData(@Param("deviceCode")String deviceCode,@Param("beginOfDay") Date beginOfDay);
 }

+ 11 - 2
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/saas/service/impl/BaseDeviceCofigServiceImpl.java

@@ -1,11 +1,13 @@
 package com.huimv.env.manage.saas.service.impl;
 
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.env.manage.entity.EnvDeviceRegister;
 import com.huimv.env.manage.entity.EnvHumi;
 import com.huimv.env.manage.entity.EnvTemp;
+import com.huimv.env.manage.entity.dto.AllDataDto;
 import com.huimv.env.manage.mapper.*;
 import com.huimv.env.manage.saas.dao.entity.BaseDeviceCofig;
 import com.huimv.env.manage.saas.dao.entity.EnvElectricityMeter;
@@ -62,13 +64,20 @@ public class BaseDeviceCofigServiceImpl extends ServiceImpl<BaseDeviceCofigMappe
             return new Result(10001,"未绑定设备",true);
         }
         String deviceCode = deviceRegister.getDeviceCode();
-        Map endMap = new HashMap();
+        Date beginOfDay = DateUtil.endOfDay(new Date());
+        AllDataDto dataDto = envDeviceRegisterMapper.selectAllData(deviceCode,beginOfDay);
+        return new Result(ResultCode.SUCCESS,dataDto);
+
+       /* Map endMap = new HashMap();
         endMap.put("temp",0);
         endMap.put("envHumi",0);
         endMap.put("envPh",0);
         endMap.put("envElectricityMeter",0);
         endMap.put("envWaterMeter",0);
 
+
+
+
         EnvTemp temp = tempMapper.selectOne(new QueryWrapper<EnvTemp>().eq("device_code",deviceCode ).orderByDesc("id").last("limit 1"));
         EnvHumi envHumi = envHumiMapper.selectOne(new QueryWrapper<EnvHumi>().eq("device_code", deviceCode).orderByDesc("id").last("limit 1"));
         EnvPh envPh = envPhMapper.selectOne(new QueryWrapper<EnvPh>().eq("device_code", deviceCode).orderByDesc("id").last("limit 1"));
@@ -90,6 +99,6 @@ public class BaseDeviceCofigServiceImpl extends ServiceImpl<BaseDeviceCofigMappe
         if (ObjectUtil.isNotEmpty(envElectricityMeter)){
             endMap.put("envElectricityMeter",envElectricityMeter);
         }
-        return new Result(ResultCode.SUCCESS,endMap);
+        return new Result(ResultCode.SUCCESS,endMap);*/
     }
 }

+ 2 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/IEnvDeviceRegisterService.java

@@ -28,4 +28,6 @@ public interface IEnvDeviceRegisterService extends IService<EnvDeviceRegister> {
     Result lsitAllDeivce(Map<String, String> map, HttpServletRequest request);
 
     Result bindingBaseDeviceCofig(Map<String, String> map, HttpServletRequest request);
+
+    Result updateAllByUnitId(Map<String, Integer> paramMap);
 }

+ 10 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvDeviceRegisterServiceImpl.java

@@ -195,4 +195,14 @@ public class EnvDeviceRegisterServiceImpl extends ServiceImpl<EnvDeviceRegisterM
         envDeviceEquipmentMapper.update(envDeviceEquipment,new UpdateWrapper<EnvDeviceEquipment>().eq("device_code",deviceCode));
         return new Result(10000,"绑定成功",true);
     }
+
+    @Override
+    public Result updateAllByUnitId(Map<String, Integer> paramMap) {
+        Integer unitId = paramMap.get("unitId");
+        Integer uploadStart = paramMap.get("uploadStart");
+        EnvDeviceEquipment envDeviceEquipment = new EnvDeviceEquipment();
+        envDeviceEquipment.setUploadStart(uploadStart);
+        envDeviceEquipmentMapper.update(envDeviceEquipment,new QueryWrapper<EnvDeviceEquipment>().eq("unit_id",unitId));
+        return new Result(10000,"修改成功",true);
+    }
 }

+ 8 - 0
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvDeviceRegisterMapper.xml

@@ -39,5 +39,13 @@
 LEFT JOIN    base_pigpen bp ON bp.id = edr.pigpen_id
         WHERE edr.farm_code =#{farmCode}
     </select>
+    <select id="selectAllData" resultType="com.huimv.env.manage.entity.dto.AllDataDto">
+       SELECT  ifnull((SELECT temp.temp FROM `env_temp`  temp WHERE device_code = #{deviceCode} ORDER BY id DESC LIMIT 1), "0.0")temp,
+	ifnull( (SELECT humi.humi FROM  `env_humi` humi WHERE device_code = #{deviceCode}  ORDER BY id DESC LIMIT 1) , "0.0")  envHumi ,
+	 ifnull((SELECT ph.ph FROM  `env_ph` ph WHERE device_code = #{deviceCode}  ORDER BY id DESC LIMIT 1) , "0.0")  envPh ,
+	ifnull((SELECT SUM(ewm.water_meter) FROM  `env_water_meter` ewm  WHERE device_code = #{deviceCode}   AND add_time &gt;=  #{beginOfDay} ) , "0.0")  envElectricityMeter ,
+	 ifnull((SELECT SUM(eem.electricity_meter) FROM   `env_electricity_meter`  eem  WHERE device_code = #{deviceCode}   AND add_time  &gt;=  #{beginOfDay}  ), "0.0")  envWaterMeter
+
+    </select>
 
 </mapper>