| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package com.ruoyi.system.domain.dto;
- import jakarta.validation.constraints.Email;
- import jakarta.validation.constraints.NotBlank;
- import jakarta.validation.constraints.NotNull;
- import jakarta.validation.constraints.Pattern;
- import lombok.Data;
- /**
- * 客户申请开票入参。
- *
- * @author ruoyi
- * @date 2026-06-16
- */
- @Data
- public class ApplyInvoiceDto {
- /** 订单 id(须为当前登录客户的订单、state=3、payStatus=1) */
- @NotNull(message = "订单不能为空")
- private Long orderId;
- /** 发票类型 B2C/B2B */
- @NotBlank(message = "发票类型不能为空")
- @Pattern(regexp = "B2C|B2B|DONATION", message = "发票类型只能为 B2C、B2B 或 DONATION")
- private String category;
- /** 买方名称(B2B 公司名 / B2C 客户名;捐赠发票可不填,service 内按场景校验/回填) */
- private String buyerName;
- /** 买方统一编号(统编 8 码;B2B 必填,service 内强校验;B2C 不传) */
- @Pattern(regexp = "\\d{8}", message = "统一编号必须为 8 位数字")
- private String buyerUbn;
- /** 买方邮箱(B2B 必填;B2C 选 ezPay会员载具(2)时不收、其余可空) */
- @Email(message = "邮箱格式不正确")
- private String buyerEmail;
- /** 载具类型 0手机条码/1自然人凭证/2ezPay会员(B2C 必填,B2B 不传) */
- private String carrierType;
- /** 载具号码(carrierType 非空时必填,service 内校验) */
- private String carrierNum;
- /** 捐赠码(爱心码 3-7 位数字;category=B2C 且非空 → 捐赠分支,与载具/统编互斥,service 内校验) */
- private String loveCode;
- }
|