|  | @ -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);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 同步设备
 | 
	
		
			
				|  |  |      */
 |