张翔
179d17ffa2
Merge branch 'feature/operation-log' into main
...
feat: 实现操作日志记录功能
新增功能:
- 基于@OperationLog注解的AOP操作日志记录
- 完整的IP地址提取逻辑(IpUtils)
- 支持Mono和Flux响应式类型
- 优雅的错误处理机制
测试覆盖:
- 17个单元测试用例,100%通过率
- 覆盖所有核心场景和边界条件
业务集成:
- 用户管理模块: 6个操作
- 角色管理模块: 5个操作
- 菜单管理模块: 4个操作
2026-04-03 20:44:27 +08:00
张翔
22d5948994
test: add comprehensive unit tests for operation log feature
...
- Add IpUtilsTest with 9 test cases covering all IP extraction scenarios
- Add OperationLogAspectTest with 8 test cases covering all aspect behaviors
- Fix error handling in OperationLogAspect to prevent log failures from affecting main flow
- Add onErrorResume handlers for graceful degradation
- Ensure all tests pass (17/17, 100% pass rate)
Test Coverage:
- IP extraction from various sources (X-Forwarded-For, X-Real-IP, RemoteAddress)
- IPv6 to IPv4 conversion
- Reactive type support (Mono, Flux)
- Error handling and graceful degradation
- Parameter serialization and truncation
- Edge cases and boundary conditions
2026-04-03 20:42:10 +08:00
张翔
c4dc1d2ee1
fix: resolve critical and important issues in OperationLogAspect
...
- Fix blocking call blockOptional() in reactive context
- Fix double subscription issue in saveLogAsync
- Fix Chinese character encoding issues in log messages
- Add Flux support for reactive streams
- Add parameter and result size limits
- Add comprehensive JavaDoc for IpUtils
2026-04-03 20:29:23 +08:00
张翔
63c3f701a5
feat: add @OperationLog annotations to menu management operations
2026-04-03 20:07:54 +08:00
张翔
a7475ef748
feat: add @OperationLog annotations to role management operations
2026-04-03 20:07:08 +08:00
张翔
257038224e
feat: add @OperationLog annotations to user management operations
2026-04-03 20:06:13 +08:00
张翔
63825dc206
feat: implement OperationLogAspect with complete IP extraction logic
2026-04-03 19:48:18 +08:00
张翔
9ebe19411e
feat: add @OperationLog annotation for operation logging
2026-04-03 19:34:01 +08:00
张翔
2bdf5a6c90
docs: add operation log implementation plan
...
- Break down into 9 bite-sized tasks
- Follow TDD approach with tests first
- Include exact file paths and complete code
- Provide verification steps for each task
2026-04-03 19:28:48 +08:00
张翔
03a9eb73c7
docs: add operation log feature design document
...
- Define annotation-driven operation log recording approach
- Specify key business operations to be logged
- Outline testing and deployment strategy
- Address performance and security considerations
2026-04-03 19:26:16 +08:00
张翔
229fb77e76
fix: correct phone field filling logic in UserManagementPage
...
- Fix fillUserForm method to use correct input indices
- Add localStorage cleanup in beforeEach hook
- Update all tests to use e2e_test_user account
- Add debug and simple login tests for troubleshooting
Root cause: Phone field was not being filled correctly, causing 400 error
from backend with message '手机号不能为空'
2026-04-03 19:09:45 +08:00
张翔
e430865d8f
test: add dedicated E2E test user to avoid affecting admin account
2026-04-03 18:28:30 +08:00
张翔
2de0529d34
feat: 实现登录日志和操作日志的分页查询功能
...
refactor: 重构日志服务层代码,将分页逻辑移至Repository层
test: 添加日志分页查询的单元测试和组件测试
docs: 更新README文档,记录API响应格式修复过程
chore: 清理无用文件,更新.gitignore配置
build: 添加Jacoco代码覆盖率插件配置
ci: 添加测试环境配置文件application-h2-test.yml
style: 统一日志服务代码格式,添加必要的日志输出
2026-04-03 17:49:55 +08:00
张翔
b0f91d74f5
feat: 统一JWT密钥配置并修复签名验证问题
...
修复前端签名生成中bodyString硬编码问题
添加start-frontend.sh脚本启动前端服务
统一manage-app和gateway的JWT密钥配置
修复Repository扫描路径问题
更新测试配置和依赖
重构表名映射为sys_user和sys_role
完善用户实体类字段映射
添加集成测试配置和测试用例
2026-04-02 12:28:49 +08:00
张翔
6392c08560
feat(api/web): 实现API请求签名验证功能并优化测试环境配置
...
refactor(db): 重构查询条件类到query目录下
test: 添加登录流程测试脚本和测试数据
chore: 添加crypto-js依赖用于签名验证
ci: 配置测试环境数据库和端口设置
2026-04-02 08:07:53 +08:00
张翔
1e3dc11d59
refactor(test): 重构测试套件结构并优化测试配置
...
feat(test-suite): 新增测试套件模块,包含API测试客户端和测试配置
fix(api): 修复数据库实体和仓库的删除操作返回值
style(api): 统一数据库表名和字段命名
perf(api): 添加缓存注解提升配置查询性能
test(api): 添加H2测试数据库配置支持
chore: 清理旧的测试文件和脚本
2026-04-01 20:57:24 +08:00
张翔
24422c2c19
feat: 增强输入验证和安全防护
...
- 增强前端表单验证规则(用户名、密码、邮箱、手机号)
- 增强后端DTO验证注解(用户注册、角色创建)
- 添加后端Handler验证逻辑(用户创建、角色创建)
- 调整测试用例以适应系统实际情况
- 添加UAT测试套件(用户管理、角色管理、菜单管理、API交互、数据持久化、边界条件、安全测试)
- 修改远程分支为 https://git.f.novalon.cn/novalon/novalon-manage-system.git
2026-03-27 21:31:30 +08:00
张翔
a05368d306
feat(登录): 添加路由守卫和异步导航处理
...
fix(表单验证): 为用户、角色和菜单管理添加表单验证规则
test(e2e): 增加页面导航超时时间和网络空闲等待
refactor(数据库): 移除Flyway配置并更新数据源配置
2026-03-27 14:40:55 +08:00
张翔
af44c23f21
refactor(security): 重构安全配置并优化测试环境
...
- 移除旧的测试套件和UAT测试文件
- 更新密码编码器配置使用BCrypt strength=12
- 添加用户角色关联表和相关服务
- 优化前端日期显示格式
- 清理无用资源和配置文件
- 增强测试数据管理和清理功能
2026-03-27 13:00:22 +08:00
张翔
ce30893a96
feat: 配置Swagger UI在开发/测试环境可访问
...
- SecurityConfig: 添加Environment注入和环境检测逻辑
- SecurityConfig: 在dev/test环境放行Swagger相关路径
- SecurityConfig: 移除重复的PasswordEncoder Bean定义
- SecurityConfigTest: 修改测试以适应新的构造函数
- OpenApiConfig: 修正开发环境服务器URL从8080改为8084
修改的文件:
- novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/config/SecurityConfig.java
- novalon-manage-api/manage-sys/src/test/java/cn/novalon/manage/sys/config/SecurityConfigTest.java
- novalon-manage-api/manage-app/src/main/java/cn/novalon/manage/app/config/OpenApiConfig.java
功能说明:
- Swagger UI在dev/test环境可通过http://localhost:8084/swagger-ui.html访问
- 生产环境自动禁用Swagger访问,确保安全性
- 解决了Bean冲突问题(PasswordEncoder重复定义)
- 修正了服务器端口配置
2026-03-26 13:05:00 +08:00
张翔
4ec1a3f4dd
feat: 更新UAT测试配置和修复数据库连接问题
...
refactor(测试): 重构用户数据加载逻辑以支持数组格式
fix(数据库): 修正数据库连接配置和凭证
test: 添加新的导航和用户管理测试场景
docs: 生成UAT测试报告和最终报告
ci: 更新Woodpecker CI配置和测试命令
build: 添加application-test.yml配置文件
chore: 清理旧的测试场景文件
2026-03-25 15:32:49 +08:00
张翔
6c35ba7fb4
fix: resolve UAT test issues and improve test infrastructure
2026-03-25 10:21:47 +08:00
张翔
f0efbaeabd
feat: configure UAT test automation and reporting
2026-03-25 09:52:27 +08:00
张翔
d7ad5776f8
feat: implement core UAT test scenarios
2026-03-25 09:49:12 +08:00
张翔
9cfa3e68f6
feat: add UAT helper utilities and test data
2026-03-25 09:44:57 +08:00
张翔
a02c64169a
feat: create UAT test directory structure and configuration
2026-03-25 09:43:43 +08:00
张翔
e2ad1331cc
feat: 添加测试框架和覆盖率报告功能
...
feat(测试): 新增Playwright和Vitest测试配置
feat(测试): 添加测试覆盖率报告生成功能
feat(测试): 实现前后端测试脚本集成
fix(测试): 修复测试密码不匹配问题
fix(测试): 修正URL等待策略
fix(测试): 调整错误消息选择器
refactor(测试): 重构测试目录结构
refactor(测试): 优化测试用例组织方式
docs: 更新测试报告文档
docs: 添加测试覆盖率报告模板
ci: 添加Docker测试环境配置
ci: 实现测试自动化脚本
chore: 更新依赖版本
chore: 添加测试相关配置文件
2026-03-25 09:03:37 +08:00
张翔
117978e148
feat(ui): 增强操作日志和仪表盘页面的UI交互体验
...
为操作日志页面添加操作模块图标和参数格式化展示功能
优化仪表盘页面统计卡片样式和最近登录/系统信息展示效果
2026-03-24 17:32:01 +08:00
张翔
31d66103e4
feat(登录日志): 添加今日登录次数统计功能
...
新增今日登录次数统计接口,修复Dashboard显示问题
- 在ISysLoginLogService接口添加countToday方法
- 实现SysLoginLogService中的countToday逻辑
- 更新ISysLoginLogRepository接口
- 添加SysLogHandler中的getTodayLoginCount方法
- 在SystemRouter中配置新路由端点
fix(测试): 更新系统配置URL匹配规则
- 将uat-phase1.spec.ts中的sysconfig改为sys/config
docs: 添加E2E测试报告和Dashboard问题诊断文档
2026-03-24 17:12:10 +08:00
张翔
3d6a0bd7b8
fix(QueryUtil): 修复条件判断逻辑错误
...
test: 更新密码测试用例以符合新验证规则
test: 更新用户名测试用例以使用ValidationException
test: 更新邮箱测试用例以使用ValidationException
test: 更新角色创建命令测试以使用ValidationException
build: 移除dependency-check-maven插件
2026-03-24 15:15:20 +08:00
张翔
f6916fb5b9
test(QueryUtil): 修复测试用例中criteria的空指针问题
...
修改测试用例中query.getCriteria()的调用方式,使用orElse处理可能的空值情况,避免空指针异常
2026-03-24 14:30:16 +08:00
张翔
e4721053bd
feat: 完善系统配置审计通知功能并优化异常处理
...
- 新增异常处理体系(BaseException及其子类)
- 优化密码、邮箱、用户名等基础类型
- 添加字典管理、登录日志、操作日志的E2E测试
- 完善API集成测试和安全测试
- 添加性能测试配置和脚本
- 优化OpenAPI配置和全局异常处理器
2026-03-24 14:05:35 +08:00
张翔
be5d5ede90
feat: 添加异常日志功能并优化UI样式
...
refactor: 重构后端查询逻辑和API响应处理
fix: 修复用户角色更新和文件上传问题
test: 添加前端性能测试脚本和E2E测试用例
chore: 更新依赖版本和配置文件
docs: 添加环境检查脚本和测试文档
style: 统一表格标签样式和路由命名
perf: 优化前端页面加载速度和响应时间
2026-03-24 13:32:20 +08:00
张翔
a97d317e4a
refactor: RoleManagement component with API services and permission assignment
2026-03-20 08:02:03 +08:00
张翔
50c5afbbb7
refactor: UserManagement component with API services and role assignment
2026-03-20 08:00:49 +08:00
张翔
5478139119
feat: add unified API error handler with user-friendly messages
2026-03-20 07:59:17 +08:00
张翔
c3716bf732
feat: add role management API service with permission support
2026-03-20 07:58:45 +08:00
张翔
cf49e2f2d1
feat: add user management API service with pagination support
2026-03-20 07:58:19 +08:00
张翔
738dd58e9c
feat: add auth API service with TypeScript interfaces
2026-03-20 07:57:48 +08:00
张翔
11af2d1695
fix: improve UAT tests with proper waits and increased timeouts
2026-03-20 07:57:07 +08:00
张翔
743bc1f390
fix: simplify basic tests with proper waits and assertions
2026-03-20 07:56:10 +08:00
张翔
61f0c980cc
fix: optimize playwright config with increased timeouts and retries
2026-03-20 07:55:29 +08:00
张翔
ce41fe7e26
feat: add frontend API integration for operation log
2026-03-18 22:37:47 +08:00
张翔
fd1c700412
feat: add operation log filter for automatic logging
2026-03-18 22:36:40 +08:00
张翔
bbcaee1116
feat: add operation log routes to SystemRouter
2026-03-18 22:35:42 +08:00
张翔
8a0cd64829
feat: extend operation log service and repository with pagination support
2026-03-18 22:34:43 +08:00
张翔
157aee2ffc
feat: add operation_log table migration
2026-03-18 22:28:51 +08:00
张翔
9ab7cb0982
test: 补充Handler层测试用例提升分支覆盖率
...
- SysUserHandler: 新增7个测试(分页、创建、更新、批量操作)
- SysRoleHandler: 新增3个测试(分页、更新NotFound)
- MenuHandler: 新增3个测试(默认参数、null参数、更新NotFound)
- 覆盖更多分支逻辑和边界条件
- 提升Handler层测试完整性
2026-03-14 18:03:12 +08:00
张翔
8ff7a6436d
test: 添加配置类和安全组件单元测试
...
- JwtTokenProviderTest: 测试JWT Token生成、解析和验证功能
- RateLimitConfigTest: 测试限流配置
- MultipartConfigTest: 测试文件上传配置
- 覆盖Token生成、解析、验证等核心安全功能
- 使用反射设置私有字段进行测试
- 避免Spring上下文依赖,提高测试速度
2026-03-14 17:10:22 +08:00
张翔
3bd684ce2a
test: 添加Service层单元测试
...
- OperationLogServiceTest: 测试操作日志服务
- SysDictDataServiceTest: 测试字典数据服务
- SysMenuServiceTest: 测试菜单服务(含树形结构构建)
- SysExceptionLogServiceTest: 测试异常日志服务(含分页查询)
- SysLoginLogServiceTest: 测试登录日志服务(含分页查询)
- SysDictTypeServiceTest: 测试字典类型服务
- 使用Mockito模拟Repository层依赖
- 使用StepVerifier验证响应式流
- 覆盖CRUD操作和复杂查询场景
2026-03-14 16:48:23 +08:00