
package com.tmerclub.cloud.order.vo.mongo;

import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.data.mongodb.core.mapping.Document;

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

/**
 * @author TRACK
 */
@Document("order")
public class MongoOrderPayInfoVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "店铺id 0是平台")
    private Long shopId;

    @Schema(description = "店铺名称 平台是官方店")
    private String shopName;

    @Schema(description = "支付时间")
    private Date payTime;

    @Schema(description = "支付入口[0订单 1充值 2开通会员]")
    private Integer payEntry;

    @Schema(description = "关联订单号")
    private String orderIds;

    /**
     * @see com.tmerclub.cloud.common.constant.PayType
     */
    @Schema(description = "支付方式")
    private Integer payType;

    @Schema(description = "支付单号")
    private String payId;

    @Schema(description = "支付积分")
    private Long scoreCount;

    @Schema(description = "支付宝金额")
    private Long alipayAmount;

    @Schema(description = "微信金额")
    private Long wechatAmount;

    @Schema(description = "余额金额")
    private Long balanceAmount;

    @Schema(description = "合计")
    private Long payAmount;

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Integer getPayEntry() {
        return payEntry;
    }

    public void setPayEntry(Integer payEntry) {
        this.payEntry = payEntry;
    }

    public String getOrderIds() {
        return orderIds;
    }

    public void setOrderIds(String orderIds) {
        this.orderIds = orderIds;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getPayId() {
        return payId;
    }

    public void setPayId(String payId) {
        this.payId = payId;
    }

    public Long getScoreCount() {
        return scoreCount;
    }

    public void setScoreCount(Long scoreCount) {
        this.scoreCount = scoreCount;
    }

    public Long getAlipayAmount() {
        return alipayAmount;
    }

    public void setAlipayAmount(Long alipayAmount) {
        this.alipayAmount = alipayAmount;
    }

    public Long getWechatAmount() {
        return wechatAmount;
    }

    public void setWechatAmount(Long wechatAmount) {
        this.wechatAmount = wechatAmount;
    }

    public Long getBalanceAmount() {
        return balanceAmount;
    }

    public void setBalanceAmount(Long balanceAmount) {
        this.balanceAmount = balanceAmount;
    }

    public Long getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Long payAmount) {
        this.payAmount = payAmount;
    }

    @Override
    public String toString() {
        return "MongoOrderPayInfoVO{" +
                "shopId=" + shopId +
                ", shopName='" + shopName + '\'' +
                ", payTime=" + payTime +
                ", payEntry=" + payEntry +
                ", orderIds='" + orderIds + '\'' +
                ", payType=" + payType +
                ", payId=" + payId +
                ", scoreCount=" + scoreCount +
                ", alipayAmount=" + alipayAmount +
                ", wechatAmount=" + wechatAmount +
                ", balanceAmount=" + balanceAmount +
                ", payAmount=" + payAmount +
                '}';
    }
}
