名称 最后更新
conf 正在载入提交数据...
deploy/k8s 正在载入提交数据...
document 正在载入提交数据...
pkg 正在载入提交数据...
test/integration/beego 正在载入提交数据...
.gitignore 正在载入提交数据...
Dockerfile 正在载入提交数据...
README.md 正在载入提交数据...
go.mod 正在载入提交数据...
go.sum 正在载入提交数据...
main.go 正在载入提交数据...

价值系统后台管理服务

系统架构图

diagram

项目使用框架

  • http框架:beego
  • orm框架:go-pg
  • 数据存储:postgresql
  • 项目结构分层:基于端口适配器架构(六边形架构)实现领域驱动设计(DDD领域驱动)

项目目录结构

  ├─conf     项目配置文件 
  ├─deploy   项目部署文件
  ├─document 接口文档
  ├─test     业务接口集成测试
  ├─dsl      领域描述语言文档
  ├─pkg
  │  ├─application 应用层
  │  │      ├─employee            员工
  │  │      ├─task                任务
  │  │      ├─suMoney             素币
  │  │      ├─statistics          统计
  │  │      ├─notification        消息通知
  │  │      ├─customerValue       客户价值
  │  │      ├─projectBelong       项目归属
  │  │      ├─taskNature          任务性质
  │  │      ├─unifiedUserCenter    统一用户中心适配
  │  │      ├─event               注册领域业务事件订阅以及处理
  │  │      └─factory             工厂类,组装复杂对象或者聚合
  │  ├─domain 领域层(核心业务逻辑建模,实体,聚合根)
  │  │    ├─event      领域事件
  │  │    ├─service    领域服务
  │  │    ├─domain...   领域对象
  │  │    └─task        任务状态机实现
  │  ├─infrastructure    基础设施层
  │  │      ├─dao                 数据访问对象
  │  │      ├─domain_service      领域服务具体实现
  │  │      ├─pg                  数据模型定义
  │  │      ├─repository          实体或者聚合根模型仓储
  │  │      └─service_gateway     微服务网关,其他业务接口或者第三方服务接口网关
  │  ├─constant  项目配置常量设置
  │  ├─log  日志模块
  │  └─port 用户接入层
  │      └─beego beego框架接入实现http接口
  └─logs  日志文件

主要业务模块

  • 企业员工模块(application/employee)
  • 素币模块(application/suMoney)
  • 任务模块(application/task)
  • 统计模块(application/statistics)
  • 消息通知模块(application/notification)
  • 适配统一用户中心模块(application/unifiedUserCenter)

任务有限状态机

taskFSM

领域驱动设计-战略建模

领域

限界上下文

上下文映射

领域驱动设计-战术建模

实体

员工实体:Employee

现金池实体:CashPool

客户价值实体:CustomerValue

素币兑换活动实体:ExchangeCashActivity

素币兑换清单实体:ExchangeCashPerson

排行版时间实体:ListInterval

提醒消息实体:Notification

关闭任务记录实体:OffTaskRecord

项目归属实体:ProjectBelong

引用资源实体:ReferenceResource

驳回任务记录实体:RejectTaskRecord

任务实体:Task

素币事务记录实体:SuMoneyTransactionRecord

任务性质实体:TaskNature

已发送通知实体:SentNotification

值对象

员工信息值对象:EmployeeInfo

竞标任务信息值对象:BidInfo

竞标人值对象:BidderInfo

引用资源项值对象:ReferenceResourceItem

抢单任务信息值对象:RobInfo

任务贡献占比项值对象:TaskPercentageItem

解决评分项值对象:SolveScoreItem

聚合根

领域服务

验收任务服务

申请完成任务服务

竞标任务服务

选择竞标成功人服务

确认抢单任务服务

兑换素币服务

关闭任务服务

操作素币服务

已读全部消息服务

已读消息服务

驳回任务服务

发布任务服务

抢单任务服务

领域事件

领域驱动设计工程实现

模块

领域对象

资源库

防腐层

领域服务

数据流转

avatar

上下文集成

分离领域

avatar

安装与使用

价值系统代码仓库地址

新建开发分支,如:xxx-dev,下载相应分支代码

git clone -b xxx-dev http://gitlab.fjmaimaimai.com/linmadan/mmm-worth.git

安装项目依赖:

go mod tidy

启动项目

bee run