kra-new/internal
Yvan a2ce3ae218 优化结构 2026-08-21 19:11:14 +08:00
..
app 优化结构 2026-08-21 10:29:14 +08:00
biz 优化结构 2026-08-21 19:11:14 +08:00
conf 优化结构 2026-08-21 19:11:14 +08:00
data 优化结构 2026-08-21 19:11:14 +08:00
initialize 优化结构 2026-08-21 19:11:14 +08:00
integration 优化结构 2026-08-21 10:29:14 +08:00
integrationruntime 优化结构 2026-08-21 19:11:14 +08:00
security 优化结构 2026-08-21 10:29:14 +08:00
server 优化结构 2026-08-21 16:52:37 +08:00
service refactor: organize service dto contracts 2026-08-21 14:00:19 +08:00
worker 优化结构 2026-08-21 10:29:14 +08:00
README.md 优化结构 2026-08-21 10:29:14 +08:00

README.md

System Module

系统模块承载当前管理后台的完整业务边界。internal 顶层只保留有明确 生命周期或分层职责的包:

  • app组合根、system 模块定义和任务/路由运行时组合
  • biz:系统领域对象、用例和仓储接口
  • conf:配置 proto 与运行时配置解析
  • data:数据库生命周期、系统仓储、系统表和支付持久化
  • initialize:数据库首次初始化和系统种子数据编排
  • integrationRedis、邮件、对象存储、支付、WebSocket 和 EMQX 适配器
  • security:后台 JWT 等安全实现
  • serverGin server 组合与生命周期;横切 HTTP 代码按子包维护: server/handlerserver/middlewareserver/routerserver/httpx
  • service应用服务、DTO 与领域对象转换和路由元数据DTO 集中在 service/dto,根包中的 dto_aliases.go 只负责兼容旧调用方
  • worker:定时任务执行与调度

目录代表边界模块文件按资源命名。DTO、handler、中间件、路由和 HTTP 响应工具分别放在独立子包中,避免 service/server 根目录堆积几十个 文件,同时不把只有一两个文件的业务逻辑再拆成新包。单文件的 module 定义并入 appJWT 实现集中在 securityprotobuf JSON 统一使用 pkg/protoutil

internal/app 只有 catalog.godefinition.go 是有意保留的组合根: 前者组装模块 catalog、任务注册和运行时后者声明 system 的迁移、管理面 和定时任务。它们不是可以下沉到 servicedata 的业务文件。

系统表统一使用 sys_ 前缀;业务表应由新业务模块自行命名和迁移,不要混入 本目录。

system 通过 Definition() 提供迁移、支付菜单/API 和默认任务,通过 worker.TaskMethods 提供依赖系统用例的任务实现,通过 server/router.Routes 提供 路由。应用组合根消费这些公共协议;新增业务不需要修改 system 的初始化、 worker、路由或数据层。