package cn.iocoder.yudao.module.im.service.face; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.im.controller.admin.manager.face.vo.item.ImFacePackItemPageReqVO; import cn.iocoder.yudao.module.im.controller.admin.manager.face.vo.item.ImFacePackItemSaveReqVO; import cn.iocoder.yudao.module.im.dal.dataobject.face.ImFacePackItemDO; import jakarta.validation.Valid; import java.util.Collection; import java.util.List; /** * IM 表情包项 Service 接口 * * @author 芋道源码 */ public interface ImFacePackItemService { // ==================== 用户端 ==================== /** * 按 packIds 批量取启用项,给前端聚合接口用 * * @param packIds 表情包编号列表 * @return 启用状态的表情列表 */ List getEnabledItemListByPackIds(Collection packIds); /** * 取某个表情包下的表情数量;ImFacePackService 删除前校验「包下无项」用 * * @param packId 表情包编号 * @return 数量 */ Long getFacePackItemCount(Long packId); /** * 取多个表情包下的表情数量合计;ImFacePackService 批量删除前校验用 * * @param packIds 表情包编号列表 * @return 数量合计 */ Long getFacePackItemCount(Collection packIds); // ==================== 管理后台 ==================== /** * 分页查询表情包项 * * @param reqVO 分页查询条件 * @return 表情包项分页 */ PageResult getFacePackItemPage(ImFacePackItemPageReqVO reqVO); /** * 获取表情包项详情 * * @param id 表情包项编号 * @return 表情包项 DO */ ImFacePackItemDO getFacePackItem(Long id); /** * 新增表情包项 * * @param reqVO 新增请求 * @return 新增表情包项编号 */ Long createFacePackItem(@Valid ImFacePackItemSaveReqVO reqVO); /** * 修改表情包项 * * @param reqVO 修改请求 */ void updateFacePackItem(@Valid ImFacePackItemSaveReqVO reqVO); /** * 删除表情包项 * * @param id 表情包项编号 */ void deleteFacePackItem(Long id); /** * 批量删除表情包项 * * @param ids 表情包项编号列表 */ void deleteFacePackItemList(List ids); }