package cn.iocoder.hake.module.pay.controller.admin.serviceregist.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 商户服务注册新增/修改 Request VO")
@Data
public class ServiceRegistSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1663")
    private Long id;

    @Schema(description = "应用ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25229")
    @NotEmpty(message = "应用ID不能为空")
    private String appId;

    @Schema(description = "应用名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "应用名称不能为空")
    private String appName;

    @Schema(description = "渠道编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6018")
    @NotEmpty(message = "渠道编号不能为空")
    private String channelId;

    @Schema(description = "商户号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "商户号不能为空")
    private String mchNo;

    @Schema(description = "商户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotEmpty(message = "商户名称不能为空")
    private String mchName;

    @Schema(description = "应用状态: 0-停用, 1-正常", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "应用状态: 0-停用, 1-正常不能为空")
    private Integer state;

    @Schema(description = "应用公钥", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "应用公钥不能为空")
    private String appPubKey;

    @Schema(description = "应用私钥", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "应用私钥不能为空")
    private String appSecret;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

}