package com.yuchen.saas.payment.api.dto.invoice;

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

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

/**
 * @Author 蔡文强
 * @Date 2023/9/13 15:56
 * @Description 开票说明DTO
 */
@Data
@ApiModel(value = "SaasInvoiceInstructionDTO对象", description = "开票说明DTO")
public class SaasInvoiceInstructionDTO {

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    private Long id;
    /**
     * 开票说明类型(1:统一开票说明 2:第三方开票说明)
     */
    @ApiModelProperty(name = "instructionType", value = "开票说明类型(1:统一开票说明 2:第三方开票说明)")
    @NotNull(message = "开票说明类型不能为空")
    private Integer instructionType;
    /**
     * 开票说明标题
     */
    @ApiModelProperty(name = "title", value = "开票说明标题")
    @NotBlank(message = "开票说明标题不能为空")
    @Size(max = 100, message = "开票说明标题不能超过100字符")
    private String title;
    /**
     * 开票说明内容
     */
    @ApiModelProperty(name = "content", value = "开票说明内容")
    @NotBlank(message = "开票说明内容不能为空")
    @Size(max = 1000, message = "开票说明内容不能超出1000字符")
    private String content;
    /**
     * 应用ID
     */
    @ApiModelProperty(name = "appId", value = "应用ID")
    @NotBlank(message = "应用ID不能为空")
    private String appId;

}
