refactor(ai): 引入 Spring AI 简化 LLM 集成,通过 Function Call 为管理系统提供智能化交互入口。
This commit is contained in:
111
src/main/resources/mapper/ai/AiCommandRecordMapper.xml
Normal file
111
src/main/resources/mapper/ai/AiCommandRecordMapper.xml
Normal file
@@ -0,0 +1,111 @@
|
||||
<?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.youlai.boot.platform.ai.mapper.AiCommandRecordMapper">
|
||||
|
||||
<resultMap id="AiCommandRecordVOResult" type="com.youlai.boot.platform.ai.model.vo.AiCommandRecordVO">
|
||||
<id property="id" column="id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="username" column="username"/>
|
||||
<result property="originalCommand" column="original_command"/>
|
||||
<result property="provider" column="provider"/>
|
||||
<result property="model" column="model"/>
|
||||
<result property="parseSuccess" column="parse_success"/>
|
||||
<result property="functionCalls" column="function_calls"/>
|
||||
<result property="explanation" column="explanation"/>
|
||||
<result property="confidence" column="confidence"/>
|
||||
<result property="parseErrorMessage" column="parse_error_message"/>
|
||||
<result property="inputTokens" column="input_tokens"/>
|
||||
<result property="outputTokens" column="output_tokens"/>
|
||||
<result property="totalTokens" column="total_tokens"/>
|
||||
<result property="parseTime" column="parse_time"/>
|
||||
<result property="functionName" column="function_name"/>
|
||||
<result property="functionArguments" column="function_arguments"/>
|
||||
<result property="executeStatus" column="execute_status"/>
|
||||
<result property="executeResult" column="execute_result"/>
|
||||
<result property="executeErrorMessage" column="execute_error_message"/>
|
||||
<result property="affectedRows" column="affected_rows"/>
|
||||
<result property="isDangerous" column="is_dangerous"/>
|
||||
<result property="requiresConfirmation" column="requires_confirmation"/>
|
||||
<result property="userConfirmed" column="user_confirmed"/>
|
||||
<result property="executionTime" column="execution_time"/>
|
||||
<result property="ipAddress" column="ip_address"/>
|
||||
<result property="userAgent" column="user_agent"/>
|
||||
<result property="currentRoute" column="current_route"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="getRecordPage" resultMap="AiCommandRecordVOResult">
|
||||
SELECT
|
||||
acr.id,
|
||||
acr.user_id,
|
||||
acr.username,
|
||||
acr.original_command,
|
||||
acr.provider,
|
||||
acr.model,
|
||||
acr.parse_success,
|
||||
acr.function_calls,
|
||||
acr.explanation,
|
||||
acr.confidence,
|
||||
acr.parse_error_message,
|
||||
acr.input_tokens,
|
||||
acr.output_tokens,
|
||||
acr.total_tokens,
|
||||
acr.parse_time,
|
||||
acr.function_name,
|
||||
acr.function_arguments,
|
||||
acr.execute_status,
|
||||
acr.execute_result,
|
||||
acr.execute_error_message,
|
||||
acr.affected_rows,
|
||||
acr.is_dangerous,
|
||||
acr.requires_confirmation,
|
||||
acr.user_confirmed,
|
||||
acr.execution_time,
|
||||
acr.ip_address,
|
||||
acr.user_agent,
|
||||
acr.current_route,
|
||||
acr.create_time,
|
||||
acr.update_time,
|
||||
acr.remark
|
||||
FROM ai_command_record acr
|
||||
<where>
|
||||
<if test="queryParams.keywords != null and queryParams.keywords != ''">
|
||||
(
|
||||
acr.original_command LIKE CONCAT('%', #{queryParams.keywords}, '%')
|
||||
OR acr.function_name LIKE CONCAT('%', #{queryParams.keywords}, '%')
|
||||
OR acr.username LIKE CONCAT('%', #{queryParams.keywords}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test="queryParams.executeStatus != null and queryParams.executeStatus != ''">
|
||||
AND acr.execute_status = #{queryParams.executeStatus}
|
||||
</if>
|
||||
<if test="queryParams.userId != null">
|
||||
AND acr.user_id = #{queryParams.userId}
|
||||
</if>
|
||||
<if test="queryParams.isDangerous != null">
|
||||
AND acr.is_dangerous = #{queryParams.isDangerous}
|
||||
</if>
|
||||
<if test="queryParams.functionName != null and queryParams.functionName != ''">
|
||||
AND acr.function_name = #{queryParams.functionName}
|
||||
</if>
|
||||
<if test="
|
||||
queryParams.createTime != null
|
||||
and queryParams.createTime.size() == 2
|
||||
and queryParams.createTime[0] != null
|
||||
and queryParams.createTime[0] != ''
|
||||
and queryParams.createTime[1] != null
|
||||
and queryParams.createTime[1] != ''
|
||||
">
|
||||
AND acr.create_time BETWEEN #{queryParams.createTime[0]} AND #{queryParams.createTime[1]}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY acr.create_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user