From a7e8cb7884597302f586f24ef352e06efc5f6aa7 Mon Sep 17 00:00:00 2001 From: yiyan Date: Wed, 24 Oct 2018 18:00:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E7=83=AD=E5=99=A8?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E9=80=82=E9=85=8D=EF=BC=8C=E5=8F=8Amina?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/ifish/entity/DeviceHeater.java | 10 ++++++++++ .../java/com/ifish/entity/hbm/DeviceHeater.hbm.xml | 1 + src/main/java/com/ifish/service/DeviceService.java | 2 +- .../java/com/ifish/serviceImpl/DeviceServiceImpl.java | 7 +++++-- src/main/java/com/ifish/socketNew/SomeServer.java | 9 +++++++-- src/main/java/com/ifish/util/IfishUtil.java | 10 ++++++++++ 6 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/ifish/entity/DeviceHeater.java b/src/main/java/com/ifish/entity/DeviceHeater.java index 7d1bcf3..0b4ff7d 100644 --- a/src/main/java/com/ifish/entity/DeviceHeater.java +++ b/src/main/java/com/ifish/entity/DeviceHeater.java @@ -20,6 +20,8 @@ public class DeviceHeater implements Serializable{ private String heaterGatheringTime; + private String heaterGatheringDate; + public Integer getHeaterId() { return heaterId; } @@ -59,4 +61,12 @@ public class DeviceHeater implements Serializable{ public void setHeaterGatheringTime(String heaterGatheringTime) { this.heaterGatheringTime = heaterGatheringTime; } + + public String getHeaterGatheringDate() { + return heaterGatheringDate; + } + + public void setHeaterGatheringDate(String heaterGatheringDate) { + this.heaterGatheringDate = heaterGatheringDate; + } } diff --git a/src/main/java/com/ifish/entity/hbm/DeviceHeater.hbm.xml b/src/main/java/com/ifish/entity/hbm/DeviceHeater.hbm.xml index e20253d..f66427b 100644 --- a/src/main/java/com/ifish/entity/hbm/DeviceHeater.hbm.xml +++ b/src/main/java/com/ifish/entity/hbm/DeviceHeater.hbm.xml @@ -10,5 +10,6 @@ + \ No newline at end of file diff --git a/src/main/java/com/ifish/service/DeviceService.java b/src/main/java/com/ifish/service/DeviceService.java index 0be8a12..605feef 100644 --- a/src/main/java/com/ifish/service/DeviceService.java +++ b/src/main/java/com/ifish/service/DeviceService.java @@ -27,7 +27,7 @@ public interface DeviceService { List getByProperty(String property,Object value); - List getDeviceHeaterByProperty(String hour,String macAddress); + List getDeviceHeaterByProperty(String hour,String macAddress,String date); DeviceUser getUniqueByProperty(String macAddress); diff --git a/src/main/java/com/ifish/serviceImpl/DeviceServiceImpl.java b/src/main/java/com/ifish/serviceImpl/DeviceServiceImpl.java index c8f2177..938f2a4 100644 --- a/src/main/java/com/ifish/serviceImpl/DeviceServiceImpl.java +++ b/src/main/java/com/ifish/serviceImpl/DeviceServiceImpl.java @@ -8,6 +8,7 @@ import java.util.List; import com.ifish.dao.*; import com.ifish.entity.*; import com.ifish.socketNew.model.receive.BackFunctionCodeHeater; +import com.ifish.util.IfishUtil; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; import org.slf4j.Logger; @@ -168,9 +169,10 @@ public class DeviceServiceImpl implements DeviceService { @Override public DeviceHeater save(BackFunctionCodeHeater model) { - //保存加热棒数据 按天 + //保存加热棒数据 按天 最近7天 DeviceHeater deviceHeater = new DeviceHeater(); deviceHeater.setHeaterGatheringTime(Calendar.getInstance().get(Calendar.HOUR_OF_DAY) + ""); + deviceHeater.setHeaterGatheringDate(IfishUtil.format1(new Date())); deviceHeater.setHeaterMacAddress(ByteUtil.bytesToHexString(model.getSrc())); deviceHeater.setHeaterPh(String.valueOf(model.getPh())); deviceHeater.setHeaterWaterTemperature(String.valueOf(model.getWaterTemperature())); @@ -183,9 +185,10 @@ public class DeviceServiceImpl implements DeviceService { } @Override - public List getDeviceHeaterByProperty(String hour,String macAddress) { + public List getDeviceHeaterByProperty(String hour,String macAddress,String date) { List queryList = new ArrayList(); queryList.add(Restrictions.eq("heaterMacAddress",macAddress)); + queryList.add(Restrictions.eq("heaterGatheringDate",date)); queryList.add(Restrictions.eq("heaterGatheringTime",hour)); List list = this.deviceHeaterDao.getByCriterion(queryList.toArray(new Criterion[queryList.size()])); return list; diff --git a/src/main/java/com/ifish/socketNew/SomeServer.java b/src/main/java/com/ifish/socketNew/SomeServer.java index 8d23520..345eabd 100644 --- a/src/main/java/com/ifish/socketNew/SomeServer.java +++ b/src/main/java/com/ifish/socketNew/SomeServer.java @@ -83,7 +83,7 @@ public class SomeServer { BackFunctionCodeHeater heater = (BackFunctionCodeHeater) message; String macAddress = ByteUtil.bytesToHexString(heater.getSrc()); String hour = String.valueOf(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); - List deviceHeaters = deviceService.getDeviceHeaterByProperty(hour, macAddress); + List deviceHeaters = deviceService.getDeviceHeaterByProperty(hour, macAddress,IfishUtil.format1(new Date())); if (deviceHeaters.size() > 0) { DeviceHeater deviceHeater = deviceHeaters.get(0); deviceHeater.setHeaterWaterTemperature(String.valueOf(heater.getWaterTemperature())); @@ -92,12 +92,17 @@ public class SomeServer { } else { deviceService.save(heater); } + //设备重新连接上,则移除延时推送的任务 + JobGroup jobGroup = new JobGroup(); + jobGroup.setJobName(macAddress); + jobGroup.setTriggerName(macAddress); + scheduleJob.deleteJob(jobGroup); sendToApp(session,macAddress,heater.getByteMessage()); } //设置设备温度报警 else if(message instanceof OrderFunctionCode5) { OrderFunctionCode5 receive = (OrderFunctionCode5) message; - String strDest = ByteUtil.bytesToHexString(receive.getDest()); + String strDest = ByteUtil .bytesToHexString(receive.getDest()); sendToDevice(session,strDest, message); try { Integer Onoff = receive.getOnoff() & 0xff; diff --git a/src/main/java/com/ifish/util/IfishUtil.java b/src/main/java/com/ifish/util/IfishUtil.java index 83657de..cdba844 100644 --- a/src/main/java/com/ifish/util/IfishUtil.java +++ b/src/main/java/com/ifish/util/IfishUtil.java @@ -23,6 +23,16 @@ public class IfishUtil { SimpleDateFormat format = new SimpleDateFormat(formatDate); return format.format(date); } + + /** + * 格式化日期yyyy-MM-dd + * @param date + * @return + */ + public static String format1(Date date){ + SimpleDateFormat format = new SimpleDateFormat(formatDate1); + return format.format(date); + } /** * 字符串转换成日期