1. 立项背景和目标
立项背景 :本项目是基于SpringBoot+Vue+Uni-app开发的开源商城系统,旨在为企业提供一个功能完善的电商平台解决方案。项目采用前后端分离架构,支持多终端(Web管理端、移动端、小程序)访问。
项目目标 :
构建一个企业级电商系统,支持商品管理、订单处理、用户管理等核心业务
实现新零售模式,支持线上线下融合
提供分销推广功能,帮助企业拓展销售渠道
建立完整的数据统计分析体系,为企业决策提供支持
2. 软件功能与核心功能模块
核心功能模块 :
商品管理模块 ( `商品相关实体类` ):
商品分类管理、商品信息维护、商品规格参数管理
商品图片管理、库存管理、价格策略
订单管理模块 ( `订单相关实体类` ):
订单创建、支付处理、发货管理、退款处理
订单状态跟踪、物流信息同步
用户管理模块 ( `用户相关实体类` ):
用户注册登录、会员等级管理、用户标签
用户积分、优惠券管理、PLUS会员功能
营销模块 ( `营销活动实体类` )
秒杀活动、砍价活动、拼团活动
优惠券发放、积分商城、分销推广
财务管理模块 ( `财务相关实体类` ):
资金流水、提现管理、发票管理
财务报表、对账功能
系统管理模块 :
权限管理、系统配置、日志管理
数据字典、定时任务、系统监控
3. 业务流程与功能路径
主要业务流程 :
用户购物路径 :
1.用户注册/登录 → 浏览商品 → 加入购物车 → 提交订单
2.选择支付方式 → 完成支付 → 商家发货 → 确认收货 → 评价商品
商家运营路径 :
1. 商品发布 → 库存管理 → 订单处理 → 发货管理 → 售后服务
2. 营销活动创建 → 优惠券发放 → 数据统计分析 → 经营决策
分销推广路径 :
1.用户申请成为分销商 → 分享商品链接 → 好友通过链接购买
2.获得分销佣金 → 佣金提现 → 推广效果统计
特色功能流程 :
维修工单系统 ( `维修工单接口文档` ):
用户报修 → 工程师接单 → 维修处理 → 用户评价
发票管理 ( `发票模块文档` ):
发票申请 → 开票处理 → 发票邮寄 → 发票查询
设备对比系统 :
设备信息录入 → 参数对比 → 对比报告生成 → 推荐结果
1. 整体架构和设计思路
架构模式 :采用经典的分层架构和微服务设计理念
前端层 :Vue.js + Element UI(管理端)+ Uni-app(移动端)
网关层 :Spring Boot 提供的RESTful API
业务层 :Service层实现核心业务逻辑
数据层 :MyBatis-Plus + MySQL + Redis
模块划分 (基于 `pom.xml` 分析):
crmeb-common :通用工具层,提供基础组件和工具类
crmeb-service :业务服务层,实现核心业务逻辑
crmeb-admin :管理端API,提供后台管理接口
crmeb-front :用户端API,提供前端用户接口
技术栈 :
后端 :Spring Boot 2.2.6、MyBatis-Plus 3.3.1、Druid 1.1.20、Redis、Swagger
前端 :Vue 2.x、Element UI 2.13、Uni-app
数据库 :MySQL 5.7
部署 :支持多环境配置(dev/prod)
2. 项目成果
核心功能实现 :
电商基础功能 :商品管理、订单处理、用户管理、支付系统
营销系统 :秒杀、砍价、拼团、优惠券、积分商城( `营销活动模块` )
分销系统 :支持多级分销、佣金结算
会员系统 :PLUS会员、等级管理、积分体系
发票管理 :电子发票开具、专票审核( `发票模块文档` )
维修工单 :工程师派单、维修跟踪( `维修工单文档` )
设备对比 :产品参数对比、智能推荐( `设备对比文档` )
架构特色 :
前后端分离,支持多端访问(Web、小程序、H5)
模块化设计,便于功能扩展和维护
完善的权限管理体系(RBAC模型)
分布式缓存支持,提升系统性能
多环境配置,支持开发/生产环境切换
3. 技术难点及解决方案
难点1:多模块依赖管理
问题 :四个模块间存在复杂的依赖关系,容易出现循环依赖
解决方案 :采用分层架构,common模块作为基础,service依赖common,admin/front依赖service,严格禁止反向依赖
难点2:数据库性能优化
问题 :电商系统数据量大,查询性能要求高
解决方案 :
使用MyBatis-Plus分页插件( `PageHelper` )
Redis缓存热点数据,减少数据库压力
Druid连接池优化数据库连接管理
整个项目的后端以及后台的前端是由我个人负责的,小程序的前端由另一位成员负责