package com.ruoyi.bst.agreement.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.interfaces.LogBizParam;
import com.ruoyi.common.core.validate.ValidGroup;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 协议对象 bst_agreement
 *
 * @author ruoyi
 * @date 2025-04-07
 */
@Data
public class Agreement extends BaseEntity implements LogBizParam
{
    private static final long serialVersionUID = 1L;

    private Long id;
    
    @Excel(name = "运营区ID")
    @ApiModelProperty("运营区ID")
    private Long areaId;

    @Excel(name = "标题")
    @ApiModelProperty("标题")
    @NotBlank(message = "标题不能为空",groups = {ValidGroup.Create.class})
    private String title;

    @Excel(name = "简介")
    @ApiModelProperty("简介")
    private String brief;

    @Excel(name = "内容详情")
    @ApiModelProperty("内容详情")
    @NotBlank(message = "内容详情不能为空",groups = {ValidGroup.Create.class})
    private String content;

    @Excel(name = "协议类型:0-公告 1-租赁协议 ")
    @ApiModelProperty("协议类型:0-公告 1-租赁协议 ")
    @NotBlank(message = "协议类型不能为空",groups = {ValidGroup.Create.class})
    private String agreementType;

    @Excel(name = "内容类型:1-模板 2-正文")
    @ApiModelProperty("内容类型:1-模板 2-正文")
    @NotBlank(message = "内容类型不能为空",groups = {ValidGroup.Create.class})
    private String contentType;

    @Excel(name = "展示时间")
    @ApiModelProperty("展示时间")
    @NotNull(message = "展示时间不能为空",groups = {ValidGroup.Create.class})
    private Integer duration;

    @Override
    public Object logBizId() {
        return id;
    }
}
