|
|
# 价值系统后台管理服务
|
|
|
项目使用框架
|
|
|
## 系统架构图
|
|
|
![diagram](http://gitlab.fjmaimaimai.com/chenzhiying/img-folder/raw/master/diagram.png)
|
|
|
## 项目使用框架
|
|
|
- http框架:beego
|
|
|
- orm框架:go-pg
|
|
|
- 数据存储:postgresql
|
|
|
- 项目结构分层:基于端口适配器架构(六边形架构)实现领域驱动设计(DDD领域驱动)
|
|
|
|
|
|
项目目录结构
|
|
|
## 项目目录结构
|
|
|
```
|
|
|
├─conf 项目配置文件
|
|
|
├─deploy 项目部署文件
|
|
|
├─document 接口文档
|
|
|
├─test 业务接口集成测试
|
|
|
├─dsl 领域描述语言文档
|
|
|
├─pkg
|
|
|
│ ├─application 应用层
|
|
|
│ │ ├─employee 员工
|
|
|
│ │ ├─task 任务
|
|
|
│ │ ├─suMoney 素币
|
|
|
│ │ ├─statistics 统计
|
|
|
│ │ ├─notification 消息通知
|
|
|
│ │ ├─notification 消息通知
|
|
|
│ │ ├─customerValue 客户价值
|
|
|
│ │ ├─projectBelong 项目归属
|
|
|
│ │ ├─taskNature 任务性质
|
...
|
...
|
@@ -25,12 +28,12 @@ |
|
|
│ │ ├─event 注册领域业务事件订阅以及处理
|
|
|
│ │ └─factory 工厂类,组装复杂对象或者聚合
|
|
|
│ ├─domain 领域层(核心业务逻辑建模,实体,聚合根)
|
|
|
│ │ ├─event/ 领域事件
|
|
|
│ │ ├─service/ 领域服务
|
|
|
│ │ ├─domain... 领域对象
|
|
|
│ │ └─task 任务状态机实现
|
|
|
│ │ ├─event 领域事件
|
|
|
│ │ ├─service 领域服务
|
|
|
│ │ ├─domain... 领域对象
|
|
|
│ │ └─task 任务状态机实现
|
|
|
│ ├─infrastructure 基础设施层
|
|
|
│ │ ├─dao 数据访问对象
|
|
|
│ │ ├─dao 数据访问对象
|
|
|
│ │ ├─domain_service 领域服务具体实现
|
|
|
│ │ ├─pg 数据模型定义
|
|
|
│ │ ├─repository 实体或者聚合根模型仓储
|
...
|
...
|
@@ -42,7 +45,7 @@ |
|
|
└─logs 日志文件
|
|
|
```
|
|
|
|
|
|
主要业务模块
|
|
|
## 主要业务模块
|
|
|
- 企业员工模块(application/employee)
|
|
|
- 素币模块(application/suMoney)
|
|
|
- 任务模块(application/task)
|
...
|
...
|
@@ -50,18 +53,123 @@ |
|
|
- 消息通知模块(application/notification)
|
|
|
- 适配统一用户中心模块(application/unifiedUserCenter)
|
|
|
|
|
|
# 安装与使用
|
|
|
[价值系统代码仓库地址](http://gitlab.fjmaimaimai.com/linmadan/mmm-worth)
|
|
|
## 任务有限状态机
|
|
|
![taskFSM]()
|
|
|
|
|
|
## 领域驱动设计-战略建模
|
|
|
### 领域
|
|
|
|
|
|
### 限界上下文
|
|
|
|
|
|
### 上下文映射
|
|
|
|
|
|
## 领域驱动设计-战术建模
|
|
|
### 实体
|
|
|
员工实体:Employee
|
|
|
|
|
|
现金池实体:CashPool
|
|
|
|
|
|
客户价值实体:CustomerValue
|
|
|
|
|
|
素币兑换活动实体:ExchangeCashActivity
|
|
|
|
|
|
素币兑换清单实体:ExchangeCashPerson
|
|
|
|
|
|
排行版时间实体:ListInterval
|
|
|
|
|
|
提醒消息实体:Notification
|
|
|
|
|
|
关闭任务记录实体:OffTaskRecord
|
|
|
|
|
|
项目归属实体:ProjectBelong
|
|
|
|
|
|
引用资源实体:ReferenceResource
|
|
|
|
|
|
驳回任务记录实体:RejectTaskRecord
|
|
|
|
|
|
任务实体:Task
|
|
|
|
|
|
素币事务记录实体:SuMoneyTransactionRecord
|
|
|
|
|
|
任务性质实体:TaskNature
|
|
|
|
|
|
已发送通知实体:SentNotification
|
|
|
|
|
|
### 值对象
|
|
|
员工信息值对象:EmployeeInfo
|
|
|
|
|
|
竞标任务信息值对象:BidInfo
|
|
|
|
|
|
竞标人值对象:BidderInfo
|
|
|
|
|
|
引用资源项值对象:ReferenceResourceItem
|
|
|
|
|
|
抢单任务信息值对象:RobInfo
|
|
|
|
|
|
任务贡献占比项值对象:TaskPercentageItem
|
|
|
|
|
|
新建开发分支,如:xxx-dev,下载相应分支代码
|
|
|
解决评分项值对象:SolveScoreItem
|
|
|
|
|
|
### 聚合根
|
|
|
|
|
|
### 领域服务
|
|
|
验收任务服务
|
|
|
|
|
|
申请完成任务服务
|
|
|
|
|
|
竞标任务服务
|
|
|
|
|
|
选择竞标成功人服务
|
|
|
|
|
|
确认抢单任务服务
|
|
|
|
|
|
兑换素币服务
|
|
|
|
|
|
关闭任务服务
|
|
|
|
|
|
操作素币服务
|
|
|
|
|
|
已读全部消息服务
|
|
|
|
|
|
已读消息服务
|
|
|
|
|
|
驳回任务服务
|
|
|
|
|
|
发布任务服务
|
|
|
|
|
|
抢单任务服务
|
|
|
|
|
|
### 领域事件
|
|
|
|
|
|
## 领域驱动设计工程实现
|
|
|
### 模块
|
|
|
|
|
|
### 领域对象
|
|
|
|
|
|
### 资源库
|
|
|
|
|
|
### 防腐层
|
|
|
|
|
|
### 领域服务
|
|
|
|
|
|
### 数据流转
|
|
|
![avatar](http://gitlab.fjmaimaimai.com/chenzhiying/img-folder/raw/master/dto.png)
|
|
|
### 上下文集成
|
|
|
|
|
|
### 分离领域
|
|
|
![avatar](http://gitlab.fjmaimaimai.com/chenzhiying/img-folder/raw/master/dispatch.png)
|
|
|
|
|
|
## 安装与使用
|
|
|
[价值系统代码仓库地址](http://gitlab.fjmaimaimai.com/linmadan/mmm-worth)
|
|
|
### 新建开发分支,如:xxx-dev,下载相应分支代码
|
|
|
```
|
|
|
git clone -b xxx-dev http://gitlab.fjmaimaimai.com/linmadan/mmm-worth.git
|
|
|
```
|
|
|
安装项目依赖:
|
|
|
### 安装项目依赖:
|
|
|
```
|
|
|
go mod tidy
|
|
|
```
|
|
|
启动项目
|
|
|
### 启动项目
|
|
|
```
|
|
|
bee run
|
|
|
``` |
...
|
...
|
|