package com.starry.admin.modules.personnel.module.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.starry.common.domain.BaseEntity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 余额明细对象 play_balance_details_info
 *
 * @author admin
 * @since 2024-04-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("play_balance_details_info")
public class PlayBalanceDetailsInfoEntity extends BaseEntity<PlayBalanceDetailsInfoEntity> {

    /**
     * UUID
     */
    private String id;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 用户类型[0:陪聊;1:顾客]
     */
    private String userType;

    /**
     * 操作前余额
     */
    private BigDecimal balanceBeforeOperation;

    /**
     * 操作后余额
     */
    private BigDecimal balanceAfterOperation;

    /**
     * 操作类型（0:充值;1:消费;2:服务）
     */
    private String operationType;

    /**
     * 操作动作
     */
    private String operationAction;

    /**
     * 操作时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime operationTime;

    /**
     * 操作金额
     */
    private BigDecimal balanceMoney;

    /**
     * 赠送金额
     */
    private BigDecimal giftAmount;

    /**
     * 支付金额
     */
    private BigDecimal paymentAmount;

    /**
     * 订单ID
     */
    private String orderId;
}
