package com.fs.watch.domain;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.UUID;

/**
 * 设备连续的血氧数据
 * @TableName watch_continuous_spo2_data
 */
public class WatchContinuousSpo2Data implements Serializable {
    private UUID id;
    private String deviceId;
    private List<Integer> spo2;       // spo2 数组
    private List<Integer> hr;         // hr 数组
    private List<Integer> perfusion;  // perfusion 数组
    private List<Integer> touch;      // touch 数组
    private String createTime; // 创建时间

    // 默认构造函数
    public WatchContinuousSpo2Data() {}

    // 全参构造函数
    public WatchContinuousSpo2Data(UUID id, String deviceId, List<Integer> spo2, List<Integer> hr,
                                   List<Integer> perfusion, List<Integer> touch, String createTime) {
        this.id = id;
        this.deviceId = deviceId;
        this.spo2 = spo2;
        this.hr = hr;
        this.perfusion = perfusion;
        this.touch = touch;
        this.createTime = createTime;
    }

    // Getter 和 Setter 方法
    public UUID getId() {
        return id;
    }

    public void setId(UUID id) {
        this.id = id;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public List<Integer> getSpo2() {
        return spo2;
    }

    public void setSpo2(List<Integer> spo2) {
        this.spo2 = spo2;
    }

    public List<Integer> getHr() {
        return hr;
    }

    public void setHr(List<Integer> hr) {
        this.hr = hr;
    }

    public List<Integer> getPerfusion() {
        return perfusion;
    }

    public void setPerfusion(List<Integer> perfusion) {
        this.perfusion = perfusion;
    }

    public List<Integer> getTouch() {
        return touch;
    }

    public void setTouch(List<Integer> touch) {
        this.touch = touch;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }
//    /**
//     * 主键id
//     */
//    private String id;
//
//    /**
//     * 设备编号
//     */
//    private String deviceId;
//
//    /**
//     * 血氧数据集合
//     */
//    private String jsonDataSpo2;
//
//    /**
//     * 心率数据集合
//     */
//    private String jsonDataHr;
//
//    /**
//     * 灌注指数集合
//     */
//    private String jsonDataPerfusion;
//
//    /**
//     * 触碰数据集合
//     */
//    private String jsonDataTouch;
//
//    /**
//     * 创建时间
//     */
//    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
//    private Date createTime;
//
//    private static final long serialVersionUID = 1L;
//
//    /**
//     * 主键id
//     */
//    public String getId() {
//        return id;
//    }
//
//    /**
//     * 主键id
//     */
//    public void setId(String id) {
//        this.id = id;
//    }
//
//    /**
//     * 设备编号
//     */
//    public String getDeviceId() {
//        return deviceId;
//    }
//
//    /**
//     * 设备编号
//     */
//    public void setDeviceId(String deviceId) {
//        this.deviceId = deviceId;
//    }
//
//    /**
//     * 血氧数据集合
//     */
//    public String getJsonDataSpo2() {
//        return jsonDataSpo2;
//    }
//
//    /**
//     * 血氧数据集合
//     */
//    public void setJsonDataSpo2(String jsonDataSpo2) {
//        this.jsonDataSpo2 = jsonDataSpo2;
//    }
//
//    /**
//     * 心率数据集合
//     */
//    public String getJsonDataHr() {
//        return jsonDataHr;
//    }
//
//    /**
//     * 心率数据集合
//     */
//    public void setJsonDataHr(String jsonDataHr) {
//        this.jsonDataHr = jsonDataHr;
//    }
//
//    /**
//     * 灌注指数集合
//     */
//    public String getJsonDataPerfusion() {
//        return jsonDataPerfusion;
//    }
//
//    /**
//     * 灌注指数集合
//     */
//    public void setJsonDataPerfusion(String jsonDataPerfusion) {
//        this.jsonDataPerfusion = jsonDataPerfusion;
//    }
//
//    /**
//     * 触碰数据集合
//     */
//    public String getJsonDataTouch() {
//        return jsonDataTouch;
//    }
//
//    /**
//     * 触碰数据集合
//     */
//    public void setJsonDataTouch(String jsonDataTouch) {
//        this.jsonDataTouch = jsonDataTouch;
//    }
//
//    /**
//     * 创建时间
//     */
//    public Date getCreateTime() {
//        return createTime;
//    }
//
//    /**
//     * 创建时间
//     */
//    public void setCreateTime(Date createTime) {
//        this.createTime = createTime;
//    }
//
//    @Override
//    public boolean equals(Object that) {
//        if (this == that) {
//            return true;
//        }
//        if (that == null) {
//            return false;
//        }
//        if (getClass() != that.getClass()) {
//            return false;
//        }
//        WatchContinuousSpo2Data other = (WatchContinuousSpo2Data) that;
//        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
//            && (this.getDeviceId() == null ? other.getDeviceId() == null : this.getDeviceId().equals(other.getDeviceId()))
//            && (this.getJsonDataSpo2() == null ? other.getJsonDataSpo2() == null : this.getJsonDataSpo2().equals(other.getJsonDataSpo2()))
//            && (this.getJsonDataHr() == null ? other.getJsonDataHr() == null : this.getJsonDataHr().equals(other.getJsonDataHr()))
//            && (this.getJsonDataPerfusion() == null ? other.getJsonDataPerfusion() == null : this.getJsonDataPerfusion().equals(other.getJsonDataPerfusion()))
//            && (this.getJsonDataTouch() == null ? other.getJsonDataTouch() == null : this.getJsonDataTouch().equals(other.getJsonDataTouch()))
//            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
//    }
//
//    @Override
//    public int hashCode() {
//        final int prime = 31;
//        int result = 1;
//        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
//        result = prime * result + ((getDeviceId() == null) ? 0 : getDeviceId().hashCode());
//        result = prime * result + ((getJsonDataSpo2() == null) ? 0 : getJsonDataSpo2().hashCode());
//        result = prime * result + ((getJsonDataHr() == null) ? 0 : getJsonDataHr().hashCode());
//        result = prime * result + ((getJsonDataPerfusion() == null) ? 0 : getJsonDataPerfusion().hashCode());
//        result = prime * result + ((getJsonDataTouch() == null) ? 0 : getJsonDataTouch().hashCode());
//        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
//        return result;
//    }
//
//    @Override
//    public String toString() {
//        StringBuilder sb = new StringBuilder();
//        sb.append(getClass().getSimpleName());
//        sb.append(" [");
//        sb.append("Hash = ").append(hashCode());
//        sb.append(", id=").append(id);
//        sb.append(", deviceId=").append(deviceId);
//        sb.append(", jsonDataSpo2=").append(jsonDataSpo2);
//        sb.append(", jsonDataHr=").append(jsonDataHr);
//        sb.append(", jsonDataPerfusion=").append(jsonDataPerfusion);
//        sb.append(", jsonDataTouch=").append(jsonDataTouch);
//        sb.append(", createTime=").append(createTime);
//        sb.append(", serialVersionUID=").append(serialVersionUID);
//        sb.append("]");
//        return sb.toString();
//    }
}
