package com.zanxiang.game.back.serve.pojo.vo;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 游戏腾讯订单表
 * </p>
 *
 * @author auto
 * @since 2023-06-01
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GameTencentOrderVO {
    private Long id;

    /**
     * 渠道号
     */
    @ApiModelProperty("渠道号")
    private String channel;

    @ApiModelProperty("渠道名称")
    private String agentName;

    /**
     * 游戏ID
     */
    @ApiModelProperty("游戏ID")
    private Long gameId;

    /**
     * 广告账号ID
     */
    @ApiModelProperty("广告账号ID")
    private Long adAccountId;

    /**
     * 注册时间
     */
    @ApiModelProperty("注册时间")
    private LocalDateTime registerTime;

    /**
     * 关注时间
     */
    @ApiModelProperty("关注时间")
    private LocalDateTime subscribeTime;

    /**
     * 充值金额（分）
     */
    @ApiModelProperty("充值金额（分）")
    private Long rechargeMoney;

    /**
     * 充值时间
     */
    @ApiModelProperty("充值时间")
    private LocalDateTime rechargeTime;

    /**
     * 订单ID
     */
    @ApiModelProperty("订单ID")
    private String orderId;

    /**
     * openid
     */
    @ApiModelProperty("openid")
    private String wechatOpenid;

    /**
     * appid
     */
    @ApiModelProperty("appid")
    private String wechatAppId;

    /**
     * 0：未回传；1：回传
     */
    @ApiModelProperty("回传状态 -1：回传失败；0：未回传；1：已回传")
    private Integer isBack;

    /**
     * 支付状态，0 : 预下单, 1 : 待支付，2 : 支付成功，-1 : 已取消
     */
    @ApiModelProperty("支付状态，0 : 预下单, 1 : 待支付，2 : 支付成功，-1 : 已取消")
    private Integer orderStatus;

    /**
     * 支付时间
     */
    @ApiModelProperty("支付时间")
    private LocalDateTime payTime;

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

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

    @ApiModelProperty("更新者id")
    private Long updateBy;
    @ApiModelProperty("更新者名称")
    private String updateName;

    /**
     * 回传日志
     */
    @ApiModelProperty("回传日志")
    private String backLog;

    @ApiModelProperty("注册到付费的间隔时间")
    private String regPayIntervalTime;

    @ApiModelProperty("是否是首单")
    private Boolean isFirstOrder;

    @ApiModelProperty("回传金额")
    private Long backMoney;

    @ApiModelProperty("回传日志")
    private String backMsg;

    @ApiModelProperty("回传拆分订单")
    private List<GameTencentOrderSplitLogVO> splitOrderList;
}
