feat(oa): 添加 AI 对话管理功能

- 新增 AI配置、对话历史、对话消息等相关的实体类、Mapper、Service 和 Controller
- 实现 AI 对话管理的基础功能,包括创建对话、发送消息、结束对话等- 集成 DeepSeek AI 服务,实现与 AI 模型的交互
- 添加 token消耗和费用计算相关逻辑
This commit is contained in:
2025-08-04 14:24:18 +08:00
parent 2fa67cb3c1
commit c93959e351
21 changed files with 1808 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.oa.mapper.SysOaAiMessageMapper">
<resultMap type="SysOaAiMessageVo" id="SysOaAiMessageResult">
<result property="messageId" column="message_id"/>
<result property="conversationId" column="conversation_id"/>
<result property="role" column="role"/>
<result property="content" column="content"/>
<result property="tokens" column="tokens"/>
<result property="cost" column="cost"/>
<result property="messageOrder" column="message_order"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
</resultMap>
<sql id="selectSysOaAiMessageVo">
select message_id, conversation_id, role, content, tokens, cost, message_order, create_time, create_by
from sys_oa_ai_message
</sql>
<select id="selectMessagesByConversationId" parameterType="Long" resultMap="SysOaAiMessageResult">
<include refid="selectSysOaAiMessageVo"/>
where conversation_id = #{conversationId}
order by message_order asc
</select>
</mapper>