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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import java.util.List;

import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 商户申请 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MerchantApplyRespVO {

    @Schema(description = "商户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32267")
    @ExcelProperty("商户id")
    private Long id;

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

    @Schema(description = "商户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "非繁人")
    @ExcelProperty("商户名称")
    private String name;

    @Schema(description = "商户状态，关联商户状态表", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("商户状态，关联商户状态表")
    private Integer status;

    @Schema(description = "简介", example = "随便")
    @ExcelProperty("简介")
    private String description;

    @Schema(description = "商户负责人")
    @ExcelProperty("商户负责人")
    private String contact;

    @Schema(description = "所在地")
    @ExcelProperty("所在地")
    private String address;

    @Schema(description = "负责人电话")
    @ExcelProperty("负责人电话")
    private String contactNumber;

    @Schema(description = "域名")
    @ExcelProperty("域名")
    private String website;

    @Schema(description = "商户官网", example = "https://www.zhongxing.cn")
    @ExcelProperty("商户官网")
    private String businessUrl;

    @Schema(description = "维权电话")
    @ExcelProperty("维权电话")
    private String complaintsHotline;

    @Schema(description = "客服电话")
    @ExcelProperty("客服电话")
    private String customerServiceHotline;

    @Schema(description = "邮箱")
    @ExcelProperty("邮箱")
    private String email;

    @Schema(description = "营业执照图片路径")
    @ExcelProperty("营业执照图片路径")
    private String businessLicensePicture;

    @Schema(description = "服务套餐", example = "18036")
    @ExcelProperty("服务套餐")
    private Integer packageId;

    @Schema(description = "店铺数量", example = "31320")
    @ExcelProperty("店铺数量")
    private Integer shopCount;

    @Schema(description = "服务到期时间")
    @ExcelProperty("服务到期时间")
    private LocalDateTime expireTime;

    @Schema(description = "申请时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("申请时间")
    private LocalDateTime createTime;

    @Schema(description = "区域id，对应文件系统 src/main/resources/area.csv 中的id一列", example = "28982")
    @ExcelProperty("区域id，对应文件系统 src/main/resources/area.csv 中的id一列")
    private Long areaId;

    @Schema(description = "申请用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7189")
    @ExcelProperty("申请用户id")
    private Long applyMemberUserId;

    @Schema(description = "审核系统用户id", example = "29612")
    @ExcelProperty("审核系统用户id")
    private Long checkSystemUserId;

    @Schema(description = "审核时间")
    @ExcelProperty("审核时间")
    private LocalDateTime checkTime;

    @Schema(description = "审核意见")
    @ExcelProperty("审核意见")
    private String checkComment;

    @Schema(description = "申请备注")
    @ExcelProperty("申请备注")
    private String applyComment;

    @Schema(description = "审核状态：默认0表示未审核，1审核通过，2审核不通过", example = "1")
    @ExcelProperty("审核状态：默认0表示未审核，1审核通过，2审核不通过")
    private Integer checkStatus;

    @Schema(description = "账户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("账户名称")
    private String accountName;

    @Schema(description = "账户号码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("账户号码")
    private String accountNumber;

    @Schema(description = "开户银行", requiredMode = Schema.RequiredMode.REQUIRED, example = "非繁人")
    @ExcelProperty("开户银行")
    private String bankName;

    @Schema(description = "品牌授权书", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("品牌授权书")
    private String brandLicensing;

    @Schema(description = "其他证书", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("其他证书")
    private List<String> otherCertificate;

    @Schema(description = "法人", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("法人")
    private String legalPerson;

    @Schema(description = "法人电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("法人电话")
    private String legalPersonNumber;

    @Schema(description = "身份证正面", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("身份证正面")
    private String identityCardFront;

    @Schema(description = "身份证反面", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("身份证反面")
    private String identityCardReverseSide;

    @Schema(description = "审核人状态：默认1表示廖总，2徐总，3翁总, 0通过", example = "2")
    @ExcelProperty("审核人状态：默认1表示廖总，2徐总，3翁总, 0通过")
    private Integer checkPersonStatus;

}