项目程序结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.
├── Dockerfile                // 镜像配置
├── docker-compose-local.yaml // docker-compose文件,方便开发环境的启动
├── Makefile                  // 自动化命令文件
├── README.md                 // 项目 readme
├── config.json               // 本地配置文件
├── config.json.example       // 本地配置文件示例
├── go.mod
├── go.sum
├── internal        // 代码实现
│   ├── config      // 配置信息目录
│   │   └── db.go   // 数据库配置
│   ├── cron        // 定时任务
│   ├── global      // 全局常量定义
│   ├── form        // 结构体定义
│   ├── lib         // 第三方库
│   ├── logic       // logic服务
│   │   ├── controller  // 控制器
│   │   ├── middleware  // 中间件
│   │   └── repository  // 业务层
│   ├── logic_admin     // logic_admin服务
│   │   ├── controller  // 控制器
│   │   ├── middleware  // 中间件
│   │   └── repository  // 业务层
│   ├── business        // 业务层共用代码,业务逻辑层的进一步抽象,主要目的是提供共用代码给各个服务的repository层调用,此层不允许直接调用各个服务的repository层方法
│   │   └── customer.go // 业务逻辑代码
│   ├── model           // 数据模型
│   │   └── customer.go // 客户模型定义
│   ├── dao             // data access object,model层对应的数据处理层
│   │   └── customer.go // 客户模型对应的数据处理层,比如增删改查
│   ├── mq              // mq
│   ├── socket          // socket
│   └── rpc             // rpc代码
├── log // 日志存放目录
├── main // 程序运行入口
│   ├── crontab.go // 定时任务
│   ├── logic.go   // 业务逻辑
│   ├── migrate.go // 迁移文件
│   ├── message.go // 消息处理
│   ├── newapi.go  // 生成API脚手架
│   ├── socket.go  // socket
│   └── script.go  // 临时跑数据脚本
└── vendor // 第三方扩展
    ├── github.com
    └── modules.txt