package com.ruoyi.ems.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 电价策略对象 adm_elecprice_strategy
 * 
 * @author ruoyi
 * @date 2024-08-23
 */
public class ElecPriceStrategy extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 策略代码 */
    @Excel(name = "策略代码")
    private String strategyCode;

    /** 策略名称 */
    @Excel(name = "策略名称")
    private String strategyName;

    @Excel(name = "策略名称")
    private String strategyDesc;

    /** 重复类型 */
    @Excel(name = "重复类型")
    private int repeatType;

    /** 重复参数 */
    @Excel(name = "重复参数")
    private String repeatParam;

    /** 优先级 */
    @Excel(name = "优先级")
    private Long priority;

    /** 编辑标记 */
    private Integer editFlag = 1;

    private List<ElecPriceStrategyHour> hourList;

    public Long getId() {
        return id;
    }

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

    public String getStrategyCode() {
        return strategyCode;
    }

    public void setStrategyCode(String strategyCode) {
        this.strategyCode = strategyCode;
    }

    public String getStrategyName() {
        return strategyName;
    }

    public void setStrategyName(String strategyName) {
        this.strategyName = strategyName;
    }

    public String getStrategyDesc() {
        return strategyDesc;
    }

    public void setStrategyDesc(String strategyDesc) {
        this.strategyDesc = strategyDesc;
    }

    public int getRepeatType() {
        return repeatType;
    }

    public void setRepeatType(int repeatType) {
        this.repeatType = repeatType;
    }

    public String getRepeatParam() {
        return repeatParam;
    }

    public void setRepeatParam(String repeatParam) {
        this.repeatParam = repeatParam;
    }

    public Long getPriority() {
        return priority;
    }

    public void setPriority(Long priority) {
        this.priority = priority;
    }

    public Integer getEditFlag() {
        return editFlag;
    }

    public void setEditFlag(Integer editFlag) {
        this.editFlag = editFlag;
    }

    public List<ElecPriceStrategyHour> getHourList() {
        return hourList;
    }

    public void setHourList(List<ElecPriceStrategyHour> hourList) {
        this.hourList = hourList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("strategyCode", getStrategyCode())
            .append("strategyName", getStrategyName())
            .append("strategyDesc", getStrategyDesc())
            .append("repeatType", getRepeatType())
            .append("repeatParam", getRepeatParam())
            .append("priority", getPriority())
            .append("editFlag", getEditFlag())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
