package com.hys.app.model.erp.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.hys.app.framework.database.mybatisplus.base.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.Map;

/**
 * 部门表
 */
@TableName(value = "erp_company")
@Data
@EqualsAndHashCode(callSuper = true)
public class CompanyErp extends BaseDO {

    public static final Long ROOT_ID = 0L;

    private Long id;
    /**
     * 名称
     */
    private String name;

    @ApiModelProperty("营业执照")
    @NotBlank(message = "营业执照不能为空")
    private String license;

    /**
     * 营业执照信息
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private Map licenseMsg;

    /**
     * 身份证正面
     */
    private String idCardFront;
    /**
     * 身份证正面信息
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private Map idCardMsgFront;

    /**
     * 身份证反面
     */
    private String idCardOpposite;
    /**
     * 身份证反面信息
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private Map idCardMsgOpposite;
    /**
     * 统一社会性用代码
     */
    private String creditCode;
    /**
     * 行业
     */
    private String industry;
    /**
     * 地址
     */
    private String address;
    /**
     * 省
     */
    private String province;
    /**
     * 市
     */
    private String city;
    /**
     * 县
     */
    private String area;
    /**
     * 邮政编码
     */
    private String postalCode;
    /**
     * 联系人
     */
    private String userName;
    /**
     * 联系人电话
     */
    private String phone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 官网
     */
    private String website;
    /**
     * 使用截止时间
     */
    private Date endUseTime;

    /**
     * 最大创建账号数
     */
    private Integer userNum;
    /**
     * 累计付款金额
     */
    private BigDecimal money;
    /**
     * 权限id
     */
    private Long roleId;

    /**
     * 权限id
     */
    private Long thisRoleId;

    /**
     * 本次付款金额
     */
    private BigDecimal thisMoney;

    /**
     * 本次购买天数
     */
    private Integer thisDay;

    /**
     * 最大创建账号数
     */
    private Integer thisUserNum;

    /**
     * 套餐id
     */
    private Long companyPackageId;

    private Long thisCompanyPackageId;

    private String firstPy;
    //小写首字母
    private String firstPyLower;

    private String pinying;

    private Long companyId;

    /**
     * 状态  和使用时间单独开没有任何关系，这个管理员可以随意改动，true和使用时间未到期才能登录使用
     */
    private Integer status = 0;

    private String  failReason ;

    private  String idCardNum;

    private String idCardTime;

    //商家的收款信息
    //appid
    private String aliAppId;

    // 阿里私钥
    private String aliAppPrivateKey;
    // 阿里公钥
    private  String aliAlipayPublicKey;
    // 微信店铺id
    private  String wxSubMchId;
}
