package com.emotion.service; import com.baomidou.mybatisplus.extension.service.IService; import com.emotion.common.PageResult; import com.emotion.dto.request.coze.CozeApiCallPageRequest; import com.emotion.dto.request.coze.CozeApiCallCreateRequest; import com.emotion.dto.request.coze.CozeApiCallUpdateRequest; import com.emotion.dto.response.coze.CozeApiCallResponse; import com.emotion.entity.CozeApiCall; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; /** * Coze API调用记录服务接口 * * @author emotion-museum * @date 2025-07-23 */ public interface CozeApiCallService extends IService { /** * 分页查询API调用记录 */ PageResult getPage(CozeApiCallPageRequest request); /** * 根据ID获取API调用记录 */ CozeApiCallResponse getById(String id); /** * 创建API调用记录 */ CozeApiCallResponse create(CozeApiCallCreateRequest request); /** * 更新API调用记录 */ CozeApiCallResponse update(CozeApiCallUpdateRequest request); /** * 删除API调用记录 */ boolean delete(String id); /** * 统计用户的API调用次数 */ Long countByUserId(String userId); /** * 统计Bot的API调用次数 */ Long countByBotId(String botId); /** * 统计指定状态的API调用次数 */ Long countByStatus(String status); /** * 统计用户的Token使用量 */ Long sumTokensByUserId(String userId); /** * 统计用户的API调用费用 */ BigDecimal sumCostByUserId(String userId); }