|
@@ -1,11 +1,24 @@
|
|
|
package com.huimv.env.common.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.huimv.env.common.dao.entity.EnvDeviceRegisterEntity;
|
|
|
+import com.huimv.env.common.dao.entity.EnvSensorRegisterEntity;
|
|
|
+import com.huimv.env.common.dao.repo.EnvDeviceRegisterEntityRepo;
|
|
|
+import com.huimv.env.common.entity.BaseThreshold;
|
|
|
import com.huimv.env.common.entity.EnvPushMessage;
|
|
|
+import com.huimv.env.common.mapper.BaseThresholdMapper;
|
|
|
import com.huimv.env.common.mapper.EnvPushMessageMapper;
|
|
|
import com.huimv.env.common.service.IEnvPushMessageService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.huimv.env.common.service.IPigpenService;
|
|
|
+import com.huimv.env.common.utils.MathUtil2;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.Example;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.sql.Timestamp;
|
|
|
|
|
|
/**
|
|
@@ -19,8 +32,49 @@ import java.sql.Timestamp;
|
|
|
@Service
|
|
|
public class EnvPushMessageServiceImpl extends ServiceImpl<EnvPushMessageMapper, EnvPushMessage> implements IEnvPushMessageService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BaseThresholdMapper baseThresholdMapper;
|
|
|
+ @Autowired
|
|
|
+ private EnvDeviceRegisterEntityRepo envDeviceRegisterEntityRepo;
|
|
|
+ @Autowired
|
|
|
+ private IPigpenService pigpenService;
|
|
|
+ @Autowired
|
|
|
+ private MathUtil2 mathUtil;
|
|
|
@Override
|
|
|
- public void saveHumi(String deviceCode, Timestamp nowTimestamp, String humi, String farmCode) {
|
|
|
+ public void saveHumi(String deviceCode, Timestamp nowTimestamp, JSONObject dataJo, String farmCode) {
|
|
|
+ BaseThreshold baseThreshold = baseThresholdMapper.selectOne(new QueryWrapper<BaseThreshold>().eq("farm_code", farmCode));
|
|
|
+ System.out.println("湿度farm--->"+farmCode);
|
|
|
+ if (ObjectUtil.isNotEmpty(baseThreshold)){
|
|
|
+ BigDecimal minHumi = baseThreshold.getMinHumi();
|
|
|
+ BigDecimal maxHumi = baseThreshold.getMaxHumi();
|
|
|
+ BigDecimal value = BigDecimal.valueOf(mathUtil.countHumi(dataJo.getIntValue("value")));
|
|
|
+ System.out.println("当前湿度---> " +value);
|
|
|
|
|
|
+ if (value.doubleValue() > maxHumi.doubleValue()){
|
|
|
+ String pigpenName = pigpenService.getPigpenByDevice(deviceCode);
|
|
|
+ System.out.println("高湿度---> " +maxHumi.doubleValue());
|
|
|
+ EnvPushMessage envPushMessage = new EnvPushMessage();
|
|
|
+ envPushMessage.setActType(1);
|
|
|
+ envPushMessage.setAddDate(nowTimestamp);
|
|
|
+ envPushMessage.setAddTime(nowTimestamp);
|
|
|
+ envPushMessage.setContent( "["+pigpenName+"]的设备提示:湿度当前为"+value+",高于阈值"+maxHumi);
|
|
|
+ envPushMessage.setDeviceCode(deviceCode);
|
|
|
+ envPushMessage.setFarmCode(farmCode);
|
|
|
+ this.save(envPushMessage);
|
|
|
+ }
|
|
|
+ if (value.doubleValue() < minHumi.doubleValue()){
|
|
|
+ String pigpenName = pigpenService.getPigpenByDevice(deviceCode);
|
|
|
+ System.out.println("低湿度---> " +minHumi.doubleValue());
|
|
|
+ EnvPushMessage envPushMessage = new EnvPushMessage();
|
|
|
+ envPushMessage.setActType(1);
|
|
|
+ envPushMessage.setAddDate(nowTimestamp);
|
|
|
+ envPushMessage.setAddTime(nowTimestamp);
|
|
|
+ envPushMessage.setContent( "["+pigpenName+"]的设备提示:湿度当前为"+value+",低于阈值"+minHumi);
|
|
|
+ envPushMessage.setDeviceCode(deviceCode);
|
|
|
+ envPushMessage.setFarmCode(farmCode);
|
|
|
+ this.save(envPushMessage);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|