package com.jeequan.jeepay.db.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 交易数据统计表
 * </p>
 *
 * @author [mybatis plus generator]
 * @since 2022-12-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_stats_trade")
public class StatsTrade implements Serializable {

    public static final LambdaQueryWrapper<StatsTrade> gw(){
        return new LambdaQueryWrapper<>();
    }

    private static final long serialVersionUID=1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 统计日期
     */
    private Date statsDate;

    /**
     * 门店ID
     */
    private String storeId;

    /**
     * 商户号
     */
    private String mchNo;

    /**
     * 服务商号
     */
    private String agentNo;

    /**
     * 服务商号
     */
    private String isvNo;

    /**
     * 订单总笔数
     */
    private Long totalCount;

    /**
     * 订单总金额，单位分
     */
    private Long totalAmount;

    /**
     * 成交订单笔数，含退款
     */
    private Long successCount;

    /**
     * 成交订单金额，单位分，含退款金额和手续费
     */
    private Long successAmount;

    /**
     * 商户手续费，单位分
     */
    private Long fee;

    /**
     * 商户手续费回退，单位分，退款时退换的手续费
     */
    private Long refundFee;

    /**
     * 实收金额，单位分，成交订单金额减去手续费
     */
    private Long realAmount;

    /**
     * 退款总笔数，一笔订单多次退款，则计多次
     */
    private Long refundCount;

    /**
     * 退款金额，单位分
     */
    private Long refundAmount;

    /**
     * 服务商佣金，单位分
     */
    private Long agentProfit;

    /**
     * 交易成功率，成交订单笔数/订单总笔数
     */
    private String successRate;

    /**
     * 状态，1-完成  0-异常
     */
    private Byte state;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 更新时间
     */
    private Date updatedAt;

    /**
     * 优惠金额
     */
    private Long discountAmt;


    /**
     * 补贴金额
     */
    private Long marketAmt;

    /**
     * 实收金额
     */
    private Long findAmt;

    /**
     * 扩展分账金额
     */
    private Long extDivAmt;

    /**
     * 垫资手续费
     */
    private Long cashFee;
}
