feat(user): 新增邮箱注册与验证码发送功能
- 新增 UserRegisterDTO 及 /user/register 接口 - 集成 MailerSend,异步发送 6 位验证码邮件 - 添加 RedisUtil 缓存验证码 10 分钟 - 补充 SEND_MAIL_FAILED、CONFIRM_PASSWORD_NOT_MATCH 错误码 - 关闭 Spring Security CSRF 与表单登录,放行 /user/register - AppleService 移除 @AllArgsConstructor,改用 @Resource 注入
This commit is contained in:
@@ -1,16 +1,40 @@
|
||||
<?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.KeyboardUserCharacterMapper">
|
||||
<resultMap id="BaseResultMap" type="com.yolo.keyborad.model.entity.KeyboardUserCharacter">
|
||||
<!--@Table keyboard_user_character-->
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="character_id" jdbcType="BIGINT" property="characterId" />
|
||||
<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="user_id" jdbcType="BIGINT" property="userId" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, character_id, deleted, created_at, updated_at, user_id
|
||||
</sql>
|
||||
|
||||
<resultMap id="KeyboardUserCharacterVOMap"
|
||||
type="com.yolo.keyborad.model.vo.character.KeyboardUserCharacterVO">
|
||||
|
||||
<id column="id" property="id"/>
|
||||
|
||||
<!-- keyboard_character 表的列名,根据你的实际字段调整 -->
|
||||
<result column="character_name" property="characterName"/>
|
||||
|
||||
<!-- 关键:ARRAY 字段明确指定 jdbcType + typeHandler -->
|
||||
<result column="sort"
|
||||
jdbcType="ARRAY"
|
||||
typeHandler="org.apache.ibatis.type.ArrayTypeHandler"/>
|
||||
<result column="emoji" property="emoji"/>
|
||||
</resultMap>
|
||||
|
||||
<update id="updateSortByIdAndUserId">
|
||||
UPDATE keyboard_user_character
|
||||
SET sort = #{sort,jdbcType=ARRAY}
|
||||
where user_id = #{userId}
|
||||
AND deleted = FALSE
|
||||
</update>
|
||||
|
||||
|
||||
<select id="selectByUserId"
|
||||
resultMap="KeyboardUserCharacterVOMap">
|
||||
SELECT
|
||||
kuc.id,
|
||||
kc.character_name,
|
||||
kuc.sort,
|
||||
kuc.emoji
|
||||
FROM keyboard_user_character AS kuc
|
||||
LEFT JOIN keyboard_character AS kc ON kuc.character_id = kc.id
|
||||
WHERE kuc.user_id = #{loginId}
|
||||
AND kuc.deleted = FALSE
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user