package com.muchinfo.mtp3pojos.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 机构分润日统计表(按机构+角色统计，交易所划款) - 账户生成
外部账户不划转，只出报表 - 按币种汇总
 * </p>
 *
 * @author XKF
 * @since 2024-08-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("RECKON_DAYDIVIDECOUNT")
@ApiModel(value="ReckonDaydividecount对象", description="机构分润日统计表(按机构+角色统计，交易所划款) - 账户生成 外部账户不划转，只出报表 - 按币种汇总")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ReckonDaydividecount extends Model<ReckonDaydividecount> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "交易日")
    private String tradedate;

    @ApiModelProperty(value = "分润机构ID")
    @TableField("AREAID")
    private Long areaid;

    @ApiModelProperty(value = "分润机构角色 - 1:交易所 2:运营机构 3:营销中心 4:仓库机构 5:三方服务机构 6:自营会员 7:纪经会员 8:做市会员 9:产业会员 10:金融机构 11:商城店铺 12:子机构 13:报价商 14:积分服务商 15:供货商 16:圈内会员 17:物流机构")
    @TableField("AREATYPE")
    private Integer areatype;

    @ApiModelProperty(value = "源账户币种ID")
    @TableField("ACCOUNTCURRENCYID")
    private Long accountcurrencyid;

    @ApiModelProperty(value = "机构角色结算资金账号")
    @TableField("AREAACCOUNTID")
    private Long areaaccountid;

    @ApiModelProperty(value = "总笔数")
    @TableField("TOTALCOUNT")
    private Long totalcount;

    @ApiModelProperty(value = "总手续费")
    @TableField("TOTALFEE")
    private BigDecimal totalfee;

    @ApiModelProperty(value = "分成金额")
    @TableField("DIVIDEAMOUNT")
    private BigDecimal divideamount;

    @ApiModelProperty(value = "付款状态 - 1:待审核  2:待付款 3:已付款  4:待复审 5:线下支付")
    @TableField("PAYSTATUS")
    private Integer paystatus;

    @ApiModelProperty(value = "付款人")
    @TableField("PAYERID")
    private Long payerid;

    @ApiModelProperty(value = "付款时间")
    @TableField("PAYTIME")
    private Date paytime;

    @ApiModelProperty(value = "描述")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "父机构ID(二级分润)")
    @TableField("PARENTUSERID")
    private Long parentuserid;

    @ApiModelProperty(value = "父机构结算资金账号(二级分润)")
    @TableField("PARENTACCOUNTID")
    private Long parentaccountid;


    @Override
    public Serializable pkVal() {
        return this.tradedate;
    }

}
