package top.continew.admin.business.service;

import top.continew.admin.business.model.req.FreeQuotaGrantReq;
import top.continew.admin.business.model.resp.FreeQuotaGrantResp;

/**
 * 免费额度赠送服务
 *
 * @author jiay
 * @since 2025/11/17
 */
public interface FreeQuotaGrantService {

    /**
     * 批量赠送免费额度
     *
     * @param req 赠送请求
     * @return 赠送结果
     */
    FreeQuotaGrantResp batchGrant(FreeQuotaGrantReq req);

    /**
     * 给单个用户赠送默认免费额度
     *
     * @param userId 用户ID
     * @return 赠送结果
     */
    FreeQuotaGrantResp grantToUser(Long userId);

    /**
     * 给部门下所有用户赠送默认免费额度
     *
     * @param deptId 部门ID
     * @return 赠送结果
     */
    FreeQuotaGrantResp grantToDept(Long deptId);
}
