9.9 KiB
9.9 KiB
电商项目功能目录文档
项目概述
项目名称:xykj-plus(电商/HR/项目管理综合系统) 项目类型:全栈Web应用(Vue 3 + Spring Boot 3.x) 开发语言:前端TypeScript/Vue 3,后端Java 17 架构模式:前后端分离,Monorepo架构(Turborepo + pnpm)
技术栈
前端技术栈
- 框架: Vue 3 + Vben Admin 5.7.0
- UI组件: Ant Design Vue 4.2.6
- 构建工具: Vite + Turborepo
- 包管理器: pnpm 10.32.1
- 状态管理: Pinia
- 路由: Vue Router
- HTTP客户端: Axios
- 图表: ECharts
后端技术栈
- 框架: Spring Boot 3.5.12
- Java版本: Java 17
- 数据库: MySQL
- ORM: MyBatis-Plus 3.5.16
- 安全认证: Sa-Token 1.44.0
- 工具库: Hutool 5.8.43
- 分布式: Redisson 3.52.0
- 工作流: Flowable
- 任务调度: SnailJob 1.9.0
项目结构
目录结构
电商项目/
├── xykj-admin-plus/ # 后端项目(Spring Boot)
│ ├── ruoyi-admin/ # 主应用模块
│ ├── ruoyi-common/ # 通用模块
│ ├── ruoyi-modules/ # 业务模块
│ │ ├── ruoyi-system/ # 系统管理模块
│ │ ├── ruoyi-project/ # 项目管理模块(核心业务)
│ │ ├── ruoyi-mcp/ # MCP业务模块
│ │ ├── ruoyi-workflow/ # 工作流模块
│ │ ├── ruoyi-job/ # 定时任务模块
│ │ ├── ruoyi-generator/ # 代码生成模块
│ │ └── ruoyi-demo/ # 示例模块
│ ├── ruoyi-extend/ # 扩展模块
│ └── script/ # 脚本文件(SQL、Docker等)
│
└── xykj-web-plus/ # 前端项目(Vue 3)
├── apps/
│ └── web-antd/ # 主应用(Ant Design Vue)
│ ├── src/
│ │ ├── api/ # API接口定义
│ │ ├── views/ # 页面组件
│ │ ├── components/ # 公共组件
│ │ ├── router/ # 路由配置
│ │ ├── store/ # 状态管理
│ │ └── utils/ # 工具函数
│ └── public/ # 静态资源
├── packages/ # 共享包
├── internal/ # 内部工具
└── scripts/ # 构建脚本
功能模块
1. 系统管理模块 (system)
前端页面
- 用户管理 (system/user) - 用户信息管理、角色分配
- 角色管理 (system/role) - 角色权限配置
- 菜单管理 (system/menu) - 系统菜单树管理
- 部门管理 (system/dept) - 组织架构管理
- 岗位管理 (system/post) - 岗位信息管理
- 字典管理 (system/dict) - 数据字典维护
- 参数设置 (system/config) - 系统参数配置
- 通知公告 (system/notice) - 系统通知发布
- 文件管理 (system/oss) - 对象存储管理
- 租户管理 (system/tenant) - 多租户管理
后端功能
- 用户认证与授权
- 权限控制(RBAC)
- 数据字典管理
- 文件上传下载
- 多租户支持
2. 人事管理模块 (hr)
前端页面
- 候选人管理 (hr/candidate) - 招聘候选人信息管理
- 员工管理 (hr/employee) - 员工档案管理
- 工资管理 (hr/salary) - 员工工资管理
- 社保管理 (hr/socialSecurity) - 五险一金管理
后端功能
- 候选人信息CRUD
- 员工入职、离职、转正流程
- 工资计算与发放
- 社保公积金管理
3. 项目管理模块 (project)
前端页面
- 项目管理 (project/project) - 项目基本信息管理
- 项目人员 (project/attachment) - 项目人员分配
- 业绩案例 (project/performanceCase) - 业绩案例管理
- 招投标管理 (project/bidding) - 招投标信息管理
- 统计分析 (project/statistics) - 项目数据统计分析
后端功能
- 项目生命周期管理
- 项目人员分配与调度
- 业绩案例管理
- 招投标流程管理
- 项目数据统计与分析
4. 财务合同管理模块
前端页面
- 合同管理 (project/contract) - 合同信息管理
- 合同付款 (project/contract-payment) - 合同付款管理
- 发票管理 (project/invoice) - 发票信息管理
- 结算管理 (project/settlement) - 结算信息管理
- 报销管理 (project/reimbursement) - 报销流程管理
- 付款记录 (project/paymentRecord) - 付款记录管理
- 附件管理 (project/attachment) - 业务附件管理
后端功能
- 合同全生命周期管理
- 发票开具与管理
- 结算流程管理
- 报销审批流程
- 财务数据分析
5. 数据看板模块 (dashboard)
前端页面
- 工作台 (dashboard/workspace) - 个人工作台
- 数据分析 (dashboard/analytics) - 业务数据分析
- 候选人分析 (dashboard/candidate-analytics) - 招聘数据分析
后端功能
- 数据统计汇总
- 图表数据接口
- 实时数据更新
6. 监控管理模块 (monitor)
前端页面
- 在线用户 (monitor/online) - 在线用户监控
- 登录日志 (monitor/logininfor) - 登录日志查询
- 操作日志 (monitor/operlog) - 操作日志审计
- 定时任务 (monitor/snailjob) - 定时任务管理
- 缓存监控 (monitor/cache) - Redis缓存监控
- 服务监控 (monitor/admin) - Spring Boot Admin监控
后端功能
- 系统监控
- 日志管理
- 任务调度
- 缓存管理
7. 工作流模块 (workflow)
前端页面
- 流程分类 (workflow/category) - 流程分类管理
- 流程定义 (workflow/processDefinition) - 流程定义管理
- 流程实例 (workflow/processInstance) - 流程实例管理
- 请假流程 (workflow/leave) - 请假审批流程
- SpEL表达式 (workflow/spel) - 表达式测试工具
后端功能
- 工作流引擎集成
- 流程定义与部署
- 流程实例管理
- 审批流程配置
8. 开发工具模块 (tool)
前端页面
- 代码生成 (tool/gen) - 代码生成工具
后端功能
- 代码生成器
- 模板管理
- 代码预览与下载
9. 报销管理模块 (expense)
前端页面
- 费用报销 (expense/reimburse) - 费用报销申请
10. Ozon电商模块 (ozon)
前端页面
- 产品管理 (ozon/product) - Ozon平台产品管理
后端功能
- Ozon平台集成
- 产品信息同步
- 订单管理
11. MCP业务模块
后端功能
- MCP相关业务逻辑
- 数据处理与转换
- 第三方服务集成
数据库设计
核心业务表(14张)
人事管理模块:
biz_candidate- 候选人信息表biz_employee- 员工信息表biz_salary- 工资信息表biz_social_security- 五险一金信息表
项目管理模块:
biz_project- 项目信息表biz_project_personnel- 项目人员信息表biz_performance_case- 业绩案例信息表biz_bidding- 招投标信息表
财务合同管理模块:
biz_contract- 合同信息表biz_contract_payment- 合同付款管理表biz_invoice- 发票信息表biz_settlement- 结算信息表biz_reimbursement- 报销信息表biz_attachment- 业务附件表
系统表
- 系统用户、角色、权限、菜单等基础表
- 工作流相关表
- 定时任务相关表
开发规范
前端开发规范
- 目录结构:按功能模块组织
- 命名规范:使用kebab-case命名文件
- 组件开发:使用Composition API
- 状态管理:使用Pinia进行状态管理
- API调用:统一在api目录下定义接口
- 样式规范:使用Tailwind CSS + Ant Design Vue
后端开发规范
- 包结构:按功能模块分层(controller/service/mapper/domain)
- 命名规范:使用驼峰命名法
- 注解使用:使用Spring Boot注解
- 数据访问:使用MyBatis-Plus
- 异常处理:统一异常处理机制
- 日志规范:使用SLF4J日志框架
数据库规范
- 表命名:使用biz_前缀
- 字段命名:使用下划线命名法
- 主键:统一使用bigint类型自增ID
- 时间字段:统一使用datetime类型
- 软删除:使用del_flag字段标记删除状态
部署配置
开发环境
- 前端:
pnpm dev:antd(端口: 5173) - 后端:
java -jar ruoyi-admin.jar(端口: 8080)
生产环境
- 部署服务器: root@xy101:/home/www/xykj-prod/
- 部署脚本: publish_web.sh
- Java环境: Java 17 (/opt/homebrew/opt/openjdk@17)
- 数据库: MySQL
部署注意事项
- 后端项目必须使用Java 17
- 部署前需要设置环境变量:
export JAVA_HOME=/opt/homebrew/opt/openjdk@17 export PATH=$JAVA_HOME/bin:$PATH - Java 14+的switch表达式语法不兼容Java 17,需使用传统switch语句
常用命令
前端命令
# 安装依赖
pnpm install
# 开发模式
pnpm dev:antd
# 生产构建
pnpm build:antd
# 代码检查
pnpm lint
# 代码格式化
pnpm format
后端命令
# 编译项目
mvn clean package
# 运行项目
java -jar ruoyi-admin/target/ruoyi-admin.jar
# 跳过测试编译
mvn clean package -Dmaven.test.skip=true
扩展开发
新增功能模块步骤
-
数据库设计
- 在
script/sql/目录下创建SQL脚本 - 定义表结构、索引、约束
- 在
-
后端开发
- 在
ruoyi-modules/下创建新模块 - 创建domain(实体类)、mapper、service、controller
- 配置MyBatis映射文件
- 在
-
前端开发
- 在
src/views/下创建页面组件 - 在
src/api/下创建API接口 - 配置路由和菜单
- 在
-
权限配置
- 在
system/menu下配置菜单权限 - 分配角色权限
- 在
-
测试验证
- 功能测试
- 性能测试
- 安全测试
文档更新日志
- 2026-05-09: 初始版本,创建项目功能目录文档
注意: 本文档会随着项目发展持续更新,请在开发新功能前阅读最新版本。