|
@ -30,6 +30,7 @@ import com.example.modular.toilet.service.IToiletService; |
|
|
import com.example.util.ToiletCodeUtil; |
|
|
import com.example.util.ToiletCodeUtil; |
|
|
import com.haidapu.core.common.msg.R; |
|
|
import com.haidapu.core.common.msg.R; |
|
|
import lombok.SneakyThrows; |
|
|
import lombok.SneakyThrows; |
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
@ -44,6 +45,7 @@ import java.util.HashMap; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
|
|
@Slf4j |
|
|
@Service |
|
|
@Service |
|
|
public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
|
|
|
|
|
@ -378,11 +380,18 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
@Override |
|
|
@Override |
|
|
public R pushToiletAir(ToiletAirDataVO toiletAirDataVO) { |
|
|
public R pushToiletAir(ToiletAirDataVO toiletAirDataVO) { |
|
|
//校验参数是否正确 |
|
|
//校验参数是否正确 |
|
|
|
|
|
log.info("入参:" + JSON.toJSONString(toiletAirDataVO)); |
|
|
if (toiletAirDataVO == null || StringUtils.isBlank(toiletAirDataVO.getToiletCode()) || toiletAirDataVO.getTemperature() == null |
|
|
if (toiletAirDataVO == null || StringUtils.isBlank(toiletAirDataVO.getToiletCode()) || toiletAirDataVO.getTemperature() == null |
|
|
|| toiletAirDataVO.getHumidity() == null || toiletAirDataVO.getToiletNearType() == null || toiletAirDataVO.getAmmonia() == null |
|
|
|| toiletAirDataVO.getHumidity() == null || toiletAirDataVO.getToiletNearType() == null || toiletAirDataVO.getAmmonia() == null |
|
|
|| toiletAirDataVO.getHudrogenSulfide() == null || StringUtils.isBlank(toiletAirDataVO.getCreateTime())) { |
|
|
|| toiletAirDataVO.getHudrogenSulfide() == null || StringUtils.isBlank(toiletAirDataVO.getCreateTime())) { |
|
|
return R.error(201,"参数缺失!"); |
|
|
return R.error(201,"参数缺失!"); |
|
|
} |
|
|
} |
|
|
|
|
|
if (toiletAirDataVO.getTemperature() >= 60) { |
|
|
|
|
|
return R.error(201,"温度数据不正常!"); |
|
|
|
|
|
} |
|
|
|
|
|
if (toiletAirDataVO.getHumidity() >= 100) { |
|
|
|
|
|
return R.error(201,"湿度数据不正常!"); |
|
|
|
|
|
} |
|
|
//根据公厕编码查询公厕信息 |
|
|
//根据公厕编码查询公厕信息 |
|
|
QueryWrapper<Toilet> toiletQueryWrapper = new QueryWrapper<>(); |
|
|
QueryWrapper<Toilet> toiletQueryWrapper = new QueryWrapper<>(); |
|
|
toiletQueryWrapper.eq("toilet_code",toiletAirDataVO.getToiletCode()); |
|
|
toiletQueryWrapper.eq("toilet_code",toiletAirDataVO.getToiletCode()); |
|
@ -406,6 +415,8 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
toiletAirIndexAverageQueryWrapper.le("create_time",endTime); |
|
|
toiletAirIndexAverageQueryWrapper.le("create_time",endTime); |
|
|
List<ToiletAirIndexAverage> toiletAirIndexAverageList = toiletAirIndexAverageService.list(toiletAirIndexAverageQueryWrapper); |
|
|
List<ToiletAirIndexAverage> toiletAirIndexAverageList = toiletAirIndexAverageService.list(toiletAirIndexAverageQueryWrapper); |
|
|
if (CollectionUtils.isEmpty(toiletAirIndexAverageList)) { |
|
|
if (CollectionUtils.isEmpty(toiletAirIndexAverageList)) { |
|
|
|
|
|
|
|
|
|
|
|
log.info("空气数据新增流程!" ); |
|
|
ToiletAirIndexAverage toiletAirIndexAverage = new ToiletAirIndexAverage(); |
|
|
ToiletAirIndexAverage toiletAirIndexAverage = new ToiletAirIndexAverage(); |
|
|
toiletAirIndexAverage.setToiletId(toiletId); |
|
|
toiletAirIndexAverage.setToiletId(toiletId); |
|
|
toiletAirIndexAverage.setToiletNearType(toiletAirDataVO.getToiletNearType()); |
|
|
toiletAirIndexAverage.setToiletNearType(toiletAirDataVO.getToiletNearType()); |
|
@ -417,9 +428,11 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
toiletAirIndexAverage.setCreateTime(createTimeDate); |
|
|
toiletAirIndexAverage.setCreateTime(createTimeDate); |
|
|
toiletAirIndexAverage.setUpdateTime(createTimeDate); |
|
|
toiletAirIndexAverage.setUpdateTime(createTimeDate); |
|
|
toiletAirIndexAverageService.save(toiletAirIndexAverage); |
|
|
toiletAirIndexAverageService.save(toiletAirIndexAverage); |
|
|
|
|
|
log.info("空气数据新增流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); |
|
|
overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); |
|
|
overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); |
|
|
return R.ok(); |
|
|
return R.ok(); |
|
|
} |
|
|
} |
|
|
|
|
|
log.info("空气数据修改流程!" ); |
|
|
ToiletAirIndexAverage toiletAirIndexAverage = toiletAirIndexAverageList.get(0); |
|
|
ToiletAirIndexAverage toiletAirIndexAverage = toiletAirIndexAverageList.get(0); |
|
|
toiletAirIndexAverage.setTemperatureAverage((toiletAirDataVO.getTemperature() + toiletAirIndexAverage.getTemperatureAverage())/2); |
|
|
toiletAirIndexAverage.setTemperatureAverage((toiletAirDataVO.getTemperature() + toiletAirIndexAverage.getTemperatureAverage())/2); |
|
|
toiletAirIndexAverage.setHumidityAverage((toiletAirDataVO.getHumidity() + toiletAirIndexAverage.getHumidityAverage())/2); |
|
|
toiletAirIndexAverage.setHumidityAverage((toiletAirDataVO.getHumidity() + toiletAirIndexAverage.getHumidityAverage())/2); |
|
@ -428,7 +441,9 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
toiletAirIndexAverage.setHudrogenSulfideAverage((toiletAirDataVO.getHudrogenSulfide() + toiletAirIndexAverage.getHudrogenSulfideAverage())/2); |
|
|
toiletAirIndexAverage.setHudrogenSulfideAverage((toiletAirDataVO.getHudrogenSulfide() + toiletAirIndexAverage.getHudrogenSulfideAverage())/2); |
|
|
toiletAirIndexAverage.setUpdateTime(new Date()); |
|
|
toiletAirIndexAverage.setUpdateTime(new Date()); |
|
|
toiletAirIndexAverageService.updateById(toiletAirIndexAverage); |
|
|
toiletAirIndexAverageService.updateById(toiletAirIndexAverage); |
|
|
|
|
|
log.info("空气数据修改流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); |
|
|
overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); |
|
|
overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); |
|
|
|
|
|
log.info("空气数据推送结束!" ); |
|
|
return R.ok(); |
|
|
return R.ok(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -442,6 +457,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
private void overStandardValueAir (ToiletAirDataVO toiletAirDataVO,Long toiletId,Date createTimeDate,Integer toiletLevel) { |
|
|
private void overStandardValueAir (ToiletAirDataVO toiletAirDataVO,Long toiletId,Date createTimeDate,Integer toiletLevel) { |
|
|
//标准值走sysConfig表配置 TODO |
|
|
//标准值走sysConfig表配置 TODO |
|
|
//根据key获取配置的空气阀值 |
|
|
//根据key获取配置的空气阀值 |
|
|
|
|
|
log.info("空气超标流程进入:" + JSON.toJSONString(toiletAirDataVO)); |
|
|
QueryWrapper<SysConfig> sysConfigQueryWrapper = new QueryWrapper<>(); |
|
|
QueryWrapper<SysConfig> sysConfigQueryWrapper = new QueryWrapper<>(); |
|
|
sysConfigQueryWrapper.eq("PARAM_KEY",Constant.AIR_QUALITY_STANDARD_KEY); |
|
|
sysConfigQueryWrapper.eq("PARAM_KEY",Constant.AIR_QUALITY_STANDARD_KEY); |
|
|
sysConfigQueryWrapper.eq("STATUS",Constant.CONFIG_STATUS_OPEN); |
|
|
sysConfigQueryWrapper.eq("STATUS",Constant.CONFIG_STATUS_OPEN); |
|
@ -478,6 +494,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { |
|
|
toiletAirExceedIndex.setUpdateTime(createTimeDate); |
|
|
toiletAirExceedIndex.setUpdateTime(createTimeDate); |
|
|
toiletAirExceedIndexService.save(toiletAirExceedIndex); |
|
|
toiletAirExceedIndexService.save(toiletAirExceedIndex); |
|
|
} |
|
|
} |
|
|
|
|
|
log.info("空气超标流程结束!" ); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@SneakyThrows |
|
|
@SneakyThrows |
|
|