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;

/**
 * <p>
 * 机构分润日统计明细表 - 按币种汇总
系统分润方式 - 1:固定模式 2:树形模式
1.固定模式 - 交易服务生成
2.树形模式 - 账户服务生成 - 按币种汇总

 * </p>
 *
 * @author XKF
 * @since 2024-08-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("RECKON_DAYDIVIDECOUNTDETAIL")
@ApiModel(value="ReckonDaydividecountdetail对象", description="机构分润日统计明细表 - 按币种汇总 系统分润方式 - 1:固定模式 2:树形模式 1.固定模式 - 交易服务生成 2.树形模式 - 账户服务生成 - 按币种汇总 ")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ReckonDaydividecountdetail extends Model<ReckonDaydividecountdetail> {

    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty(value = "商品ID/市场ID/仓库ID/渠道iD")
    @TableField("GOODSID")
    private Long goodsid;

    @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 = "分润费用类型 -  101、102... - 全部 201、202... - 会员部分 301、302... - 交易所部分")
    @TableField("TRADEFEETYPE")
    private Integer tradefeetype;

    @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 = "市场ID")
    @TableField("MARKETID")
    private Long marketid;

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

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

    @ApiModelProperty(value = "流水号(175+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)")
    @TableField("SERIALNUMBER")
    private Long serialnumber;

    @ApiModelProperty(value = "发送状态 - 1:待发送 2:发送完成")
    @TableField("SENDSTATUS")
    private Integer sendstatus;

    @ApiModelProperty(value = "分成状态 - 1： 未分成 2： 已分成")
    @TableField("DIVIDESTATUS")
    private Integer dividestatus;


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

}
