liubing пре 3 година
родитељ
комит
a67f2c6d8a

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

@ -1622,3 +1622,19 @@ CREATE TABLE `base_activity_click` (
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='幼儿活动点击次数统计表';
CREATE TABLE `base_sleep_x1device` (
  `id` varchar(50) NOT NULL,
  `patient` varchar(50) DEFAULT NULL COMMENT '居民id',
  `device_sn` varchar(50) DEFAULT NULL COMMENT '手表sn',
  `sleep_time` varchar(50) DEFAULT NULL COMMENT '睡眠时长 分钟',
  `deep_sleep` varchar(50) DEFAULT NULL COMMENT '深睡时长 分钟',
  `light_sleep` varchar(50) DEFAULT NULL COMMENT '浅睡时长 分钟',
  `awake_time` varchar(50) DEFAULT NULL COMMENT '清醒时长 分钟',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '开始时间',
  `end_time` timestamp NULL DEFAULT NULL COMMENT '结束时间',
  `interval_time` int(11) NULL DEFAULT NULL COMMENT '固定30分钟',
  `total` int(11) NULL DEFAULT NULL COMMENT '检测次数',
  `del` int(1) DEFAULT NULL COMMENT '是否有效 1有效 0无效',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='爱牵挂X1手表睡眠数据';

+ 122 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/device/BaseSleepX1device.java

@ -0,0 +1,122 @@
package com.yihu.jw.entity.care.device;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import org.springframework.data.annotation.CreatedDate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by Bing on 2022/1/7.
 * 手表睡眠数据
 */
@Entity
@Table(name="base_sleep_x1device")
public class BaseSleepX1device extends UuidIdentityEntity {
    private String patient;
    private String deviceSn;
    private String sleepTime; //睡眠时长 分钟
    private String deepSleep; //深睡时长 分钟
    private String lightSleep; //浅睡时长 分钟
    private String awakeTime; // 清醒时长 分钟
    private Date createTime; // 开始时间
    private Date endTime;   //结束时间
    private Integer intervalTime; //固定30分钟
    private Integer total; // 检测次数
    private Integer del;  //是否有效 1有效 0无效
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    public String getDeviceSn() {
        return deviceSn;
    }
    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn;
    }
    public String getSleepTime() {
        return sleepTime;
    }
    public void setSleepTime(String sleepTime) {
        this.sleepTime = sleepTime;
    }
    public String getDeepSleep() {
        return deepSleep;
    }
    public void setDeepSleep(String deepSleep) {
        this.deepSleep = deepSleep;
    }
    public String getLightSleep() {
        return lightSleep;
    }
    public void setLightSleep(String lightSleep) {
        this.lightSleep = lightSleep;
    }
    public String getAwakeTime() {
        return awakeTime;
    }
    public void setAwakeTime(String awakeTime) {
        this.awakeTime = awakeTime;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "end_time")
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public Integer getIntervalTime() {
        return intervalTime;
    }
    public void setIntervalTime(Integer intervalTime) {
        this.intervalTime = intervalTime;
    }
    public Integer getTotal() {
        return total;
    }
    public void setTotal(Integer total) {
        this.total = total;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
}

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

@ -0,0 +1,12 @@
package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseSleepX1device;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Bing on 2022/1/7.
 */
public interface BaseSleepX1deviceDao extends PagingAndSortingRepository<BaseSleepX1device,String>,
        JpaSpecificationExecutor<BaseSleepX1device> {
}

+ 32 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/endpoint/DeviceController.java

@ -393,6 +393,38 @@ public class DeviceController {
        }
    }
    @ApiOperation("爱牵挂-手表睡眠接收")
    @RequestMapping(value = "byX1Sleep",  method = {RequestMethod.POST,RequestMethod.GET})
    public String byX1Sleep(
            @ApiParam(name="imei",required = false,value="imei",defaultValue = "")
            @RequestParam(value = "imei",required = true) String imei,
            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS")
            @RequestParam(value = "time_begin",required = false) String time_begin,
            @ApiParam(name="time_end",required = false,value="结束时间YYYY-MM-DD HH:mm:SS")
            @RequestParam(value = "time_end",required = false) String time_end,
            @ApiParam(name="interval",required = false,value="固定30分钟,忽略,兼容其他设备的参数")
            @RequestParam(value = "interval",required = false) Integer interval,
            @ApiParam(name="total",required = false,value="检测次数, 忽略,兼容其他设备的参数")
            @RequestParam(value = "total",required = false) Integer total,
            @ApiParam(name="deep_sleep",required = false,value="深睡时长,单位小时,str(float)")
            @RequestParam(value = "deep_sleep",required = false) String deep_sleep,
            @ApiParam(name="light_sleep",required = false,value="浅睡时长,单位小时,str(float)")
            @RequestParam(value = "light_sleep",required = false)String light_sleep,
            @ApiParam(name="awake_time",required = false,value="清醒时长,单位小时,str(float)")
            @RequestParam(value = "awake_time",required = false)String awake_time,
            HttpServletRequest request) {
        try {
            String paraString = JSON.toJSONString(request.getParameterMap());
            deviceService.byX1Sleep(imei,time_begin,time_end,interval,total,deep_sleep,light_sleep,awake_time);
            logger.info("爱牵挂-手表睡眠接收,请求参数:"+paraString);
            dataPushLogUtil.savePushLog(imei,paraString,"手表睡眠接收");
            dataPushLogUtil.updContactStatus(imei,1,false);
            return success();
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1,"Device data incoming failure");
        }
    }
    @ApiOperation("设备步数接收")
    @RequestMapping(value = "stepsCreate",  method = {RequestMethod.POST,RequestMethod.GET})

