package cn.newfeifan.mall.sale.controller.admin.shop.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.*;

@Schema(description = "管理后台 - 店铺新增/修改 Request VO")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShopSaveReqVO {

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

    @Schema(description = "店铺名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "店铺名称不能为空")
    private String name;

    @Schema(description = "店铺状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "店铺状态不能为空")
    private Integer status;

    @Schema(description = "商户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3447")
    @NotNull(message = "商户id不能为空")
    private Long merchantId;

    @Schema(description = "logo地址", example = "https://www.zhongxing.cn")
    private String logoUrl;

    @Schema(description = "域名", example = "https://www.zhongxing.cn")
    private String website;

    @Schema(description = "是否启用全场包邮", example = "1")
    private Boolean deliveryExpressFreeEnabled;

    @Schema(description = "全场包邮的最小金额，单位：分", example = "10353")
    private Integer deliveryExpressFreePrice;

    @Schema(description = "是否开启自提", example = "1")
    private Boolean deliveryPickUpEnabled;

    @Schema(description = "账户名称", example = "非繁人")
    @NotNull(message = "账户名称不能为空")
    private String accountName;

    @Schema(description = "账户号码")
    @NotNull(message = "账户号码不能为空")
    private String accountNumber;

    @Schema(description = "开户银行", example = "李四")
    @NotNull(message = "开户银行不能为空")
    private String bankName;
}