2026-06-30 24681c81c09022f584a57006f2534b5f74723414
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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<ImFacePackItemDO> getEnabledItemListByPackIds(Collection<Long> packIds);
 
    /**
     * 取某个表情包下的表情数量;ImFacePackService 删除前校验「包下无项」用
     *
     * @param packId 表情包编号
     * @return 数量
     */
    Long getFacePackItemCount(Long packId);
 
    /**
     * 取多个表情包下的表情数量合计;ImFacePackService 批量删除前校验用
     *
     * @param packIds 表情包编号列表
     * @return 数量合计
     */
    Long getFacePackItemCount(Collection<Long> packIds);
 
    // ==================== 管理后台 ====================
 
    /**
     * 分页查询表情包项
     *
     * @param reqVO 分页查询条件
     * @return 表情包项分页
     */
    PageResult<ImFacePackItemDO> 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<Long> ids);
 
}