新增加热器设备适配,及mina升级!

This commit is contained in:
yiyan 2018-10-24 18:00:08 +08:00
parent 90de7d7808
commit a7e8cb7884
6 changed files with 34 additions and 5 deletions

View File

@ -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;
}
}

View File

@ -10,5 +10,6 @@
<property name="heaterWaterTemperature" column="heater_water_temperature" type="string" length="50"/>
<property name="heaterPh" column="heater_ph" type="string" length="50"/>
<property name="heaterGatheringTime" column="heater_gathering_time" type="string" length="50"/>
<property name="heaterGatheringDate" column="heater_gathering_date" type="string" length="50"/>
</class>
</hibernate-mapping>

View File

@ -27,7 +27,7 @@ public interface DeviceService {
List<Device> getByProperty(String property,Object value);
List<DeviceHeater> getDeviceHeaterByProperty(String hour,String macAddress);
List<DeviceHeater> getDeviceHeaterByProperty(String hour,String macAddress,String date);
DeviceUser getUniqueByProperty(String macAddress);

View File

@ -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<DeviceHeater> getDeviceHeaterByProperty(String hour,String macAddress) {
public List<DeviceHeater> getDeviceHeaterByProperty(String hour,String macAddress,String date) {
List<Criterion> queryList = new ArrayList<Criterion>();
queryList.add(Restrictions.eq("heaterMacAddress",macAddress));
queryList.add(Restrictions.eq("heaterGatheringDate",date));
queryList.add(Restrictions.eq("heaterGatheringTime",hour));
List<DeviceHeater> list = this.deviceHeaterDao.getByCriterion(queryList.toArray(new Criterion[queryList.size()]));
return list;

View File

@ -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<DeviceHeater> deviceHeaters = deviceService.getDeviceHeaterByProperty(hour, macAddress);
List<DeviceHeater> 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,6 +92,11 @@ 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());
}
//设置设备温度报警

View File

@ -24,6 +24,16 @@ public class IfishUtil {
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);
}
/**
* 字符串转换成日期
* @param str