package com.cyksj.model.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cyksj.model.BaseEntity;
import com.ejlchina.searcher.bean.SearchBean;
import lombok.Data;

import java.util.Date;

/**
 * @author chan
 * @date 2024/3/18 17:10
 */
@Data
@TableName("chatgpt_user")
@SearchBean(tables = "chatgpt_user")
public class ChatgptUser extends BaseEntity {

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

    /**
     * 头像
     */
    private String img;

    /**
     * 用户凭证
     */
    @TableField("userToken")
    private String userToken;

    /**
     * 过期时间
     */
    @TableField("expireTime")
    private Date expireTime;

    /**
     * 是否为plus
     */
    @TableField("isPlus")
    private Integer isPlus;

    /**
     * sessionId
     */
    @TableField("sessionId")
    private Long sessionId;

    /**
     * 车票id
     */
    @TableField("relationId")
    private Long relationId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 限制次数
     */
    private Integer limitNum;

    /**
     * 限制时间
     */
    private Long limitTime;

    /**
     * deepseek限制次数
     */
    private Integer dsLimitNum;

    /**
     * deepseek限制时间
     */
    private Long dsLimitTime;

    /**
     * 其他模型限制次数
     */
    private Integer otherLimitNum;

    /**
     * 其他模型限制时间
     */
    private Long otherLimitTime;

    /**
     * 是否为车队
     */
    private Boolean isCar;

    /**
     * 目前套餐包id
     */
    private Long packageId;

    /**
     * 是否封禁
     */
    private Boolean isBlock;

    /**
     * 清洗套餐包时间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date clearPackageTime;

    /**
     * 续费升级订单id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long renewOrderId;

    /**
     * 目前续费规格id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long renewSkuId;

    /**
     * 续费升级过期时间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date renewExpiryTime;

    /**
     * 用户目前模式 0旧版 1新版
     */
    private Integer model;

    /**
     * 是否是VIP
     */
    private Boolean isVip;
}