feat(character): 添加用户人设接口及排序管理

新增 /character/addUserCharacter 端点,支持用户将人设加入个人列表并自动维护排序数组。引入 KeyboardUserCharacterAddDTO、KeyboardUserSortMapper 及相关错误码,实现事务级插入与排序更新。
This commit is contained in:
2025-12-04 16:17:29 +08:00
parent 4e6a5a6e18
commit fe19fb8ca2
10 changed files with 151 additions and 31 deletions

View File

@@ -0,0 +1,22 @@
<?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.yolo.keyborad.mapper.KeyboardUserSortMapper">
<!-- 展开数组为多行:返回 List<Long> -->
<select id="selectSortByUserId" resultType="java.lang.Long">
SELECT unnest(user_characteu_id_sort)
FROM keyboard_user_sort
WHERE user_id = #{userId}
</select>
<update id="updateSortByUserId">
UPDATE keyboard_user_sort
SET user_characteu_id_sort = #{sort, jdbcType=ARRAY}
WHERE user_id = #{userId}
</update>
<insert id="insertUserSort">
INSERT INTO keyboard_user_sort (user_id, user_characteu_id_sort)
VALUES (#{userId}, #{sort, jdbcType=ARRAY})
</insert>
</mapper>