35 lines
1.0 KiB
Java
35 lines
1.0 KiB
Java
package io.as.modules.daycard.service;
|
|||
|
|
|
||
|
|
import io.as.modules.daycard.entity.DayCardOrderEntity;
|
||
|
|
import io.as.modules.daycard.entity.DayCardSettleOrderEntity;
|
||
|
|
|
||
|
|
import java.math.BigDecimal;
|
||
|
|
import java.util.List;
|
||
|
|
import java.util.Map;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 分润计算 Service
|
||
|
|
*/
|
||
|
|
public interface ProfitCalcService {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 试算分账结果
|
||
|
|
*
|
||
|
|
* @param partnerId 合作伙伴ID
|
||
|
|
* @param channelOrgId 渠道组织ID
|
||
|
|
* @param storeOrgId 门店组织ID
|
||
|
|
* @param totalAmount 总金额
|
||
|
|
* @return Map: { totalAmount, rules: [{ruleId, receiverAccount, receiverName, shareRatio, settleAmount}], totalSettleAmount }
|
||
|
|
*/
|
||
|
|
Map<String, Object> calculate(Long partnerId, Long channelOrgId, Long storeOrgId, BigDecimal totalAmount);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 匹配规则并计算分账金额,构建分账单列表(不保存,由调用方保存)
|
||
|
|
*
|
||
|
|
* @param orderNo 订单号
|
||
|
|
* @param order 天卡订单
|
||
|
|
* @return 分账单列表
|
||
|
|
*/
|
||
|
|
List<DayCardSettleOrderEntity> buildSettleOrders(String orderNo, DayCardOrderEntity order);
|
||
|
|
}
|