package com.dayou.brokerage;

import com.dayou.bo.BrokerageDetailBO;
import com.dayou.dto.ParticipantSettleDTO;
import com.dayou.entity.ItemBrokerageDetail;
import com.dayou.entity.ItemStage;

import java.math.BigDecimal;
import java.util.List;

/**
 * 类说明：非市场人员提成计算器接口
 *
 * @author: wucl
 * @since: 2023/3/6
 * created with IntelliJ IDEA.
 */
public interface NonMarketerMarketerBrokerageCalculator extends BrokerageCalculator  {

    /**
     * 预估提成金额
     * @param bo
     * @return
     */
    ItemBrokerageDetail predictAmount(BrokerageDetailBO bo);


    /**
     * 非市场人员实际提成金额
     * @param participantSettleDTO 参与人员结算DTO
     */
    List<ItemBrokerageDetail> actualAmount(ParticipantSettleDTO participantSettleDTO);

    /**
     * 非市场人员预提金额
     * @return
     */
    BigDecimal aheadAmount(Long userId);


    /**
     * 预提金额总和
     */
    BigDecimal advanceTotalAmount();

    /**
     * 预提次数
     * @return
     */
    int advanceTimes();
}
