Pārlūkot izejas kodu

Merge branch 'dev' of yeshijie/wlyy2.0 into dev

叶仕杰 3 gadi atpakaļ
vecāks
revīzija
f00e3ad0dd

+ 4 - 0
common/common-entity/sql记录

@ -1376,3 +1376,7 @@ CREATE TABLE `base_sleep_plan_detail` (
-- 20210824
alter table base_security_monitoring_order add COLUMN warn_info varchar(3000) DEFAULT NULL COMMENT '触发工单时信息如 烟雾心率等';
-- 20210825
alter table wlyy_devices add COLUMN contact_status_time datetime DEFAULT NULL COMMENT '失联状态更新时间';
alter table wlyy_devices add COLUMN contact_status tinyint(2) DEFAULT NULL COMMENT '失联状态 1未失联 0失联';

+ 20 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/device/DeviceDetail.java

@ -49,6 +49,8 @@ public class DeviceDetail extends IdEntity {
    private String grantDoctor;//发放医生code
    private String grantDoctorName;//发放医生姓名
    private Integer contactStatus;// 失联状态 1未失联 0失联
    private Date contactStatusTime;//失联状态更新时间
    /** default constructor */
    public DeviceDetail() {
    }
@ -324,4 +326,22 @@ public class DeviceDetail extends IdEntity {
    public void setDeviceType(Integer deviceType) {
        this.deviceType = deviceType;
    }
    @Column(name = "contact_status")
    public Integer getContactStatus() {
        return contactStatus;
    }
    public void setContactStatus(Integer contactStatus) {
        this.contactStatus = contactStatus;
    }
    @Column(name = "contact_status_time")
    public Date getContactStatusTime() {
        return contactStatusTime;
    }
    public void setContactStatusTime(Date contactStatusTime) {
        this.contactStatusTime = contactStatusTime;
    }
}

+ 7 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/dao/device/HvDeviceRecordDao.java

@ -1,9 +1,13 @@
package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.Device;
import com.yihu.jw.entity.care.device.HvDeviceRecord;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created with IntelliJ IDEA.
 *
@ -12,4 +16,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @Description:
 */
public interface HvDeviceRecordDao extends PagingAndSortingRepository<HvDeviceRecord, String>, JpaSpecificationExecutor<HvDeviceRecord> {
    @Query("select a from HvDeviceRecord a where a.deviceId = ?1")
    List<HvDeviceRecord> findByDeviceId(String deviceId);
}

+ 40 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/HvDeviceService.java

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