Files
photography/backend/internal/logic/CLAUDE.md
xujiang 386666660f
Some checks failed
部署后端服务 / 🚀 构建并部署 (push) Failing after 7m20s
feat: 重构CLAUDE.md文档体系,实现模块化轻量级设计
- 重构根目录CLAUDE.md为项目总览(60行精简版)
- 细化backend模块CLAUDE.md为开发指南
- 新增各子模块CLAUDE.md文件:
  - api/desc/ - API定义模块
  - internal/handler/ - 请求处理器
  - internal/logic/ - 业务逻辑层
  - internal/model/ - 数据模型层
  - internal/middleware/ - 中间件层
  - internal/svc/ - 服务上下文
  - configs/ - 配置目录
  - deploy/ - 部署配置
  - pkg/ - 公共库
  - scripts/ - 工具脚本
  - configs/sql/ - SQL脚本
- 修复PostgreSQL SSL配置参数
- 清理旧的backend-old目录

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 13:16:01 +08:00

1.1 KiB

Logic层 - 业务逻辑

📋 目录结构

internal/logic/
├── auth/           # 认证逻辑
├── category/       # 分类业务逻辑
├── photo/         # 照片业务逻辑
├── user/          # 用户业务逻辑
└── health/        # 健康检查逻辑

🎯 逻辑层职责

  • 业务处理: 核心业务逻辑实现
  • 数据验证: 业务规则验证
  • 事务管理: 数据库事务控制
  • 错误处理: 业务异常处理

🚀 开发流程

  1. 实现接口: 根据API定义实现逻辑
  2. 调用模型: 使用model层操作数据
  3. 处理异常: 返回标准化错误

📊 代码结构

// 业务逻辑模板
func (l *CreatePhotoLogic) CreatePhoto(req types.CreatePhotoRequest) (*types.Photo, error) {
    // 1. 业务验证
    // 2. 数据操作
    // 3. 返回结果
}

🔗 层级关系

Handler → Logic → Model → Database

🎯 最佳实践

  • 单一职责: 每个logic方法只做一件事
  • 错误处理: 使用pkg/errorx定义错误
  • 日志记录: 关键操作添加日志
  • 事务边界: 复杂操作使用事务