feat(core): 新增人设与标签模块及接口

- 新增 KeyboardCharacter/Tag 实体、Mapper、Service 及 VO
- 新增 CharacterController 与 TagController 提供 /list 接口
- 放开 /character/list、/tag/list 免登录访问
- 补充对应 XML 查询与 .gitignore 忽略 CLAUDE.md
This commit is contained in:
2025-12-03 15:25:59 +08:00
parent 6c7bec8ad3
commit 23dbfb64c4
17 changed files with 404 additions and 3 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.KeyboardCharacterMapper">
<resultMap id="BaseResultMap" type="com.yolo.keyborad.model.entity.KeyboardCharacter">
<!--@Table keyboard_character-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="title" jdbcType="VARCHAR" property="title" />
<result column="character_background" jdbcType="VARCHAR" property="characterBackground" />
<result column="avatar_url" jdbcType="VARCHAR" property="avatarUrl" />
<result column="download" jdbcType="VARCHAR" property="download" />
<result column="tag" jdbcType="BIGINT" property="tag" />
<result column="deleted" jdbcType="BOOLEAN" property="deleted" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="prompt" jdbcType="VARCHAR" property="prompt" />
<result column="rank" jdbcType="INTEGER" property="rank" />
</resultMap>
<sql id="Base_Column_List">
id, title, "character_background", avatar_url, download, tag, deleted, created_at,
updated_at, prompt, "rank"
</sql>
</mapper>

View File

@@ -0,0 +1,15 @@
<?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.KeyboardTagMapper">
<resultMap id="BaseResultMap" type="com.yolo.keyborad.model.entity.KeyboardTag">
<!--@Table keyboard_tag-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="tag_name" jdbcType="VARCHAR" property="tagName" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="deleted" jdbcType="BOOLEAN" property="deleted" />
</resultMap>
<sql id="Base_Column_List">
id, tag_name, created_at, updated_at, deleted
</sql>
</mapper>