package com.zanxiang.game.module.sdk.pojo.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 平台订单dto
 *
 * @author bilingfeng
 * @date 2022/11/10
 */
@Data
public class PlatformOrderDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 自增ID
     */
    private Long id;

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

    /**
     * CP订单号
     */
    private String cpOrderId;

    /**
     * 充值渠道id
     */
    private Long agentId;

    /**
     * cpId
     */
    private Long cpId;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 游戏玩家ID
     */
    private Long mgUserId;

    /**
     * 用户注册时间
     */
    private LocalDateTime regTime;

    /**
     * 游戏ID
     */
    private Long gameId;

    /**
     * 角色id
     */
    private String roleId;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * 角色等级
     */
    private Long roleLevel;

    /**
     * 角色VIP
     */
    private Long roleVipLevel;

    /**
     * 游戏服务器id,默认为0
     */
    private String serverId;

    /**
     * 所在服务器名称
     */
    private String serverName;

    /**
     * 订单金额
     */
    private BigDecimal amount;

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

    /**
     * 支付时间
     */
    private LocalDateTime payTime;

    /**
     * 游戏商品ID
     */
    private String productId;

    /**
     * 游戏商品名称
     */
    private String productName;

    /**
     * 支付平台返回交易订单号
     */
    private String merchantOrderNo;

    /**
     * 米大师商户订单号
     * PS : 微信和支付宝都是以业务订单号作为商户订单号, 只有米大师个狗东西不一样, 独有字段
     */
    private String miPayMerchantNo;

    /**
     * 收款商户号
     */
    private String merchantNo;

    /**
     * 支付状态，0 : 预下单, 1 : 待支付，2 : 支付成功，-1 : 已取消
     */
    private Integer status;

    /**
     * 客户端操作系统, android, ios, windows, mac
     */
    private String deviceSystem;

    /**
     * 支付方式id, 1 : 支付宝, 2 : 微信, 3 : 米大师
     */
    private Long payWayId;

    /**
     * 支付类型, 1:PC, 2: h5支付, 3: App支付, 4: 小程序支付, 5: 米大师支付, 6 : 客服支付
     */
    private Long payDeviceId;

    /**
     * 支付配置id
     */
    private Long gamePayWayId;

    /**
     * 是否切量  0 否 1 是
     */
    private Boolean isSwitch;

    /**
     * CP通知状态，1为待处理，2为成功，-1为失败
     */
    private Integer cpStatus;

    /**
     * 通知次数
     */
    private Integer cpNotifyCnt;

    /**
     * 最近通知时间
     */
    private LocalDateTime lastCpNotifyTime;

    /**
     * CP附加参数
     */
    private String ext;

    /**
     * 是否首充 0 否 1 是
     */
    private Integer isFirstRecharge;

    /**
     * 回传提交状态
     */
    private Integer callBackStatus;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}
