package cn.ey.biz.module.system.api.category.dto;

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

import java.io.Serializable;
import java.time.LocalDateTime;

@ApiModel("RPC 服务 - 字典分类配置数据 Response DTO")
@Data
public class CategoryCodeExtraRespDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "类型")
    private String categoryType;

    @ApiModelProperty(value = "编码")
    private String categoryCode;

    @ApiModelProperty(value = "类型名称")
    private String categoryName;

    @ApiModelProperty(value = "系统数据标识")
    private String sysFlag;

    @ApiModelProperty(value = "状态（0正常 1停用）", required = true)
    private Integer status;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "所属应用", example = "timesheet", required = true)
    private String ownerApp;

    @ApiModelProperty(value = "存储类型", example = "0", required = true, notes = "0-聚合 ;1 独立")
    private Integer storeType;

    @ApiModelProperty(value = "存储表名", example = "system_category_data", notes = "如果存储类型为1 则必填,否则为system_category_data")
    private String storeTableName;

    @ApiModelProperty(value = "版本号", example = "1")
    private Long categoryVersion;

    @ApiModelProperty(value = "是否最新版本", example = "1", notes = "0-否 1-是")
    private Integer isNewVersion;

    @ApiModelProperty(value = "是否可以修改", example = "1", notes = "0-否 1-是")
    private Integer isModify;

    @ApiModelProperty(value = "是否有版本控制", example = "1", notes = "0-否 1-是")
    private Integer isVersionControl;

    @ApiModelProperty(value = "需要同步", example = "1", notes = "0-否 1-是")
    private Integer needSync;

    @ApiModelProperty(value = "是否全量策略", example = "1", notes = "0-否 1-是")
    private Integer isFullSync;

    @ApiModelProperty(value = "业务主键", notes = "json string")
    private String bizKey;

    @ApiModelProperty(value = "更新时间", example = "xxx")
    private LocalDateTime updateTime;

}
