package com.sqx.modules.app.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;


/**
 * 用户
 *
 */
@Data
@ApiModel("用户")
@TableName("tb_user")
public class UserEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@TableId(type = IdType.AUTO)

	@ApiModelProperty("用户id")
	private Long userId;


	@ApiModelProperty("用户名")
	private String userName;


	@ApiModelProperty("用户类型 1用户 2骑手师傅")
	private Integer userType;


	@ApiModelProperty("手机号")
	private String phone;


	@ApiModelProperty("头像")
	private String avatar;


	@ApiModelProperty("昵称")
	private String nickName;


	@ApiModelProperty("性别 1男 2女")
	private Integer sex;


	@ApiModelProperty("年龄")
	private Integer age;


	@ApiModelProperty("保证金")
	private BigDecimal cashDeposit;


	@ApiModelProperty("账户余额")
	private BigDecimal balance;


	@ApiModelProperty("证件号码")
	private String identityCardNumber;


	@ApiModelProperty("身份证正面图片")
	private String identityCardFront;


	@ApiModelProperty("身份证反面图片")
	private String identityCardVerso;


	@ApiModelProperty("手持身份证正面图片")
	private String selfIdentityCard;


	@ApiModelProperty("实名认证审核状态（0：待审核；1：审核通过；2：审核不通过）")
	private String checkCertification;


	@ApiModelProperty("实名认证审核说明")
	private String checkCertificationMessage;


	@ApiModelProperty("邀请码")
	private String invitationCode;


	@ApiModelProperty("邀请人邀请码")
	private String inviterCode;


	@ApiModelProperty("微信app openid")
	private String wxOpenId;


	@ApiModelProperty("rider_wx_open_id")
	private String riderWxOpenId;


	@ApiModelProperty("普通用户微信小程序openid")
	private String openId;


	@ApiModelProperty("骑手用户微信小程序openid")
	private String riderOpenId;

	@ApiModelProperty("商家用户微信小程序openid")
	private String shopOpenId;


	@ApiModelProperty("密码")
	private String password;


	@ApiModelProperty("苹果id")
	private String appleId;


	@ApiModelProperty("手机类型 1安卓 2ios")
	private Integer sysPhone;


	@ApiModelProperty("状态 1正常 2禁用")
	private Integer status;


	@ApiModelProperty("来源 app 小程序 公众号")
	private String platform;


	@ApiModelProperty("积分")
	private Integer jifen;


	@ApiModelProperty("设备id")
	private String clientid;


	@ApiModelProperty("骑手设备id")
	private String riderClientid;

	@ApiModelProperty("商家设备id")
	private String shopClientId;


	@ApiModelProperty("支付宝名字")
	private String zhiFuBaoName;


	@ApiModelProperty("支付宝账号")
	private String zhiFuBao;


	@ApiModelProperty("创建时间")
	private String createTime;


	@ApiModelProperty("更新时间")
	private String updateTime;


	@ApiModelProperty("用户类型")
	private Integer type;


	@ApiModelProperty("用户提交实名认证时间")
	private String auditTime;


	@ApiModelProperty("该用户是否是跑腿新用户 1：是新用户 2：是老用户")
	private Integer newUserFlag;


	@ApiModelProperty("该用户是否是外卖新用户 1：是新用户 2：是老用户")
	private Integer newUserFlagWm;


	@ApiModelProperty("骑手当前经度")
	private Double stationLng;


	@ApiModelProperty("骑手当前维度")
	private Double stationLat;


	@ApiModelProperty("骑手是否上线 1：上线 2：未上线")
	private Integer onLineFlag;


	@ApiModelProperty("实名认证支付保证金订单号")
	private String checkNumber;


	@ApiModelProperty("是否是门店用户 1是")
	private Integer shopAdminFlag;


	@ApiModelProperty("门店管理员id")
	private Long adminUserId;

	@ApiModelProperty("用户提现二维码")
	@TableField(value = "cash_qr_code")
	private String cashQrCode;

	@ApiModelProperty("是否推送消息")
	private Integer isSendMsg;

	private String msg;

	@ApiModelProperty("是否是会员 0不是  1是")
	private Integer isVip;

	@ApiModelProperty("会员到期时间")
	private String vipExpirationTime;

	@TableField(exist = false)
	private BigDecimal money;

	@TableField(exist = false)
	private BigDecimal integralNum;

	//本月下单数量
	@TableField(exist = false)
	private Integer orderMonth;

	//本月接单数量
	@TableField(exist = false)
	private Integer joinOrderMonth;

	//本月充值
	@TableField(exist = false)
	private BigDecimal topUpMonth;

	//骑手收入
	@TableField(exist = false)
	private BigDecimal riderMoney;

	//提现金额
	@TableField(exist = false)
	private BigDecimal cashMoney;

	@TableField(exist = false)
	private String indentNumber;

	@TableField(exist = false)
	private Double distance;

	@TableField(exist = false)
	private Integer shopStatus;

	@TableField(exist = false)
	private Long shopId;

}
