|
@ -4,10 +4,12 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.yihu.jw.care.dao.device.DeviceDetailDao;
|
|
|
import com.yihu.jw.care.dao.device.DeviceHealthIndexDao;
|
|
|
import com.yihu.jw.care.dao.device.HvDeviceRecordDao;
|
|
|
import com.yihu.jw.care.dao.device.HvDeviceSosLogDao;
|
|
|
import com.yihu.jw.care.util.ArtemisPostTest;
|
|
|
import com.yihu.jw.entity.care.device.DeviceDetail;
|
|
|
import com.yihu.jw.entity.care.device.DeviceHealthIndex;
|
|
|
import com.yihu.jw.entity.care.device.HvDeviceRecord;
|
|
|
import com.yihu.jw.entity.care.device.HvDeviceSosLog;
|
|
@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@ -38,6 +41,8 @@ public class HvDeviceService {
|
|
|
private HvDeviceSosLogDao hvdeviceSosLogDao;
|
|
|
@Autowired
|
|
|
private HvDeviceRecordDao hvdeviceRecordDao;
|
|
|
@Autowired
|
|
|
private DeviceDetailDao deviceDetailDao;
|
|
|
|
|
|
/**
|
|
|
* 消息通知接收
|
|
@ -54,6 +59,10 @@ public class HvDeviceService {
|
|
|
message980002(body);
|
|
|
return;
|
|
|
}
|
|
|
if ("980006".equals(msgType)){
|
|
|
message980006(body);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -145,12 +154,43 @@ public class HvDeviceService {
|
|
|
index.setDeviceType("2");
|
|
|
list.add(index);
|
|
|
}
|
|
|
updContactStatus(resourceSerial,1);
|
|
|
}
|
|
|
if(list.size()>0){
|
|
|
deviceHealthIndexDao.save(list);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 设备在离线推送
|
|
|
*/
|
|
|
public void message980006(JSONObject json){
|
|
|
JSONArray data = json.getJSONArray("data");
|
|
|
for (int i=0;i<data.size();i++){
|
|
|
JSONObject jsonObject = data.getJSONObject(i);
|
|
|
String deviceID = jsonObject.getString("deviceID");
|
|
|
String deviceStatus = jsonObject.getString("deviceStatus");
|
|
|
List<HvDeviceRecord> list = hvdeviceRecordDao.findByDeviceId(deviceID);
|
|
|
if(list.size()>0){
|
|
|
updContactStatus(list.get(0).getDeviceSn(),0);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 更新在线状态
|
|
|
* @param sn
|
|
|
* @param status
|
|
|
*/
|
|
|
public void updContactStatus(String sn,Integer status){
|
|
|
DeviceDetail deviceDetail = deviceDetailDao.findBySn(sn);
|
|
|
if(deviceDetail!=null){
|
|
|
deviceDetail.setContactStatus(status);
|
|
|
deviceDetail.setContactStatusTime(new Date());
|
|
|
deviceDetailDao.save(deviceDetail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 同步设备
|
|
|
*/
|