工业互联网平台2.0版本后端代码
houzhongjian
2025-05-29 41499fd3c28216c1526a72b10fa98eb8ffee78cb
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.iailab.module.ai.service.model;
 
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.module.ai.controller.admin.model.vo.chatRole.AiChatRolePageReqVO;
import com.iailab.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveMyReqVO;
import com.iailab.module.ai.controller.admin.model.vo.chatRole.AiChatRoleSaveReqVO;
import com.iailab.module.ai.dal.dataobject.model.AiChatRoleDO;
import jakarta.validation.Valid;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
import static com.iailab.framework.common.util.collection.CollectionUtils.convertMap;
 
/**
 * AI 聊天角色 Service 接口
 *
 * @author fansili
 */
public interface AiChatRoleService {
 
    /**
     * 创建聊天角色
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createChatRole(@Valid AiChatRoleSaveReqVO createReqVO);
 
    /**
     * 创建【我的】聊天角色
     *
     * @param createReqVO 创建信息
     * @param userId      用户编号
     * @return 编号
     */
    Long createChatRoleMy(AiChatRoleSaveMyReqVO createReqVO, Long userId);
 
    /**
     * 更新聊天角色
     *
     * @param updateReqVO 更新信息
     */
    void updateChatRole(@Valid AiChatRoleSaveReqVO updateReqVO);
 
    /**
     * 创建【我的】聊天角色
     *
     * @param updateReqVO 更新信息
     * @param userId      用户编号
     */
    void updateChatRoleMy(AiChatRoleSaveMyReqVO updateReqVO, Long userId);
 
    /**
     * 删除聊天角色
     *
     * @param id 编号
     */
    void deleteChatRole(Long id);
 
    /**
     * 删除【我的】聊天角色
     *
     * @param id     编号
     * @param userId 用户编号
     */
    void deleteChatRoleMy(Long id, Long userId);
 
    /**
     * 获得聊天角色
     *
     * @param id 编号
     * @return AI 聊天角色
     */
    AiChatRoleDO getChatRole(Long id);
 
    /**
     * 获得聊天角色列表
     *
     * @param ids 编号数组
     * @return 聊天角色列表
     */
    List<AiChatRoleDO> getChatRoleList(Collection<Long> ids);
 
    default Map<Long, AiChatRoleDO> getChatRoleMap(Collection<Long> ids) {
        return convertMap(getChatRoleList(ids), AiChatRoleDO::getId);
    }
 
    /**
     * 校验聊天角色是否合法
     *
     * @param id 角色编号
     */
    AiChatRoleDO validateChatRole(Long id);
 
    /**
     * 获得聊天角色分页
     *
     * @param pageReqVO 分页查询
     * @return 聊天角色分页
     */
    PageResult<AiChatRoleDO> getChatRolePage(AiChatRolePageReqVO pageReqVO);
 
    /**
     * 获得【我的】聊天角色分页
     *
     * @param pageReqVO 分页查询
     * @param userId    用户编号
     * @return 聊天角色分页
     */
    PageResult<AiChatRoleDO> getChatRoleMyPage(AiChatRolePageReqVO pageReqVO, Long userId);
 
    /**
     * 获得聊天角色的分类列表
     *
     * @return 分类列表
     */
    List<String> getChatRoleCategoryList();
 
    /**
     * 根据名字获得聊天角色
     *
     * @param name 名字
     * @return 聊天角色列表
     */
    List<AiChatRoleDO> getChatRoleListByName(String name);
 
}