package com.heyu.api.data.entity.operation;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.lz.mybatis.plugin.annotations.AS;

import java.math.BigDecimal;
import java.util.Date;import java.util.Date;
/**
*场景下的条件配置
* @author quyixiao
* @since 2025-03-04
*/

@Data
@TableName("operatin_condition")
public class OperatinConditionEntity implements java.io.Serializable {
private static final long serialVersionUID = 1L;

    public final static String CLASS_NAME ="com.heyu.api.data.entity.operation.OperatinConditionEntity:";

    public final static String all = CLASS_NAME + "*";
    public final static String id_ = CLASS_NAME + "id";                                   // 
    public final static String is_delete = CLASS_NAME + "is_delete";                      // 是否删除：0 否 1 删除
    public final static String create_time = CLASS_NAME + "create_time";                  // 创建时间
    public final static String modify_time = CLASS_NAME + "modify_time";                  // 修改时间
    public final static String type_ = CLASS_NAME + "type";                               // 条件类型：0：时间，1：节日 2：天气（晴天、阴天、下雨、下雪、冰雹、高温、泥石流、地震） 3：人体靠近感应 4：人体离开感应 5：声音感应 6：光照变亮感应 7：光照变暗感应 8：温度升高感应 9：温度降低感应 10：雨量感应 11：湿度变大感应 12：湿度变小感应 13：空气质量变差感应 14：空气质量变好感应 15：新闻事件
    public final static String operation_mode_id = CLASS_NAME + "operation_mode_id";      // 模式id
    public final static String operation_scene_id = CLASS_NAME + "operation_scene_id";    // 场景ID
    public final static String condition_ = CLASS_NAME + "condition";                     // 触发条件，根据type的值来确定具体的值的属性
    //
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    //是否删除：0 否 1 删除
    private Integer isDelete;
    //创建时间
    private Date createTime;
    //修改时间
    private Date modifyTime;
    //条件类型：0：时间，1：节日 2：天气（晴天、阴天、下雨、下雪、冰雹、高温、泥石流、地震） 3：人体靠近感应 4：人体离开感应 5：声音感应 6：光照变亮感应 7：光照变暗感应 8：温度升高感应 9：温度降低感应 10：雨量感应 11：湿度变大感应 12：湿度变小感应 13：空气质量变差感应 14：空气质量变好感应 15：新闻事件
    private Integer type;
    //模式id
    private Long operationModeId;
    //场景ID
    private Long operationSceneId;
    //触发条件，根据type的值来确定具体的值的属性
    private String condition;
    /**
     *  
     * @return
     */
    public Long getId() {
        return id;
    }
    /**
     *  
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 是否删除：0 否 1 删除 
     * @return
     */
    public Integer getIsDelete() {
        return isDelete;
    }
    /**
     * 是否删除：0 否 1 删除 
     * @param isDelete
     */
    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 创建时间 
     * @return
     */
    public Date getCreateTime() {
        return createTime;
    }
    /**
     * 创建时间 
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 修改时间 
     * @return
     */
    public Date getModifyTime() {
        return modifyTime;
    }
    /**
     * 修改时间 
     * @param modifyTime
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 条件类型：0：时间，1：节日 2：天气（晴天、阴天、下雨、下雪、冰雹、高温、泥石流、地震） 3：人体靠近感应 4：人体离开感应 5：声音感应 6：光照变亮感应 7：光照变暗感应 8：温度升高感应 9：温度降低感应 10：雨量感应 11：湿度变大感应 12：湿度变小感应 13：空气质量变差感应 14：空气质量变好感应 15：新闻事件 
     * @return
     */
    public Integer getType() {
        return type;
    }
    /**
     * 条件类型：0：时间，1：节日 2：天气（晴天、阴天、下雨、下雪、冰雹、高温、泥石流、地震） 3：人体靠近感应 4：人体离开感应 5：声音感应 6：光照变亮感应 7：光照变暗感应 8：温度升高感应 9：温度降低感应 10：雨量感应 11：湿度变大感应 12：湿度变小感应 13：空气质量变差感应 14：空气质量变好感应 15：新闻事件 
     * @param type
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 模式id 
     * @return
     */
    public Long getOperationModeId() {
        return operationModeId;
    }
    /**
     * 模式id 
     * @param operationModeId
     */
    public void setOperationModeId(Long operationModeId) {
        this.operationModeId = operationModeId;
    }

    /**
     * 场景ID 
     * @return
     */
    public Long getOperationSceneId() {
        return operationSceneId;
    }
    /**
     * 场景ID 
     * @param operationSceneId
     */
    public void setOperationSceneId(Long operationSceneId) {
        this.operationSceneId = operationSceneId;
    }

    /**
     * 触发条件，根据type的值来确定具体的值的属性 
     * @return
     */
    public String getCondition() {
        return condition;
    }
    /**
     * 触发条件，根据type的值来确定具体的值的属性 
     * @param condition
     */
    public void setCondition(String condition) {
        this.condition = condition;
    }

    @Override
    public String toString() {
        return "OperatinConditionEntity{" +
                ",id=" + id +
                ",isDelete=" + isDelete +
                ",createTime=" + createTime +
                ",modifyTime=" + modifyTime +
                ",type=" + type +
                ",operationModeId=" + operationModeId +
                ",operationSceneId=" + operationSceneId +
                ",condition=" + condition +
                "}";
    }
}