feat(oss): 增加对象存储模块并支持多种存储策略

- 新增对象存储服务模块 `han-note-oss`,集成 Rustfs、阿里云 OSS 及腾讯云 Cos 存储
- 提供统一的 `FileStrategy` 接口及 `FileStrategyFactory` 工厂类,根据存储类型动态选择存储策略
- 实现阿里云 OSS、腾讯云 Cos 和 Rustfs 具体存储逻辑
- 增加文件上传接口 `FileController`,支持接收文件并返回访问路径
- 完成用户密码更新接口,使用`spring.security`对密码进行加密
This commit is contained in:
Hanserwei
2025-10-03 17:52:25 +08:00
parent 5c406b48f9
commit 0d71d8e209
33 changed files with 974 additions and 1 deletions

View File

@@ -2,13 +2,17 @@ package com.hanserwei.hannote.auth.controller;
import com.hanserwei.framework.biz.operationlog.aspect.ApiOperationLog;
import com.hanserwei.framework.common.response.Response;
import com.hanserwei.hannote.auth.model.vo.user.UpdatePasswordReqVO;
import com.hanserwei.hannote.auth.model.vo.user.UserLoginReqVO;
import com.hanserwei.hannote.auth.service.UserService;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
@@ -30,4 +34,10 @@ public class UserController {
public Response<?> logout() {
return userService.logout();
}
@PostMapping("/password/update")
@ApiOperationLog(description = "修改密码")
public Response<?> updatePassword(@Validated @RequestBody UpdatePasswordReqVO updatePasswordReqVO) {
return userService.updatePassword(updatePasswordReqVO);
}
}