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 calculate(Long partnerId, Long channelOrgId, Long storeOrgId, BigDecimal totalAmount); /** * 匹配规则并计算分账金额,构建分账单列表(不保存,由调用方保存) * * @param orderNo 订单号 * @param order 天卡订单 * @return 分账单列表 */ List buildSettleOrders(String orderNo, DayCardOrderEntity order); }