package com.ruoyi.model.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 用户表对象 app_users
 *
 * @author daixiande
 */
@Data
public class AppUsers {
    private static final long serialVersionUID = 1L;

    /** 用户编号 */
    @TableId
    private Long userId;

    /** 创建人 */
    private String createBy;

    /** 创建时间 */
    private LocalDateTime createTime;

    /** 逻辑删除 */
    private Integer delFlag;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 修改时间 */
    private LocalDateTime updateTime;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updatorBy;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String userImage;

    /** 用户名称 */
    @Excel(name = "用户名称")
    private String userName;

    /** 用户状态, 0==为注册, 1==已注册为认证 */
    @Excel(name = "用户状态, 0==为注册, 1==已注册为认证")
    private Long userState;

    /** 用户电话 */
    @Excel(name = "用户电话")
    private String userTelephone;

    /** 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段 */
    @Excel(name = "只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段")
    private String unionid;

    /** 用户的标识，对当前公众号唯一 */
    @Excel(name = "用户的标识，对当前公众号唯一")
    private String openid;

    /** token */
    @Excel(name = "token")
    private String accessToken;

    /** 过期时间 */
    @Excel(name = "过期时间")
    private Integer expiresIn;

    /** 刷新token */
    @Excel(name = "刷新token")
    private String refreshToken;

    /** 过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expireTime;

    /** 是否合伙人 */
    @Excel(name = "是否合伙人")
    private Integer userHh;

    /** 是否伴宠师 */
    @Excel(name = "是否伴宠师")
    private Integer userBcs;

    /** 钱包金额 */
    @Excel(name = "钱包金额")
    private BigDecimal price;

    /** 邀请码 */
    @Excel(name = "邀请码")
    private String invitationCode;

    /** 邀请人数 */
    @Excel(name = "邀请人数")
    private Integer invitationNumber;

    /** 保证金 */
    @Excel(name = "保证金")
    private BigDecimal baoPrice;

    /** 伴宠师角色 */
    @Excel(name = "伴宠师角色")
    private Integer userBcsRole;

    /** 合伙人角色 */
    @Excel(name = "合伙人角色")
    private Integer userHhRole;

    /** 合伙人佣金 */
    @Excel(name = "合伙人佣金")
    private BigDecimal money;

    /** 合伙人入驻时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "合伙人入驻时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime hhStartTime;

    //伴宠师注册信息
    @TableField(exist = false)
    private AppletUsersTeacher appletUsersTeacher;

    //伴宠师注册信息
    @TableField(exist = false)
    List<AppletAddress> appletAddresseList;

    @ApiModelProperty("评价条数")
    @TableField(exist = false)
    private Integer commentNum;

    @ApiModelProperty("服务小结份数")
    @TableField(exist = false)
    private Integer serviceSummaryNum;

    @ApiModelProperty("点赞次数")
    @TableField(exist = false)
    private Integer upNum;


    @ApiModelProperty("距离")
    @TableField(exist = false)
    private double distance;

    @TableField(exist = false)
    private Integer evaluationNum;
}
