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);
+ }
/**
* 字符串转换成日期