|
|
409a68d60b
|
feat: OpenAPI 契约对齐与框架优化
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m45s
主要变更:
1. OpenAPI 文档契约对齐
- 统一错误响应字段名为 msg(非 message)
- 规范 envelope 响应结构(code, msg, data, timestamp)
- 个人客户路由纳入文档体系(使用 Register 机制)
- 新增 BuildDocHandlers() 统一管理 handler 构造
- 确保文档生成的幂等性
2. Service 层错误处理统一
- 全面替换 fmt.Errorf 为 errors.New/Wrap
- 统一错误码使用规范
- Handler 层参数校验不泄露底层细节
- 新增错误码验证集成测试
3. 代码质量提升
- 删除未使用的 Task handler 和路由
- 新增代码规范检查脚本(check-service-errors.sh)
- 新增注释路径一致性检查(check-comment-paths.sh)
- 更新 API 文档生成指南
4. OpenSpec 归档
- 归档 openapi-contract-alignment 变更(63 tasks)
- 归档 service-error-unify-core 变更
- 归档 service-error-unify-support 变更
- 归档 code-cleanup-docs-update 变更
- 归档 handler-validation-security 变更
- 同步 delta specs 到主规范文件
影响范围:
- pkg/openapi: 新增 handlers.go,优化 generator.go
- internal/service/*: 48 个 service 文件错误处理统一
- internal/handler/admin: 优化参数校验错误提示
- internal/routes: 个人客户路由改造,删除 task 路由
- scripts: 新增 3 个代码检查脚本
- docs: 更新 OpenAPI 文档(15750+ 行)
- openspec/specs: 同步 3 个主规范文件
破坏性变更:无
向后兼容:是
|
2026-01-30 11:40:36 +08:00 |
|
|
|
46e4e5f4f1
|
refactor: 将 DTO 文件从 internal/model 移动到 internal/model/dto 目录
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 4m22s
- 移动 17 个 DTO 文件到 internal/model/dto/ 目录
- 更新所有 DTO 文件的 package 声明从 model 改为 dto
- 更新所有引用文件的 import 和类型引用
- Handler 层:admin 和 h5 所有处理器
- Service 层:所有业务服务
- Routes 层:所有路由定义
- Tests 层:单元测试和集成测试
- 清理未使用的 import 语句
- 验证:项目构建成功,测试编译通过,LSP 无错误
|
2026-01-22 10:15:04 +08:00 |
|
|
|
5556b1028c
|
feat(role): 新增平台角色管理功能增强
- 权限表增加 available_for_role_types 字段,支持标记权限可用角色类型
- 权限列表和权限树接口支持按 available_for_role_type 过滤
- 新增角色状态切换接口 PUT /api/admin/roles/:id/status
- 角色分配权限时验证权限的可用角色类型
- 完善数据库迁移脚本和单元测试
- 补充数据库迁移相关开发规范文档
|
2026-01-14 12:15:57 +08:00 |
|
|
|
4507de577b
|
代码质量改进:修复架构违规、完善文档注释和清理冗余代码
- 修复 health.go handler 直接操作响应的架构违规问题
- 为 model 字段添加 GORM comment 标签(account_role、base、role_permission)
- 为 handler、service、store 包添加包级文档注释
- 清理 customer service 和 personal_customer handler 中注释掉的代码
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-01-12 16:28:48 +08:00 |
|
|
|
ad946af5ee
|
add: 提交部分表设计
update: 1.所有model嵌入gorm公用model 2.所有model嵌入BaseModel
|
2025-12-15 11:32:33 +08:00 |
|
|
|
eaa70ac255
|
feat: 实现 RBAC 权限系统和数据权限控制 (004-rbac-data-permission)
主要功能:
- 实现完整的 RBAC 权限系统(账号、角色、权限的多对多关联)
- 基于 owner_id + shop_id 的自动数据权限过滤
- 使用 PostgreSQL WITH RECURSIVE 查询下级账号
- Redis 缓存优化下级账号查询性能(30分钟过期)
- 支持多租户数据隔离和层级权限管理
技术实现:
- 新增 Account、Role、Permission 模型及关联关系表
- 实现 GORM Scopes 自动应用数据权限过滤
- 添加数据库迁移脚本(000002_rbac_data_permission、000003_add_owner_id_shop_id)
- 完善错误码定义(1010-1027 为 RBAC 相关错误)
- 重构 main.go 采用函数拆分提高可读性
测试覆盖:
- 添加 Account、Role、Permission 的集成测试
- 添加数据权限过滤的单元测试和集成测试
- 添加下级账号查询和缓存的单元测试
- 添加 API 回归测试确保向后兼容
文档更新:
- 更新 README.md 添加 RBAC 功能说明
- 更新 CLAUDE.md 添加技术栈和开发原则
- 添加 docs/004-rbac-data-permission/ 功能总结和使用指南
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 16:44:06 +08:00 |
|