package com.chushang.inspection.terminal.vo;

import com.chushang.common.dict.annotation.DictFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StoreVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long storeId;

    /**
     * 商户编号
     */
    private String storeNo;

    /**
     * 商户名称
     */
    private String storeName;

    /**
     * 商户联系人
     */
    private String storeContact;

    /**
     * 门店名称
     */
    private String shopName;

    /**
     * 特殊商户编号
     */
    private String specialNum;

    /**
     * 商户联系方式
     */
    private String storePhone;

    /**
     * 商户地址
     */
    private String storeAddress;


    private Long lowerTaskId;

    /**
     * 当前任务名称
     * lower_task_id
     */
    private String taskName;

    /**
     * 商户类型
     */
    @DictFormat(dictType = "store_type")
    private Integer storeType;

    /**
     * 现有其他收单产品
     */
    private String products;

    /**
     * 商户提示工具
     */
    private String tipTool;

    /**
     * 建档日期
     */
    private LocalDate registerTime;

    /**
     * 巡检频次
     */
    @DictFormat(dictType = "ins_fre")
    private Integer insFre;

    /**
     * 客户经理
     */
    private String accountManager;

    /**
     * 经理电话
     */
    private String accountPhone;

    private Long taskId;
    /**
     * 总任务名
     * -- taskId
     */
    private String totalTaskName;

    /**
     * 注册地址
     */
    private String registerAddress;

    /**
     * 法人/负责人
     */
    private String legalName;

    /**
     * 创建者
     * -- 创建人
     */
    protected String createBy;

    /**
     * 创建日期
     */
    protected LocalDateTime createTime;
    /**
     * 商户状态
     */
    @DictFormat(dictType = "mer_status")
    private Integer storeStatus;
    /**
     * 终端数量
     */
    private Integer countTerminal;

    /**
     * 部门ID
     */
    private Long deptId;
    /**
     * 部门名称
     */
    private String deptName;
}
