2026-06-25 a26b31cc9f3ee9b21b1a754e80fa7359e8a7a8f8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package cn.iocoder.yudao.module.pay.controller.admin.demo.vo.withdraw;
 
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.module.pay.enums.demo.PayDemoWithdrawTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.*;
import lombok.Data;
 
@Schema(description = "管理后台 - 示例提现单创建 Request VO")
@Data
public class PayDemoWithdrawCreateReqVO {
 
    @Schema(description = "提现标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿是一种菜")
    @NotEmpty(message = "提现标题不能为空")
    private String subject;
 
    @Schema(description = "提现金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
    @NotNull(message = "提现金额不能为空")
    @Min(value = 1, message = "提现金额必须大于零")
    private Integer price;
 
    @Schema(description = "收款人账号", requiredMode= Schema.RequiredMode.REQUIRED, example = "test1")
    @NotBlank(message = "收款人账号不能为空")
    private String userAccount;
 
    @Schema(description = "收款人姓名", example = "test1")
    private String userName;
 
    @Schema(description = "提现方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "提现方式不能为空")
    @InEnum(PayDemoWithdrawTypeEnum.class)
    private Integer type;
 
    @AssertTrue(message = "收款人姓名")
    public boolean isUserNameValid() {
        // 特殊:支付宝必须填写用户名!!!
        return ObjectUtil.notEqual(type, PayDemoWithdrawTypeEnum.ALIPAY.getType())
                || ObjectUtil.isNotEmpty(userName);
    }
 
}