package org.springblade.modules.platform.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户积分表实体类
 *
 * @author BladeX
 * @since 2022-02-13
 */
@Data
@TableName("biz_user_integral")
@ApiModel(value = "UserScores对象", description = "用户积分表")
public class UserIntegral implements Serializable {

	private static final long serialVersionUID = 1L;

	@JsonSerialize(using = ToStringSerializer.class)
	@TableId(value = "id", type = IdType.ASSIGN_ID)
	@ApiModelProperty(value = "主键Id")
	private Long id;
	/**
	 * 用户ID
	 */
	@ApiModelProperty(value = "用户ID")
	private Long userId;
	/**
	 * 数据类型: 1用户积分
	 */
	@ApiModelProperty(value = "数据类型: 1用户积分")
	private Integer dataType;
	/**
	 * 积分数
	 */
	@ApiModelProperty(value = "积分数")
	private Double integral;
	/**
	 * 用户酒票数
	 */
	@ApiModelProperty(value = "用户积分(变动前)")
	private Double userIntegral;
	/**
	 * 用户剩余酒票数
	 */
	@ApiModelProperty(value = "用户剩余积分(变动后)")
	private Double lastIntegral;

	/**
	 * 来源:1-签到 2-推荐新用户 3-被推荐
	 */
	@ApiModelProperty(value = "来源:1-签到 2-推荐新用户 3-被推荐")
	private String source;
	/**
	 * 来源记录ID
	 */
	@ApiModelProperty(value = "来源记录ID")
	private Long dataId;
	/**
	 * 描述
	 */
	@ApiModelProperty(value = "描述")
	private String remark;
	/**
	 * 积分类型：1:收入 2：支出
	 */
	@ApiModelProperty(value = "积分类型：1:收入 2：支出")
	private Integer type;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private Date createTime;
}
