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.*;

/**
 * @Author 蔡文强
 * @Date 2023/9/13 15:56
 * @Description 费用项目DTO
 */
@Data
@ApiModel(value = "SaasInvoiceExpenseItemDTO对象", description = "费用项目DTO")
public class SaasInvoiceExpenseItemDTO {
    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    private Long id;
    /**
     * 业务类型ID
     */
    @ApiModelProperty(name = "businessType", value = "业务类型ID")
    @NotNull(message = "业务类型不能为空")
    private Long businessType;
    /**
     * 订单类型(1or3:临停 2:月卡 20:错时卡 26:充电 30:占位费)
     */
    @ApiModelProperty(name = "orderType", value = "订单类型(1or3:临停 2:月卡 20:错时卡 26:充电 30:占位费)")
    private String orderType;
    /**
     * 费用项目名称
     */
    @ApiModelProperty(name = "itemName", value = "费用项目名称")
    @NotBlank(message = "费用项目名称不能为空")
    @Size(max = 100, message = "费用项目名称不能超过100字符")
    private String itemName;
    /**
     * 费用项目编号
     */
    @ApiModelProperty(name = "itemNo", value = "费用项目编号")
    private String itemNo;
    /**
     * 税收分类ID
     */
    @ApiModelProperty(name = "taxCategoryId", value = "税收分类ID")
    @NotNull(message = "税收分类ID不能为空")
    private Long taxCategoryId;
    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    @Size(max = 500, message = "备注不能超出500字符")
    private String remark;
}
