1. 账号权限 #
1.1 工号 #
联系HR申请,用于登录OA,打卡,申请开通gitlab等
OA地址(需要VPN):https://home.naton.cn/
1.2 VPN #
办公相关的网络,都需要VPN
下载地址:https://app.naton.cn/
软件名称:GlobalProtect
网络:ssl.naton.cn
账号密码需联系石总开通申请,账号是工号
2. 项目系统环境 #
2.1 运行环境 #
jdk:17版本
maven:联系同事给settings文件
2.2 版本管理 #
git地址:http://code.naton.cn/
账号密码,需联系运维同学开通
2.3 部署流程 #
dev(uat),test,prod打包方式不一样,命令详见code的md文件
test:需求分支合并到test,CI/CD自动化发布
prod:需求分支合并到main,gitlab创建tag,发起飞书审批,审核后确认自动发布
3. 项目整体架构 #
3.1 整体架构图 #
3.2 模块和功能 #
3.2.1 模块结构 #
名称 | 主要能力 |
---|---|
starlink-xxx-admin | |
starlink-xxx-api | |
starlink-xxx-service |
3.2.2 主要业务中心 #
中心名称 | 模块 | 业务职能 | 文档链接 |
---|---|---|---|
营销中心 | starlink-activity | ||
商品中心 | starlink-product | ||
交易中心 | starlink-trade | ||
库存中心 | starlink-stock | ||
主数据中心 | starlink-main | ||
集成中心 | starlink-bridge | ||
简易wms | starlink-easywms |
4. 基础组件使用 #
4.1 通用脚手架 #
4.1.1 swift提供基础框架 #
-
用户信息
-
角色信息
-
导入导出
-
字典管理
-
操作日志
-
文件管理
4.2 starters #
-
common-db-starter
-
数据权限的实现逻辑
-
mybatisplus自动配置类
-
接口配置权限注解DataPermissions
-
-
common-export-starter
-
文件自动导出功能,AOP+MQ消息推送到主数据服务,主数据提供实现导出逻辑
-
接口配置权限注解AutoExport
-
-
common-job-ext-starter
-
datax数据同步功能
-
配置文件配置数据源信息
-
-
common-job-starter
- xxl定时任务自动配置封装
-
common-log-starter
-
记录操作日志
-
通过MQ推送日志消息,主数据服务进行消费记录
-
-
common-minio-starter
-
提供文件上传下载工具
-
提供文件服务的自动装配
-
-
common-redis-starter
-
redis操作的配置的自动装配
-
redis操作的工具类
-
-
common-security-starter
和web合并了
-
common-sequence-starter
-
基于雪花算法的ID生成器
-
需要依赖数据库表
-
-
common-service-starter
- 操作文件上传
-
common-web-starter
-
feign的封装,和其异常的封装
-
json序列化/反序列化的配置
-
支持动态调整日志级别
-
token认证和校验
-
数据权限逻辑的封装
-
全局异常的封装捕获
-
5. 业务能力 #
5.1 通用基础 #
5.1.1 平台基础能力 #
- 脚手架系统基础功能,用户角色菜单相关的
5.1.2 定制化全局功能 #
-
用户产线
-
角色组织
-
组织架构
-
字典管理
-
导出管理
-
操作日志
5.2 资质管理 #
供应商资质管理相关功能,入口为骨棒网,骨棒调用我们接口进行管理
6. 可优化点 #
-
操作日志发送的MQ消息的推送方式可改为oneway消息,提升系统效率
-
redis的工具包,可加入redisson,提供分布式锁能力
-
token重复校验,可追踪优化
-
日志打印不够友好,没输出行信息,可跟进优化
-
登录的时候需要选择组织,可以优化
疑问点 #
ID生成器,是否依赖的zk?
答:可选zk中心方式生成,默认本地化
common-service-starter和common-minio-starter有什么区别?
答:minio已废弃
系统管理的导出和公共管理的导出有什么区别?
答:
系统管理的字典和公共管理的字典有什么区别?
答: