package com.flossom.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.flossom.common.core.annotation.Excel;
import com.flossom.common.core.web.domain.BaseEntity;

import java.time.LocalTime;
import java.util.Date;
import java.util.List;

/**
 * 用户护理日志对象 wx_nursing_log
 *
 * @author flossom
 * @date 2024-01-29
 */
public class WxNursingLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    private Long id;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private Long userId;

    /**
     * 设备id
     */
    @Excel(name = "设备id")
    private Long instrumentId;

    /**
     * 设备名称
     */
    private String instrumentName;

    /**
     * 仪器：1、普通仪器 2、iot仪器
     */
    private Integer instrumentType;

    /**
     * 是否在线，1在线，2离线
     */
    @Excel(name = "是否在线，1在线，2离线")
    private Long online;

    /**
     * 模式ID
     */
    @Excel(name = "模式ID")
    private Long modeId;

    /**
     * 模式名称
     */
    @Excel(name = "模式名称")
    private String modeName;

    /**
     * 护理时长
     */
    @Excel(name = "护理时长")
    private LocalTime nursingTime;

    /**
     * 完成度
     */
    private Double completionPercentage;

    /**
     * 模式图片
     */
    private String modeImage;

    /**
     * 状态（0正常 1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private Long status;

    @Excel(name = "陪伴模式")
    private Integer accompanyMode;

    @Excel(name = "挡位1")
    private Integer gearPositionOne;

    @Excel(name = "挡位2")
    private Integer gearPositionTwo;

    @Excel(name = "挡位3")
    private Integer gearPositionThree;

    @Excel(name = "挡位4")
    private Integer gearPositionFour;

    @Excel(name = "能量总值")
    private Integer energyValue;

    @Excel(name = "水分数据1")
    private Integer waterDataOne;

    @Excel(name = "水分数据2")
    private Integer waterDataTwo;

    @Excel(name = "水分数据3")
    private Integer waterDataThree;

    @Excel(name = "总护理天数")
    private Integer nursingDays;

    @Excel(name = "本周护理天数")
    private Integer nursingDaysWeek;

    @Excel(name = "本月护理天数")
    private Integer nursingDaysMonth;

    @Excel(name = "本年护理天数")
    private Integer nursingDaysYear;

    /**
     * 后管展示使用
     */
    private String headimg;
    private String nickname;
    private String mobile;
    private String wecomTagListStr;
    private String miniProgramTagListStr;
    /* 用户注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date userMemberCreateTime;
    /* 仪器绑定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date instrumentBindingTime;

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

    public Long getId() {
        return id;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setInstrumentId(Long instrumentId) {
        this.instrumentId = instrumentId;
    }

    public Long getInstrumentId() {
        return instrumentId;
    }

    public void setOnline(Long online) {
        this.online = online;
    }

    public Long getOnline() {
        return online;
    }

    public void setModeId(Long modeId) {
        this.modeId = modeId;
    }

    public Long getModeId() {
        return modeId;
    }

    public void setModeName(String modeName) {
        this.modeName = modeName;
    }

    public String getModeName() {
        return modeName;
    }

    public void setNursingTime(LocalTime nursingTime) {
        this.nursingTime = nursingTime;
    }

    public LocalTime getNursingTime() {
        return nursingTime;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public Long getStatus() {
        return status;
    }


    public Double getCompletionPercentage() {
        return completionPercentage;
    }

    public void setCompletionPercentage(Double completionPercentage) {
        this.completionPercentage = completionPercentage;
    }

    public String getInstrumentName() {
        return instrumentName;
    }

    public void setInstrumentName(String instrumentName) {
        this.instrumentName = instrumentName;
    }

    public String getModeImage() {
        return modeImage;
    }

    public void setModeImage(String modeImage) {
        this.modeImage = modeImage;
    }

    public Integer getInstrumentType() {
        return instrumentType;
    }

    public void setInstrumentType(Integer instrumentType) {
        this.instrumentType = instrumentType;
    }

    public String getHeadimg() {
        return headimg;
    }

    public void setHeadimg(String headimg) {
        this.headimg = headimg;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getWecomTagListStr() {
        return wecomTagListStr;
    }

    public void setWecomTagListStr(String wecomTagListStr) {
        this.wecomTagListStr = wecomTagListStr;
    }

    public String getMiniProgramTagListStr() {
        return miniProgramTagListStr;
    }

    public void setMiniProgramTagListStr(String miniProgramTagListStr) {
        this.miniProgramTagListStr = miniProgramTagListStr;
    }

    public Date getUserMemberCreateTime() {
        return userMemberCreateTime;
    }

    public void setUserMemberCreateTime(Date userMemberCreateTime) {
        this.userMemberCreateTime = userMemberCreateTime;
    }

    public Date getInstrumentBindingTime() {
        return instrumentBindingTime;
    }

    public void setInstrumentBindingTime(Date instrumentBindingTime) {
        this.instrumentBindingTime = instrumentBindingTime;
    }

    public Integer getAccompanyMode() {
        return accompanyMode;
    }

    public void setAccompanyMode(Integer accompanyMode) {
        this.accompanyMode = accompanyMode;
    }

    public Integer getGearPositionOne() {
        return gearPositionOne;
    }

    public void setGearPositionOne(Integer gearPositionOne) {
        this.gearPositionOne = gearPositionOne;
    }

    public Integer getGearPositionTwo() {
        return gearPositionTwo;
    }

    public void setGearPositionTwo(Integer gearPositionTwo) {
        this.gearPositionTwo = gearPositionTwo;
    }

    public Integer getGearPositionThree() {
        return gearPositionThree;
    }

    public void setGearPositionThree(Integer gearPositionThree) {
        this.gearPositionThree = gearPositionThree;
    }

    public Integer getGearPositionFour() {
        return gearPositionFour;
    }

    public void setGearPositionFour(Integer gearPositionFour) {
        this.gearPositionFour = gearPositionFour;
    }

    public Integer getEnergyValue() {
        return energyValue;
    }

    public void setEnergyValue(Integer energyValue) {
        this.energyValue = energyValue;
    }

    public Integer getWaterDataOne() {
        return waterDataOne;
    }

    public void setWaterDataOne(Integer waterDataOne) {
        this.waterDataOne = waterDataOne;
    }

    public Integer getWaterDataTwo() {
        return waterDataTwo;
    }

    public void setWaterDataTwo(Integer waterDataTwo) {
        this.waterDataTwo = waterDataTwo;
    }

    public Integer getWaterDataThree() {
        return waterDataThree;
    }

    public void setWaterDataThree(Integer waterDataThree) {
        this.waterDataThree = waterDataThree;
    }

    public Integer getNursingDays() {
        return nursingDays;
    }

    public void setNursingDays(Integer nursingDays) {
        this.nursingDays = nursingDays;
    }

    public Integer getNursingDaysWeek() {
        return nursingDaysWeek;
    }

    public void setNursingDaysWeek(Integer nursingDaysWeek) {
        this.nursingDaysWeek = nursingDaysWeek;
    }

    public Integer getNursingDaysMonth() {
        return nursingDaysMonth;
    }

    public void setNursingDaysMonth(Integer nursingDaysMonth) {
        this.nursingDaysMonth = nursingDaysMonth;
    }

    public Integer getNursingDaysYear() {
        return nursingDaysYear;
    }

    public void setNursingDaysYear(Integer nursingDaysYear) {
        this.nursingDaysYear = nursingDaysYear;
    }
}
