package com.jeesharp.business.modules.food.service;

import com.jeesharp.business.modules.food.entity.FoodCompanyAccount;
import com.jeesharp.business.modules.food.entity.FoodMealOrder;

import java.math.BigDecimal;

/**
 * 企业团餐账户资金流水领域服务：冻结、解冻、核销与退款回滚。
 *
 * @author jeesharp
 * @since 2026-06-11
 */
public interface FoodCompanyAccountLedgerService {

    void freezeAmount(FoodCompanyAccount account, FoodMealOrder order, BigDecimal amount, String source, String operatorId);

    void unfreezeAmount(FoodCompanyAccount account, FoodMealOrder order, BigDecimal amount, String source, String operatorId);

    void consumeFrozenAmount(FoodCompanyAccount account, FoodMealOrder order, BigDecimal amount, String source, String operatorId);

    void refundToAvailable(FoodCompanyAccount account, FoodMealOrder order, BigDecimal amount, String source, String operatorId);
}
