<?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="admin.modules.chatgpt.service.mapper.ChatgptRoleRecordsMapper"> <!-- 通用查询结果列 --> <!-- <sql id="Base_Column_List"> a.id, a.sender_id, a.receiver_id, a.message, a.create_time </sql> --> <select id="queryRoleSessionListPage" resultType="admin.modules.chatgpt.domain.ChatgptRoleRecords"> select * from (select * from chatgpt_role_records where sender_id = #{userId} and receiver_id = #{roleDescId} and session_id is null union all select * from chatgpt_role_records where sender_id = #{roleDescId} and receiver_id = #{userId} and session_id is null) as a </select> <select id="findByTextCount" resultType="Integer"> SELECT SUM(LENGTH(message)) FROM `chatgpt_role_records` WHERE receiver_id = #{memberId} or sender_id = #{memberId} </select> <select id="findBySessionCount" resultType="Integer"> SELECT COUNT(DISTINCT session_id) FROM `chatgpt_role_records` WHERE (receiver_id = #{memberId} or sender_id = #{memberId}) AND session_id is not NULL </select> <select id="findByDialogueCount" resultType="Integer"> SELECT count(*) FROM `chatgpt_role_records` WHERE sender_id = #{memberId} </select> <select id="queryTenRecordByUserId" resultType="admin.modules.chatgpt.domain.ChatgptRoleRecords"> SELECT * FROM `chatgpt_role_records` WHERE sender_id = #{userId} or receiver_id =#{userId} order by create_time desc limit 10 </select> </mapper>