package com.fs.live.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 支付明细对象 live_order_payment
 *
 * @author fs
 * @date 2025-08-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class LiveOrderPaymentVo extends BaseEntity{

    /** ID */
    private Long paymentId;

    /** 支付订单号 */
    @Excel(name = "支付订单号")
    private String payCode;

    @Excel(name = "会员手机号")
    private String userPhone;
    /** 支付类型 weixin alipay */
    @Excel(name = "支付类型 weixin alipay")
    private String payTypeCode;


    /** 支付金额 */
    @Excel(name = "支付金额")
    private BigDecimal payMoney;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date payTime;

    /** 外部订单号 */
    @Excel(name = "外部订单号")
    private String tradeNo;

    /** 状态 0未支付 1已支付 -1 已退款 */
    @Excel(name = "支付状态 0未支付 1已支付 -1 已退款",readConverterExp = "0=未支付,1=已支付,-1=已退款")
    private Integer status;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 备注 */
    @Excel(name = "备注")
    private String mark;



//    @Excel(name = "付款单号")
    private Integer orderCode;

    /** 交易单号 */
    @Excel(name = "交易单号")
    private String bankTransactionId;

    /** 银行流水号 */
    @Excel(name = "银行单号")
    private String bankSerialNo;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundMoney;

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date refundTime;


    @Excel(name = "公司名称")
    private String companyName;

    @Excel(name = "部门")
    private String deptName;

    @Excel(name = "销售帐号")
    private String companyUserName;

    @Excel(name = "销售姓名")
    private String companyUserNickName;


    /** 关联业务编号 */
    @Excel(name = "商城订单号")
    private String businessCode;

    /**
     * 产品名称
     */
    private Long productId;
    @Excel(name = "产品名称",width = 60)
    private String packageTitle;

    /** 支付方式: zb tz wx */
    @Excel(name = "服务商类型",dictType = "sys_pay_mode")
    private String payMode;

    /** 用户ID */
//    @Excel(name = "用户ID")
    private Long userId;

    /** OPENID */
//    @Excel(name = "OPENID")
    private String openId;

    /** 业务类型  */
//    @Excel(name = "业务类型 ")
    private Integer businessType;

    /** 关联业务ID */
//    @Excel(name = "关联业务ID")
    private String businessId;




    /** 店铺ID */
//    @Excel(name = "店铺ID")
    private Long storeId;

    /** 公司id */
//    @Excel(name = "公司id")
    private Long companyId;

    /** 员工id */
//    @Excel(name = "员工id")
    private Long companyUserId;




    /** 分账状态 0未分账 1已分账 */
//    @Excel(name = "分账状态 0未分账 1已分账",readConverterExp = "0=未分账,1=已分账")
    private Integer shareStatus;

    /** 分账单号 */
//    @Excel(name = "分账单号")
    private String shareCode;

    /** 分账金额 */
//    @Excel(name = "分账金额")
    private BigDecimal shareMoney;

    /** 是否分账 */
//    @Excel(name = "是否分账")
    private Integer isShare;




}
