123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723 |
- package com.huimv.produce.timer;
- import cn.hutool.core.util.ObjectUtil;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.huimv.common.utils.DataUill;
- import com.huimv.produce.entity.*;
- import com.huimv.produce.service.*;
- import com.huimv.produce.sgd.Global;
- import com.huimv.produce.sgd.entity.Item;
- import com.huimv.produce.sgd.entity.Monitory;
- import com.huimv.produce.sgd.entity.MonitoryGetArgs;
- import com.huimv.produce.sgd.entity.MonitoryValue;
- import com.huimv.produce.sgd.fbox.ConsoleLoggerFactory;
- import com.huimv.produce.sgd.fbox.ServerCaller;
- import com.huimv.produce.sgd.fbox.StaticCredentialProvider;
- import com.huimv.produce.sgd.fbox.TokenManager;
- import com.huimv.produce.sgd.fbox.models.BoxGroup;
- import com.huimv.produce.sgd.fbox.models.BoxReg;
- import com.zhenzi.sms.ZhenziSmsClient;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.io.IOException;
- import java.text.DecimalFormat;
- import java.util.*;
- @Component
- public class SgdTimer {
- private static final long SLEEP_TIME = 1000;
- @Autowired
- private IBaseBoxService baseBoxService;
- @Autowired
- private IBaseRoomService baseRoomService;
- @Autowired
- private ISysHumidityService humidityService;
- @Autowired
- private ISysTemperatureService temperatureService;
- @Autowired
- private ISysDayWaterService dayWaterService;
- @Autowired
- private ISysMonthWaterService monthWaterService;
- @Autowired
- private ISysFodderService fodderService;
- @Autowired
- private ISysWarningSetService warningSetService;
- @Autowired
- private IBaseWarningInfoService warningInfoService;
- @Autowired
- private ISysWarningPhoneService warningPhoneService;
- //阈值
- @Autowired
- private ISysThresholdService thresholdService;
- private Integer hyFarmId = 1;
- /* //更新盒子,房间信息
- @Scheduled(cron = "0 0 0 1/7 * ?")
- // @Scheduled(cron = "0 0/6 * * * ?")
- private void updateBox(){
- ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
- // 指定连接服务器的凭据参数
- TokenManager tokenManager = new TokenManager(new StaticCredentialProvider(Global.clientId, Global.clientSecret, Global.username, Global.password), Global.idServerUrl, loggerFactory);
- ServerCaller appServer = new ServerCaller(tokenManager, Global.appServerApiUrl, Global.signalrClientId, loggerFactory);
- ServerCaller apiBaseServer = new ServerCaller(tokenManager, Global.apiBaserUrl, Global.signalrClientId, loggerFactory);
- Global.appServer = appServer;
- Global.apiBaseServer = apiBaseServer;
- try {
- BoxGroup[] boxGroups = appServer.executeGet("api/client/box/grouped", BoxGroup[].class);
- List<BaseBox> boxs = new ArrayList<>();
- List<BaseRoom> rooms = new ArrayList<>();
- for (BoxGroup group : boxGroups) {
- //盒子
- for (BoxReg boxReg : group.boxRegs) {
- String alias = boxReg.alias;
- if (alias.endsWith("层环控系统")) {
- if (alias.startsWith("海盐青莲1号楼")){
- boxs.add( new BaseBox(boxReg.boxUid,alias,1));
- }
- if (alias.startsWith("海盐青莲2号楼")){
- boxs.add( new BaseBox(boxReg.boxUid,alias,2));
- }
- if (alias.startsWith("海盐青莲3号楼")){
- boxs.add( new BaseBox(boxReg.boxUid,alias,3));
- }
- for (int i= 1 ;i <= 6 ;i++){
- BaseRoom baseRoom = new BaseRoom();
- baseRoom.setBoxId(boxReg.boxUid);
- baseRoom.setRoomName("房舍"+i);
- baseRoom.setAlias(alias.substring(4,9));
- rooms.add(baseRoom);
- }
- }
- }
- }
- baseBoxService.remove(null);
- baseBoxService.saveBatch(boxs);
- baseRoomService.remove(null);
- baseRoomService.saveBatch(rooms);
- System.out.println("更新房舍信息,更新时间------------->"+ new Date());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }*/
- //更新环境数据
- @Scheduled(cron = "0 0/30 * * * ?")
- // @Scheduled(cron = "0 * * * * ?")
- private void updateEnv(){
- ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
- // 指定连接服务器的凭据参数
- TokenManager tokenManager = new TokenManager(new StaticCredentialProvider(Global.clientId, Global.clientSecret, Global.username, Global.password), Global.idServerUrl, loggerFactory);
- ServerCaller apiBaseServer = new ServerCaller(tokenManager, Global.apiBaserUrl, Global.signalrClientId, loggerFactory);
- Global.apiBaseServer = apiBaseServer;
- DecimalFormat df = new DecimalFormat("#.00");
- SysThreshold byId = thresholdService.getById(hyFarmId);
- String maxHum = byId.getMaxHum();
- String minHum = byId.getMinHum();
- String maxTem = byId.getMaxTem();
- String minTem = byId.getMinTem();
- try {
- List<BaseBox> boxes = baseBoxService.list();
- for (BaseBox box : boxes) {
- String uid = box.getUid();
- Monitory[] monitories = apiBaseServer.executeGet("/v2/box/" + uid + "/dmon/grouped", Monitory[].class);
- List names = new ArrayList();
- for (Monitory monitory : monitories) {
- for (Item item : monitory.items) {
- String name = item.name;
- if (monitory.name.contains("每个房间") && name != null&& name.startsWith("房舍")) {
- if (name.contains("平均温度") || name.contains("湿度")) {
- names.add(name);
- }
- }
- }
- }
- if (ObjectUtil.isNotEmpty(names)) {
- MonitoryValue[] monitoryValues = apiBaseServer.executePost("/v2/box/" +uid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
- List<SysTemperature> temList = new ArrayList();
- List<SysHumidity> humList = new ArrayList<>();
- for (MonitoryValue monitoryValue : monitoryValues) {
- if (ObjectUtil.isEmpty(monitoryValue)){
- continue;
- }
- String name = monitoryValue.getName();
- String[] split = name.split("-");
- BaseRoom room = baseRoomService.getOne(new QueryWrapper<BaseRoom>().eq("room_name", split[0]).eq("box_id", uid));
- Integer roomId = room.getId();
- if (split[1].contains("温度")){
- SysTemperature sysTemperature = new SysTemperature();
- if (ObjectUtil.isNotEmpty(monitoryValue.getValue())){
- Double value = (Double)monitoryValue.getValue() * 0.1;
- sysTemperature.setId(monitoryValue.getId());
- sysTemperature.setFarmId(hyFarmId);
- sysTemperature.setRoomId(roomId);
- if (value != 0.0){
- sysTemperature.setValue(Double.parseDouble(df.format(value)));
- }else {
- sysTemperature.setValue(value);
- }
- sysTemperature.setCreateTime(monitoryValue.getTimestamp());
- temList.add(sysTemperature);
- }
- }
- if (split[1].contains("湿度")){
- SysHumidity humidity = new SysHumidity();
- Double value = (Double)monitoryValue.getValue() ;
- humidity.setId(monitoryValue.getId());
- humidity.setRoomId(roomId);
- humidity.setFarmId(hyFarmId);
- if (ObjectUtil.isNotEmpty(value)){
- if (value != 0.0){
- humidity.setValue(Double.parseDouble(df.format(value)));
- }else{
- humidity.setValue(value);
- }
- humidity.setCreateTime(monitoryValue.getTimestamp());
- humList.add(humidity);
- }
- }
- }
- humidityService.saveBatch(humList);
- temperatureService.saveBatch(temList);
- humWarning(humList,minHum,maxHum);
- temWarning(temList,minTem,maxTem);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println("更新温湿度信息,更新时间------------->"+ new Date());
- }
- //温度报警
- private void temWarning(List<SysTemperature> temList, String minTem, String maxTem) {
- QueryWrapper<SysWarningSet> wrapper = new QueryWrapper<>();
- wrapper.eq("content","高温报警");
- SysWarningSet maxWarning = warningSetService.getOne(wrapper);
- wrapper.clear();
- wrapper.eq("content","低温报警");
- SysWarningSet minWarning = warningSetService.getOne(wrapper);
- Double min = null;
- Double max = null;
- try {
- min = Double.valueOf(minTem);
- }catch (NumberFormatException e) {
- e.printStackTrace();
- }
- try {
- max = Double.valueOf(maxTem);
- }catch (NumberFormatException e) {
- e.printStackTrace();
- }
- for ( SysTemperature temperature : temList) {
- BaseRoom baseRoom = baseRoomService.getById(temperature.getRoomId());
- Double value = temperature.getValue();
- Date now = new Date();
- if (min != null && value <min) {
- if (minWarning.getFirstLevel() || minWarning.getSecondLevel() || minWarning.getThirdlyLevel()) {
- BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
- baseWarningInfo.setFarmId(hyFarmId);
- baseWarningInfo.setWarningName("低温报警");
- baseWarningInfo.setMsg(baseRoom.getAlias() + baseRoom.getRoomName() + "出现低温报警,温度为:" + value);
- baseWarningInfo.setWarningTime(now);
- baseWarningInfo.setUploadTime(temperature.getCreateTime());
- baseWarningInfo.setAlarmType(8);
- if (minWarning.getFirstLevel()) {
- baseWarningInfo.setLevel(1);
- baseWarningInfo.setLevelName("一级报警");
- }
- if (minWarning.getSecondLevel()) {
- baseWarningInfo.setLevel(2);
- baseWarningInfo.setLevelName("二级报警");
- //这个写短信内容
- send(baseRoom.getAlias(), baseRoom.getRoomName(), value + "℃");
- }
- if (minWarning.getThirdlyLevel()) {
- baseWarningInfo.setLevel(3);
- baseWarningInfo.setLevelName("三级报警");
- //这个写短信内容
- }
- warningInfoService.save(baseWarningInfo);
- }
- }
- if (max != null && value >max){
- if (maxWarning.getFirstLevel() || maxWarning.getSecondLevel() || maxWarning.getThirdlyLevel()) {
- BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
- baseWarningInfo.setFarmId(hyFarmId);
- baseWarningInfo.setWarningName("高温报警");
- baseWarningInfo.setMsg(baseRoom.getAlias() + baseRoom.getRoomName() + "出现高温报警,温度为:" + value);
- baseWarningInfo.setWarningTime(now);
- baseWarningInfo.setUploadTime(temperature.getCreateTime());
- baseWarningInfo.setAlarmType(7);
- if (maxWarning.getFirstLevel()) {
- baseWarningInfo.setLevel(1);
- baseWarningInfo.setLevelName("一级报警");
- }
- if (maxWarning.getSecondLevel()) {
- baseWarningInfo.setLevel(2);
- baseWarningInfo.setLevelName("二级报警");
- //这个写短信内容
- send(baseRoom.getAlias(), baseRoom.getRoomName(), value + "℃");
- }
- if (maxWarning.getThirdlyLevel()) {
- baseWarningInfo.setLevel(3);
- baseWarningInfo.setLevelName("三级报警");
- //这个写短信内容
- }
- warningInfoService.save(baseWarningInfo);
- }
- }
- }
- }
- //湿度报警
- private void humWarning(List<SysHumidity> humList,String minHum,String maxHum) {
- QueryWrapper<SysWarningSet> wrapper = new QueryWrapper<>();
- wrapper.eq("content","高湿度报警");
- SysWarningSet maxWarning = warningSetService.getOne(wrapper);
- wrapper.clear();
- wrapper.eq("content","低湿度报警");
- SysWarningSet minWarning = warningSetService.getOne(wrapper);
- Double min = null;
- Double max = null;
- try {
- min = Double.valueOf(minHum);
- }catch (NumberFormatException e) {
- e.printStackTrace();
- }
- try {
- max = Double.valueOf(maxHum);
- }catch (NumberFormatException e) {
- e.printStackTrace();
- }
- for (SysHumidity humidity : humList) {
- BaseRoom baseRoom = baseRoomService.getById(humidity.getRoomId());
- Double value = humidity.getValue();
- Date now = new Date();
- if (min != null && value <min){
- if (minWarning.getFirstLevel() || minWarning.getSecondLevel()|| minWarning.getThirdlyLevel()){
- BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
- baseWarningInfo.setFarmId(hyFarmId);
- baseWarningInfo.setWarningName("低湿度报警");
- baseWarningInfo.setMsg(baseRoom.getAlias()+baseRoom.getRoomName()+"出现低湿度报警,湿度为:"+value);
- baseWarningInfo.setWarningTime(now);
- baseWarningInfo.setUploadTime(humidity.getCreateTime());
- baseWarningInfo.setAlarmType(10);
- if (minWarning.getFirstLevel()){
- baseWarningInfo.setLevel(1);
- baseWarningInfo.setLevelName("一级报警");
- }
- if (minWarning.getSecondLevel()){
- baseWarningInfo.setLevel(2);
- baseWarningInfo.setLevelName("二级报警");
- //这个写短信内容
- send( baseRoom.getAlias(),baseRoom.getRoomName(),value+"%");
- }
- if (minWarning.getThirdlyLevel()){
- baseWarningInfo.setLevel(3);
- baseWarningInfo.setLevelName("三级报警");
- //这个写短信内容
- }
- warningInfoService.save(baseWarningInfo);
- }
- }
- if (max != null && value >max) {
- if (maxWarning.getFirstLevel() || maxWarning.getSecondLevel() || maxWarning.getThirdlyLevel()) {
- BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
- baseWarningInfo.setFarmId(hyFarmId);
- baseWarningInfo.setWarningName("高湿度报警");
- baseWarningInfo.setMsg(baseRoom.getAlias() + baseRoom.getRoomName() + "出现高湿度报警,湿度为:" + value);
- baseWarningInfo.setWarningTime(now);
- baseWarningInfo.setUploadTime(humidity.getCreateTime());
- baseWarningInfo.setAlarmType(9);
- if (maxWarning.getFirstLevel()) {
- baseWarningInfo.setLevel(1);
- baseWarningInfo.setLevelName("一级报警");
- }
- if (maxWarning.getSecondLevel()) {
- baseWarningInfo.setLevel(2);
- baseWarningInfo.setLevelName("二级报警");
- //这个写短信内容
- send(baseRoom.getAlias(), baseRoom.getRoomName(), value + "%");
- }
- if (maxWarning.getThirdlyLevel()) {
- baseWarningInfo.setLevelName("三级报警");
- baseWarningInfo.setAlarmType(9);
- //这个写短信内容
- }
- warningInfoService.save(baseWarningInfo);
- }
- }
- }
- }
- //更新日用水 9
- @Scheduled(cron = "0 55 8 * * ? ")
- // @Scheduled(cron = "0 * * * * ?")
- private void updateDayWater(){
- ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
- // 指定连接服务器的凭据参数
- TokenManager tokenManager = new TokenManager(new StaticCredentialProvider(Global.clientId, Global.clientSecret, Global.username, Global.password), Global.idServerUrl, loggerFactory);
- ServerCaller apiBaseServer = new ServerCaller(tokenManager, Global.apiBaserUrl, Global.signalrClientId, loggerFactory);
- Global.apiBaseServer = apiBaseServer;
- DecimalFormat df = new DecimalFormat("#.00");
- try {
- List<BaseBox> boxes = baseBoxService.list();
- for (BaseBox box : boxes) {
- String uid = box.getUid();
- Monitory[] monitories = apiBaseServer.executeGet("/v2/box/" + uid + "/dmon/grouped", Monitory[].class);
- List names = new ArrayList();
- if (ObjectUtil.isEmpty(monitories)){
- continue;
- }
- for (Monitory monitory : monitories) {
- for (Item item : monitory.items) {
- String name = item.name;
- if (monitory.name.contains("每个房间") && name != null&& name.startsWith("房舍")) {
- if (name.contains("日用水量") ) {
- names.add(name);
- }
- }
- }
- }
- if (ObjectUtil.isNotEmpty(names)) {
- MonitoryValue[] monitoryValues = apiBaseServer.executePost("/v2/box/" +uid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
- List<SysDayWater> dayWatersList = new ArrayList();
- for (MonitoryValue monitoryValue : monitoryValues) {
- if (ObjectUtil.isEmpty(monitoryValue)){
- continue;
- }
- String name = monitoryValue.getName();
- String[] split = name.split("-");
- BaseRoom room = baseRoomService.getOne(new QueryWrapper<BaseRoom>().eq("room_name", split[0]).eq("box_id", uid));
- Integer roomId = room.getId();
- SysDayWater dayWater = new SysDayWater();
- Double value = (Double)monitoryValue.getValue();
- dayWater.setId(monitoryValue.getId());
- dayWater.setRoomId(roomId);
- dayWater.setFarmId(hyFarmId);
- if (value == null){
- continue;
- }
- if (0.0 != value){
- String format = df.format(value);
- if (format.length()==3){
- dayWater.setValue(0+format);
- }else {
- dayWater.setValue(format);
- }
- }else {
- dayWater.setValue(value+"");
- }
- dayWater.setCreateTime(monitoryValue.getTimestamp());
- dayWatersList.add(dayWater);
- }
- dayWaterService.saveBatch(dayWatersList);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println("更新日用水信息,更新时间------------->"+ new Date());
- }
- //更新两个小时用水数据
- @Scheduled(cron = "0 59 0,2,4,6,8,10,12,14,16,18,20,22 * * ? ")
- // @Scheduled(cron = "0 0/2 * * * ?")
- private void updateMonthWater(){
- ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
- // 指定连接服务器的凭据参数
- TokenManager tokenManager = new TokenManager(new StaticCredentialProvider(Global.clientId, Global.clientSecret, Global.username, Global.password), Global.idServerUrl, loggerFactory);
- ServerCaller apiBaseServer = new ServerCaller(tokenManager, Global.apiBaserUrl, Global.signalrClientId, loggerFactory);
- Global.apiBaseServer = apiBaseServer;
- DecimalFormat df = new DecimalFormat("#.00");
- try {
- List<BaseBox> boxes = baseBoxService.list();
- for (BaseBox box : boxes) {
- String uid = box.getUid();
- Monitory[] monitories = apiBaseServer.executeGet("/v2/box/" + uid + "/dmon/grouped", Monitory[].class);
- List names = new ArrayList();
- for (Monitory monitory : monitories) {
- for (Item item : monitory.items) {
- String name = item.name;
- if (monitory.name.contains("每个房间") && name != null&& name.startsWith("房舍")) {
- if (name.contains("日用水量") ) {
- names.add(name);
- }
- }
- }
- }
- if (ObjectUtil.isNotEmpty(names)) {
- MonitoryValue[] monitoryValues = apiBaseServer.executePost("/v2/box/" +uid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
- List<SysMonthWater> dayWatersList = new ArrayList();
- for (MonitoryValue monitoryValue : monitoryValues) {
- if (ObjectUtil.isEmpty(monitoryValue)){
- continue;
- }
- String name = monitoryValue.getName();
- String[] split = name.split("-");
- BaseRoom room = baseRoomService.getOne(new QueryWrapper<BaseRoom>().eq("room_name", split[0]).eq("box_id", uid));
- Integer roomId = room.getId();
- SysMonthWater oldWater = monthWaterService.getOne(
- new QueryWrapper<SysMonthWater>()
- .eq("room_id", roomId)
- .eq("farm_id",hyFarmId)
- .orderByDesc("month_water_id")
- .last("LIMIT 1"));
- SysMonthWater monthWater = new SysMonthWater();
- monthWater.setFarmId(hyFarmId);
- Double newValue = (Double)monitoryValue.getValue();
- Double add ;
- if (ObjectUtil.isEmpty(oldWater)){
- if (newValue == null){
- add = 0.0;
- }else {
- add = newValue;
- }
- }else {
- Double oldValue = Double.parseDouble(oldWater.getValue());
- if (newValue >= oldValue){
- add = newValue -oldValue;
- }else {
- add = newValue;
- }
- }
- if (add != 0.0){
- String format = df.format(add);
- if (format.length()==3){
- monthWater.setIncreaseValue(0+format);
- }else {
- monthWater.setIncreaseValue(format);
- }
- }else {
- monthWater.setIncreaseValue(add+"");
- }
- monthWater.setId(monitoryValue.getId());
- monthWater.setRoomId(roomId);
- if (newValue != 0.0){
- String format = df.format(newValue);
- if (format.length()==3){
- monthWater.setValue(0+format);
- }else {
- monthWater.setValue(format);
- }
- }else {
- monthWater.setValue(newValue+"");
- }
- monthWater.setCreateTime(monitoryValue.getTimestamp());
- dayWatersList.add(monthWater);
- }
- monthWaterService.saveBatch(dayWatersList);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println("更新月用水信息,更新时间------------->"+ new Date());
- }
- //更新料控
- @Scheduled(cron = "0 0/3 * * * ? ")
- // @Scheduled(cron = "0 0/5 * * * ?")
- private void updateFodder() throws IOException {
- ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
- // 指定连接服务器的凭据参数
- TokenManager tokenManager = new TokenManager(new StaticCredentialProvider(Global.clientId, Global.clientSecret, Global.username, Global.password), Global.idServerUrl, loggerFactory);
- ServerCaller apiBaseServer = new ServerCaller(tokenManager, Global.apiBaserUrl, Global.signalrClientId, loggerFactory);
- Global.apiBaseServer = apiBaseServer;
- List names = new ArrayList();
- String oneUid = "-1277226674647203111";
- String twoUid = "-1277176930335980834";
- String threeUid = "-1277075358654397725";
- names.add("累计重量");
- MonitoryValue[] monitoryValues = apiBaseServer.executePost("/v2/box/" + oneUid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
- MonitoryValue monitoryValue = monitoryValues[0];
- Double value = (Double)monitoryValue.getValue();
- SysFodder oneFodder = fodderService.getOne(new QueryWrapper<SysFodder>().eq("floor_id", 1).last("ORDER BY fodder_id DESC limit 1"));
- Double oldVale = oneFodder.getValue();
- if (oldVale < value){
- oneFodder.setValue(value);
- fodderService.updateById(oneFodder);
- }else if (value < oldVale){
- SysFodder fodder = new SysFodder();
- fodder.setValue(value);
- fodder.setCreateTime(monitoryValue.getTimestamp());
- fodder.setFloorId(1);
- fodder.setId(monitoryValue.getId());
- fodder.setFarmId(hyFarmId);
- fodderService.save(fodder);
- }
- MonitoryValue[] twoMonitoryValues = apiBaseServer.executePost("/v2/box/" + twoUid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
- MonitoryValue twoMonitoryValue = twoMonitoryValues[0];
- Double twoValue = (Double)twoMonitoryValue.getValue();
- SysFodder twoFodder = fodderService.getOne(new QueryWrapper<SysFodder>().eq("floor_id", 2).last("ORDER BY fodder_id DESC limit 1"));
- Double twoOldVale = twoFodder.getValue();
- if (twoOldVale < twoValue){
- twoFodder.setValue(twoValue);
- fodderService.updateById(twoFodder);
- // System.out.println("二号楼更新------------>"+twoFodder);
- }else if (twoValue < twoOldVale){
- SysFodder fodder = new SysFodder();
- fodder.setValue(twoValue);
- fodder.setCreateTime(twoMonitoryValue.getTimestamp());
- fodder.setFloorId(2);
- fodder.setId(twoMonitoryValue.getId());
- fodder.setFarmId(hyFarmId);
- fodderService.save(fodder);
- // System.out.println("二号楼新增------------>"+twoMonitoryValue);
- }else {
- // System.out.println("二号楼舍弃------------>"+twoMonitoryValue);
- }
- MonitoryValue[] threeMonitoryValues = apiBaseServer.executePost("/v2/box/" + threeUid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
- MonitoryValue threeMonitoryValue = threeMonitoryValues[0];
- Double threeValue = (Double)threeMonitoryValue.getValue();
- SysFodder threeFodder = fodderService.getOne(new QueryWrapper<SysFodder>().eq("floor_id", 3).last("ORDER BY fodder_id DESC limit 1"));
- Double threeOldVale = threeFodder.getValue();
- if (threeOldVale < threeValue){
- threeFodder.setValue(threeValue);
- fodderService.updateById(threeFodder);
- // System.out.println("三号楼更新------------>"+threeFodder);
- }else if (threeValue < threeOldVale){
- SysFodder fodder = new SysFodder();
- fodder.setValue(threeValue);
- fodder.setCreateTime(threeMonitoryValue.getTimestamp());
- fodder.setFloorId(3);
- fodder.setId(threeMonitoryValue.getId());
- fodder.setFarmId(hyFarmId);
- fodderService.save(fodder);
- }else {
- }
- System.out.println("更新料塔信息,更新时间------------->" + new Date());
- }
- public void send(String alias,String roomName, String value) {
- ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com",
- "109928", "2684d129-1946-43fc-9074-93cee1687eb7");
- Map<String, Object> params = new HashMap<String, Object>();
- //从数据库查询
- SysWarningPhone one = warningPhoneService.getOne(new QueryWrapper<SysWarningPhone>().eq("farm_id", hyFarmId).eq("level", 2));
- String[] split = one.getPhone().split(",");
- for (String phone : split) {
- params.put("number",phone);
- params.put("templateId", "7445");
- String[] templateParams = new String[3];
- templateParams[0] = alias;
- templateParams[1] = roomName;
- templateParams[2] = value;
- params.put("templateParams", templateParams);
- try {
- System.out.println(client.send(params));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
|