package com.agri.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.TableName;
import com.agri.common.annotation.Excel;
import com.agri.common.core.domain.BaseEntity;

/**
 * 大棚功能执行时间限位对象 sys_agri_limit_bak
 * 
 * @author lld
 * @date 2026-03-17
 */
@TableName("sys_agri_limit_bak")
public class SysAgriLimitBak extends BaseEntity
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private String id;

    /** 大棚ID */
    @Excel(name = "大棚ID")
    private Long agriId;

    /** 大棚名称 */
    @Excel(name = "大棚名称")
    private String agriName;

    /** imei */
    @Excel(name = "imei")
    private String imei;

    /** 卷膜 */
    @Excel(name = "卷膜")
    private String roller;

    /** 限位时间 */
    @Excel(name = "限位时间")
    private BigDecimal funcLimit;

    /** 数据版本号（乐观锁） */
    @Excel(name = "数据版本号", readConverterExp = "乐=观锁")
    @Version
    private String version;

    @TableField(exist = false)
    private Map<String, BigDecimal> limitMaps;

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

    public String getId() 
    {
        return id;
    }

    public void setAgriId(Long agriId) 
    {
        this.agriId = agriId;
    }

    public Long getAgriId() 
    {
        return agriId;
    }

    public void setAgriName(String agriName) 
    {
        this.agriName = agriName;
    }

    public String getAgriName() 
    {
        return agriName;
    }

    public void setImei(String imei) 
    {
        this.imei = imei;
    }

    public String getImei() 
    {
        return imei;
    }

    public void setRoller(String roller) 
    {
        this.roller = roller;
    }

    public String getRoller() 
    {
        return roller;
    }

    public BigDecimal getFuncLimit() {
        return funcLimit;
    }

    public void setFuncLimit(BigDecimal funcLimit) {
        this.funcLimit = funcLimit;
    }

    public void setVersion(String version)
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }

    public Map<String, BigDecimal> getLimitMaps() {
        return limitMaps;
    }

    public void setLimitMaps(Map<String, BigDecimal> limitMaps) {
        this.limitMaps = limitMaps;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("agriId", getAgriId())
            .append("agriName", getAgriName())
            .append("imei", getImei())
            .append("roller", getRoller())
            .append("remark", getRemark())
            .append("version", getVersion())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
