package com.gxwebsoft.shop.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 商户入驻申请
 *
 * @author 科技小王子
 * @since 2025-01-11 10:45:12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(name = "ShopMerchantApply对象", description = "商户入驻申请")
public class ShopMerchantApply implements Serializable {
  private static final long serialVersionUID = 1L;

  @Schema(description = "ID")
  @TableId(value = "apply_id", type = IdType.AUTO)
  private Integer applyId;

  @Schema(description = "类型")
  private Integer type;

  @Schema(description = "店铺类型")
  private String shopType;

  @Schema(description = "商户名称")
  private String merchantName;

  @Schema(description = "商户图标")
  private String image;

  @Schema(description = "商户手机号")
  private String phone;

  @Schema(description = "商户姓名")
  private String realName;

  @Schema(description = "社会信用代码")
  private String merchantCode;

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

  @Schema(description = "身份证正面")
  private String sfz1;

  @Schema(description = "身份证反面")
  private String sfz2;

  @Schema(description = "营业执照")
  private String yyzz;

  @Schema(description = "行业父级分类")
  private Integer parentId;

  @Schema(description = "行业分类ID")
  private Integer categoryId;

  @Schema(description = "行业分类")
  private String category;

  @Schema(description = "手续费")
  private BigDecimal commission;

  @Schema(description = "关键字")
  private String keywords;

  @Schema(description = "资质图片")
  private String files;

  @Schema(description = "所有人")
  private Integer userId;

  @Schema(description = "是否自营")
  private Integer ownStore;

  @Schema(description = "是否推荐")
  private Integer recommend;

  @Schema(description = "是否需要审核")
  private Integer goodsReview;

  @Schema(description = "工作负责人")
  private String name2;

  @Schema(description = "驳回原因")
  private String reason;

  @Schema(description = "审核完成时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private LocalDateTime completedTime;

  @Schema(description = "审核状态")
  private Boolean checkStatus;

  @Schema(description = "备注")
  private String comments;

  @Schema(description = "状态")
  private Integer status;

  @Schema(description = "排序号")
  private Integer sortNumber;

  @Schema(description = "租户id")
  private Integer tenantId;

  @Schema(description = "应用名称")
  @TableField(exist = false)
  private String tenantName;

  @Schema(description = "应用图标")
  @TableField(exist = false)
  private String logo;

  @Schema(description = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private LocalDateTime createTime;

}