+ 48 - 2
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java

@ -101,6 +101,8 @@ public class DeviceService {
    private PatientSafeAreaDao safeAreaDao;
    @Autowired
    private BasePatientStepDao stepDao;
    @Autowired
    private BaseSleepX1deviceDao baseSleepX1deviceDao;
    /**
     * 获取爱牵挂管理员cookie
@ -553,7 +555,7 @@ public class DeviceService {
    }
    /**
     * 柏颐跌倒数据接收
     * 爱牵挂 X1手表跌倒数据接收
     * @param imei 15位设备唯一序号
     * @param time_begin 发生时间YYYY-MM-DD HH:mm:SS
     * @param city 城市
@ -563,10 +565,54 @@ public class DeviceService {
     * @param type 类型   0:Gps定位; 1:基站定位
     */
    @Async
    public void byFall(String imei,String time_begin,String city,String address,double lon,double lat,String type) {
    public void byFall(String imei,String time_begin,String city,String address,Double lon,Double lat,String type) {
        try {
            if(StringUtils.isNotBlank(imei)){
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 爱牵挂X1手表睡眠数据接收
     * @param imei
     * @param time_begin
     * @param time_end
     * @param interval
     * @param total
     * @param deep_sleep
     * @param light_sleep
     * @param awake_time
     */
    @Async
    public void byX1Sleep(String imei,String time_begin,String time_end,Integer interval,Integer total,String deep_sleep,String light_sleep,String awake_time) {
        try {
            if(StringUtils.isNotBlank(imei)){
                List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByDeviceSn(imei);
                if (devicePatientDeviceDos.size()>0){
                    Double deepSleep =Double.parseDouble(deep_sleep)*60 ;
                    Double lightSleep = Double.parseDouble(light_sleep)*60;
                    Double awakeTime = Double.parseDouble(awake_time)*60;
                    Double sleepTime = deepSleep+lightSleep+awakeTime;
                    BaseSleepX1device sleepX1device = new BaseSleepX1device();
                    sleepX1device.setDeviceSn(imei);
                    sleepX1device.setPatient(devicePatientDeviceDos.get(0).getUser());
                    sleepX1device.setDeepSleep(deepSleep.intValue()+"");
                    sleepX1device.setLightSleep(lightSleep.intValue()+"");
                    sleepX1device.setAwakeTime(awakeTime.intValue()+"");
                    sleepX1device.setSleepTime(sleepTime.intValue()+"");
                    sleepX1device.setIntervalTime(interval);
                    sleepX1device.setTotal(total);
                    sleepX1device.setCreateTime(DateUtil.strToDate(time_begin));
                    sleepX1device.setEndTime(DateUtil.strToDate(time_end));
                    baseSleepX1deviceDao.save(sleepX1device);
                }
            }
        } catch (Exception e) {

+ 34 - 0
svr/svr-cloud-transfor/src/main/java/com/yihu/jw/care/controller/TransforController.java

@ -370,6 +370,40 @@ public class TransforController {
        }
    }
    @ApiOperation("爱牵挂-手表睡眠接收")
    @RequestMapping(value = "byX1Sleep",  method = {RequestMethod.POST,RequestMethod.GET})
    public String byX1Sleep(
            @ApiParam(name="imei",required = false,value="imei",defaultValue = "")
            @RequestParam(value = "imei",required = true) String imei,
            @ApiParam(name="time_begin",required = false,value="发生时间YYYY-MM-DD HH:mm:SS")
            @RequestParam(value = "time_begin",required = false) String time_begin,
            @ApiParam(name="time_end",required = false,value="结束时间YYYY-MM-DD HH:mm:SS")
            @RequestParam(value = "time_end",required = false) String time_end,
            @ApiParam(name="interval",required = false,value="固定30分钟,忽略,兼容其他设备的参数")
            @RequestParam(value = "interval",required = false) Integer interval,
            @ApiParam(name="total",required = false,value="检测次数, 忽略,兼容其他设备的参数")
            @RequestParam(value = "total",required = false) Integer total,
            @ApiParam(name="deep_sleep",required = false,value="深睡时长,单位小时,str(float)")
            @RequestParam(value = "deep_sleep",required = false) String deep_sleep,
            @ApiParam(name="light_sleep",required = false,value="浅睡时长,单位小时,str(float)")
            @RequestParam(value = "light_sleep",required = false)String light_sleep,
            @ApiParam(name="awake_time",required = false,value="清醒时长,单位小时,str(float)")
            @RequestParam(value = "awake_time",required = false)String awake_time,
            HttpServletRequest request) {
        try {
            long startTime=System.currentTimeMillis();
            String paraString = JSON.toJSONString(request.getParameterMap());
            String url = RequestParamUtil.getParamUrl(request);
            String result = aqgService.aqgForward(url);
            long endTime=System.currentTimeMillis();
            logger.info("爱牵挂-手表睡眠接收,请求参数:"+paraString+" "+(endTime-startTime)+"ms; 响应:"+result);
            return success();
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1,"Device data incoming failure");
        }
    }
    /*******************************************睡眠带end****************************************************************/
    /**
     * 返回接口处理结果