12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package com.huimv.guowei.admin.timer;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.huimv.guowei.admin.entity.EnvDevice;
- import com.huimv.guowei.admin.entity.EnvDeviceOnline;
- import com.huimv.guowei.admin.service.IBaseDuckInfoService;
- import com.huimv.guowei.admin.service.IEnvDeviceOnlineService;
- import com.huimv.guowei.admin.service.IEnvDeviceService;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.scheduling.annotation.EnableScheduling;
- import org.springframework.scheduling.annotation.Scheduled;
- import javax.annotation.Resource;
- import java.math.BigDecimal;
- import java.math.RoundingMode;
- import java.time.LocalDateTime;
- import java.util.Date;
- @Configuration
- @EnableScheduling
- public class DeviceTimer {
- @Resource
- private IEnvDeviceService envDeviceService;
- @Resource
- private IEnvDeviceOnlineService envDeviceOnlineService;
- @Resource
- private IBaseDuckInfoService baseDuckInfoService;
- @Scheduled(cron = "0 */5 * * * ?")
- // @Scheduled(cron = "*/5 * * * * ?")
- private void saveOnlineDevice(){
- String farmId = "21";
- double rate = 0.0;
- Double deviceOff = (double) envDeviceService.count(new QueryWrapper<EnvDevice>().eq("farm_id", farmId).eq("device_status", 0));
- Double deviceOn = (double) envDeviceService.count(new QueryWrapper<EnvDevice>().eq("farm_id", farmId).eq("device_status", 1));
- Double total = deviceOff+deviceOn;
- try {
- rate = (deviceOn/total)*100;
- }catch (ArithmeticException e){
- System.out.println(e);
- }
- EnvDeviceOnline envDeviceOnline = new EnvDeviceOnline();
- envDeviceOnline.setDeviceOn(deviceOn.intValue());
- envDeviceOnline.setDeviceOff(deviceOff.intValue());
- envDeviceOnline.setOnlineRate(new BigDecimal(rate).setScale(2, RoundingMode.UP));
- envDeviceOnline.setFarmId(farmId);
- envDeviceOnline.setCreatTime(new Date());
- envDeviceOnlineService.save(envDeviceOnline);
- }
- @Scheduled(cron = "0 0 23 * * ?")
- // @Scheduled(cron = "0 * * * * ?")
- private void setDayAge(){
- System.out.println("--->更新日龄");
- baseDuckInfoService.updateDayAge();
- System.out.println("--->更新成功");
- }
- }
|