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

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

/**
 * 订单续单信息对象 play_order_continue_info
 *
 * @author admin
 * @since 2024-05-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "play_order_continue_info", autoResultMap = true)
public class PlayOrderContinueInfoEntity extends BaseEntity<PlayOrderContinueInfoEntity> {

    /**
     * uuid
     */
    private String id;

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

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

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 顾客ID
     */
    private String customId;

    /**
     * 店员ID
     */
    private String clerkId;

    /**
     * 下单类型（0：指定单，1：随机单。2：打赏单）
     */
    private String placeType;

    /**
     * 下单金额
     */
    private BigDecimal orderMoney;

    /**
     * 订单最终金额（支付金额）
     */
    private BigDecimal finalAmount;

    /**
     * 申请消息
     */
    private String continueMsg;

    /**
     * 截图
     */
    @TableField(typeHandler = StringTypeHandler.class)
    private List<String> images;

    /**
     * 是否需要审核，0:不需要，1:需要
     */
    private String reviewedRequired;

    /**
     * 审核状态（0:未审核，1:已通过，2:不通过）
     */
    private String reviewedState;

    /**
     * 审核人
     */
    private String reviewedBy;

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

    /**
     * 审核内容
     */
    private String reviewedRemark;

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

}
