package org.springblade.modules.distribution.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.distribution.entity.Commission;
import org.springblade.modules.distribution.vo.CommisStatisVO;
import org.springblade.modules.distribution.vo.CommissionVO;
import org.springblade.modules.finance.entity.Order;

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

public interface ICommissionService extends IService<Commission> {


    /**
     * 计算收益 下单时计算
     * @param order
     */
    void commissionCalculation(Order order);

    /**
     * 收益统计
     * @param userId
     * @return
     */
    CommisStatisVO statistics(Long userId);


    /**
     * 将订单的收益修改为无效
     * @param orderId
     */
    void invalidCommission(Long orderId);


    /**
     * 计算收益之二 申请售后之后计算收益
     * @param orderId
     */
    void commissionCalculationTwo(Long orderId, BigDecimal amount);


    /**
     * 查询未分佣数据
     * @return
     */
    List<CommissionVO> getNotPayouts(Integer days);
}
