package com.cpop.system.business.entity;

import com.cpop.core.base.entity.BaseEntity;
import com.cpop.core.base.entity.BaseInsertListener;
import com.cpop.core.base.entity.BaseUpdateListener;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 系统-店铺/校区表 实体类。
 *
 * @author DB
 * @since 2023-10-26
 */
@Data
@EqualsAndHashCode(callSuper=false)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Table(value = "j_sys_store", dataSource = "jambox", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
public class Store extends BaseEntity implements Serializable {

    /**
     * 店铺/校区id
     */
    @Id
    private String id;

    /**
     * 品牌id
     */
    private String brandId;

    /**
     * 店铺/校区名
     */
    private String storeName;

    /**
     * 负责人
     */
    private String personChargeName;

    /**
     * 手机号
     */
    private String personChargePhone;

    /**
     * 店铺/校区地址
     */
    private String storeAddr;

    /**
     * 校区横图
     */
    private String storeHorizontalGraph;

    /**
     * 省
     */
    private String province;

    /**
     * 市
     */
    private String city;

    /**
     * 区
     */
    private String region;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;

    /**
     * 校区营业执照地址
     */
    private String licenseAddr;

    /**
     * 校区营业执照日期
     */
    private String licenseDate;

    /**
     * 总部营业执照社会信用代码
     */
    private String licenseCreditCode;

    /**
     * 校区营业执照公司名
     */
    private String licenseFirmName;

    /**
     * 校区公司属性(0:个体;1:企业)
     */
    private Boolean licenseStats;

    /**
     * 校区营业执照法人名
     */
    private String licenseUsername;

    /**
     * 校区营业执照图片地址
     */
    private String licensePicUrl;

    /**
     * 微信商户名称
     */
    private String wxMchName;

    /**
     * 微信商户号
     */
    private String wxMchId;

    /**
     * 微信商户管理员
     */
    private String wxMchAdmin;

    /**
     * 授权产品（0：商城;1:先学后付次付;2:先学后付月付；3：一次性支付）
     */
    private Integer authProduct;

    /**
     * 校区学员端二维码
     */
    private String storeWxQr;

    /**
     * 合约内容
     */
    private String contractContent;

    /**
     * 合约签名
     */
    private String contractSign;

    /**
     * 开启课卡权益审批
     */
    private Boolean openCardEquityAudit;

    /**
     * 开启账单变动审核
     */
    private Boolean openBillChangeAudit;

    /**
     * 预创建员工权限组
     */
    private Boolean preCreateStaffPermissionGroup;

    /**
     * 创建课卡类型
     */
    private Boolean preCreateCardType;

    /**
     * 预创建客户类型
     */
    private Boolean preCreateCustomerType;

    /**
     * 开启预约人数隐藏
     */
    private Boolean openPreCustomerNumHide;

    /**
     * 开启金额隐藏
     */
    private Boolean openAmountHide;

    /**
     * 开启预约排队功能
     */
    private Boolean openPreQueue;

    /**
     * 开启按课次课消
     */
    private Boolean openClassTimeConsume;

    /**
     * 开启自动复制课表
     */
    private Boolean openAutoCopyClassSchedule;

    /**
     * 课前可预约时间
     */
    private Integer beforeClassCourseReservationTime;

    /**
     * 课前不可预约时间
     */
    private Integer beforeClassNotCourseReservationTime;

    /**
     * 课前取消预约时间
     */
    private Integer beforeClassCancelCourseReservationTime;

    /**
     * 课前请假时间
     */
    private Integer beforeClassLeaveTime;

    /**
     * 新课卡默认缓存时间
     */
    private Integer newClassCardBufferTime;

    /**
     * 品牌预设模板id
     */
    private String brandPreinstallTemplateId;

    /**
     * 是否首次登录
     */
    private Boolean perfectInformation;

    /**
     * 授权微信商户(使用品牌绑定的微信商户)
     */
    private Boolean authWxMch;

    /**
     * 逻辑删除（0否1是）
     */
    @Column(isLogicDelete = true)
    private Boolean isDelete;

}
