feat(character): 新增删除用户人设接口

新增 /character/delUserCharacter 接口,仅允许删除当前用户的人设,并在错误码中补充删除失败场景。
This commit is contained in:
2025-12-04 16:33:20 +08:00
parent fe19fb8ca2
commit dd7cd517f6
7 changed files with 28 additions and 2 deletions

View File

@@ -33,7 +33,8 @@ public enum ErrorCode {
PASSWORD_OR_MAIL_ERROR(50003,"密码或邮箱错误" ),
SEND_MAIL_FAILED(50004,"邮件发送失败" ),
CONFIRM_PASSWORD_NOT_MATCH(50005,"重复密码不匹配" ),
USER_CHARACTER_ADD_ERROR(50006,"添加用户键盘字符失败" );
USER_CHARACTER_ADD_ERROR(50006,"添加用户键盘字符失败" ),
USER_CHARACTER_DEL_ERROR(50007, "删除用户人设失败");
/**
* 状态码
*/

View File

@@ -77,7 +77,8 @@ public class SaTokenConfigure implements WebMvcConfigurer {
"/user/detail",
"/user/register",
"/character/updateUserCharacterSort",
"/character/addUserCharacter"
"/character/addUserCharacter",
"/character/delUserCharacter"
};
}
@Bean

View File

@@ -80,4 +80,11 @@ public class CharacterController {
characterService.addUserCharacter(addDTO);
return ResultUtils.success(true);
}
@GetMapping("/delUserCharacter")
@Operation(summary = "删除用户人设", description = "删除用户人设接口")
public BaseResponse<Boolean> delUserCharacter(@RequestParam("id") Long id) {
characterService.removeUserCharacter(id);
return ResultUtils.success(true);
}
}

View File

@@ -19,4 +19,6 @@ public interface KeyboardUserCharacterMapper extends BaseMapper<KeyboardUserChar
void updateSortByIdAndUserId(@Param("sort") Integer[] sort,@Param("userId") long userId);
List<Long> selectSortByUserId(@Param("userId") Long userId);
void deleteByIdAndUserId(@Param("id") Long id, @Param("userId") long userId);
}

View File

@@ -26,4 +26,6 @@ public interface KeyboardCharacterService extends IService<KeyboardCharacter>{
void updateSort(KeyboardUserCharacterSortUpdateDTO sortUpdateDTO);
void addUserCharacter(KeyboardUserCharacterAddDTO addDTO);
void removeUserCharacter(Long id);
}

View File

@@ -110,4 +110,11 @@ public class KeyboardCharacterServiceImpl extends ServiceImpl<KeyboardCharacterM
keyboardUserSortMapper.insertUserSort(userId, newSortArray);
}
}
@Override
public void removeUserCharacter(Long id) {
long userId = StpUtil.getLoginIdAsLong();
//只能删除自己的人设
keyboardUserCharacterMapper.deleteByIdAndUserId(id, userId);
}
}

View File

@@ -33,4 +33,10 @@
FROM keyboard_user_sort
WHERE user_id = #{userId}
</select>
<delete id="deleteByIdAndUserId">
DELETE FROM keyboard_user_character
WHERE id = #{id}
AND user_id = #{userId}
</delete>
</mapper>