package com.jeesharp.business.modules.member.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.jeesharp.framework.pojo.vo.BaseInfoVO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 会员导入VO
 *
 * @author jeesharp
 * @version 2024-01-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "会员导入VO")
public class MemberImportVO extends BaseInfoVO {

    @ExcelProperty("会员昵称")
    @Schema(description = "会员昵称")
    private String nickname;

    @ExcelProperty("真实姓名")
    @Schema(description = "真实姓名")
    private String realName;

    @ExcelProperty("手机号")
    @NotBlank(message = "手机号不能为空")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    @Schema(description = "手机号")
    private String mobile;

    @ExcelProperty("性别")
    @Schema(description = "性别名称（男/女/未知）")
    private String genderName;

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

    @ExcelProperty("身份证号")
    @Schema(description = "身份证号")
    private String idCard;

    @ExcelProperty("生日")
    @Schema(description = "生日（格式：yyyy-MM-dd）")
    private String birthday;

    @ExcelProperty("省份")
    @Schema(description = "省份")
    private String province;

    @ExcelProperty("城市")
    @Schema(description = "城市")
    private String city;

    @ExcelProperty("区县")
    @Schema(description = "区县")
    private String district;

    @ExcelProperty("详细地址")
    @Schema(description = "详细地址")
    private String address;

    @ExcelProperty("会员来源")
    @Schema(description = "会员来源（APP/WECHAT_MINI/H5/PC/IMPORT）")
    private String source;

    @ExcelProperty("备注")
    @Schema(description = "备注")
    private String remarks;
}
