You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gdlgxy2312411020414 e01d45a0d8
Merge pull request '新增system管理模块' (#1) from develop into main
11 hours ago
src feature/system管理模块 17 hours ago
.gitattributes 电商后台项目后端代码 2 days ago
.gitignore 电商后台项目后端代码 2 days ago
README.md README更新 1 day ago
mvnw 电商后台项目后端代码 2 days ago
mvnw.cmd 电商后台项目后端代码 2 days ago
pom.xml 电商后台项目后端代码 2 days ago

README.md

E-Commerce 电商项目

项目简介

E-Commerce 是一个基于 Spring Boot 3.x 开发的综合性电商后台管理系统集成了电商核心功能模块和后台权限管理功能。本项目采用前后端分离架构提供了完整的商品管理、订单管理、用户管理、营销管理等电商核心功能同时支持基于角色的权限控制RBAC系统。

技术栈

后端技术栈

技术 版本 说明
Spring Boot 3.2.0 核心框架
Spring Security 3.2.0 安全认证与授权
MyBatis-Plus 3.5.7 ORM框架
MySQL 8.0.33 关系型数据库
Redis 最新版 缓存与会话管理
JWT 0.12.5 无状态认证
Lombok 最新版 代码简化工具
阿里云OSS 3.18.4 文件存储服务
阿里云通义千问 2.17.0 AI大模型服务
Hutool 5.8.23 Java工具类库
SpringDoc 2.2.0 API文档生成
PageHelper 5.3.2 分页插件

开发环境

  • JDK: 17+
  • Maven: 3.6+
  • MySQL: 8.0+
  • Redis: 6.0+

项目结构

e_commerce/
├── src/main/java/com/cgs/e_commerce/
│   ├── common/                    # 公共模块
│   │   ├── utils/                 # 工具类
│   │   │   ├── AliOssUtil.java    # 阿里云OSS工具
│   │   │   ├── BCryptUtils.java   # 密码加密工具
│   │   │   ├── BeanConvertUtils.java  # Bean转换工具
│   │   │   ├── JwtUtil.java       # JWT工具类
│   │   │   ├── Result.java        # 统一响应结果
│   │   │   └── ThreadLocalUtil.java   # ThreadLocal工具
│   │   └── vo/                    # 值对象
│   │       ├── SysUserVo.java     # 系统用户VO
│   │       └── UserVo.java        # 用户VO
│   ├── module/                    # 业务模块
│   │   ├── ai/                    # AI模块
│   │   │   ├── controller/        # AI控制器
│   │   │   ├── dto/               # AI数据传输对象
│   │   │   └── service/           # AI服务
│   │   ├── comment/               # 评论模块
│   │   │   ├── controller/        # 评论控制器
│   │   │   ├── entity/            # 评论实体
│   │   │   ├── mapper/            # 评论Mapper
│   │   │   └── service/           # 评论服务
│   │   ├── marketing/             # 营销模块
│   │   │   ├── controller/        # 营销控制器
│   │   │   ├── entity/            # 营销实体
│   │   │   ├── mapper/            # 营销Mapper
│   │   │   └── service/           # 营销服务
│   │   ├── order/                 # 订单模块
│   │   │   ├── controller/        # 订单控制器
│   │   │   ├── dto/               # 订单DTO
│   │   │   ├── entity/            # 订单实体
│   │   │   ├── mapper/            # 订单Mapper
│   │   │   └── service/           # 订单服务
│   │   ├── product/               # 商品模块
│   │   │   ├── controller/        # 商品控制器
│   │   │   ├── entity/            # 商品实体
│   │   │   ├── mapper/            # 商品Mapper
│   │   │   └── service/           # 商品服务
│   │   ├── system/                # 系统模块(权限管理)
│   │   │   ├── controller/        # 系统控制器
│   │   │   ├── dto/               # 系统DTO
│   │   │   ├── entity/            # 系统实体
│   │   │   ├── mapper/            # 系统Mapper
│   │   │   └── service/           # 系统服务
│   │   └── user/                  # 用户模块
│   │       ├── controller/        # 用户控制器
│   │       ├── dto/               # 用户DTO
│   │       ├── entity/            # 用户实体
│   │       ├── mapper/            # 用户Mapper
│   │       └── service/           # 用户服务
│   ├── security/                  # 安全配置
│   │   ├── config/                # 安全配置类
│   │   └── filter/                # JWT过滤器
│   └── ECommerceApplication.java  # 启动类
├── src/main/resources/
│   ├── com/cgs/e_commerce/        # Mapper XML文件
│   │   └── module/
│   │       ├── product/mapper/
│   │       └── system/mapper/
│   └── application.yaml           # 应用配置文件
└── pom.xml                        # Maven配置文件

功能模块

已完成功能

1. 系统管理模块system

  • 用户管理:系统用户的增删改查、登录、注册、密码修改
  • 角色管理:角色的增删改查、用户角色关联管理
  • 菜单管理:菜单的增删改查、用户菜单关联管理
  • 权限控制基于Spring Security + JWT的权限认证

2. 用户模块user

  • 普通用户管理:用户注册、登录、信息修改
  • 地址管理:用户收货地址的增删改查、默认地址设置

3. 商品模块product

  • 商品管理:商品的增删改查、状态管理
  • 商品分类:商品分类的增删改查
  • 商品详情:商品详情信息的增删改查

4. 订单模块order

  • 订单管理:订单的创建、查询、状态更新、删除
  • 购物车管理:购物车商品的增删改查、数量修改、清空购物车

5. 评论模块comment

  • 评论管理:商品评论的增删改查
  • 评论回复:评论回复的增删改查

6. 营销模块marketing

  • 轮播图管理:首页轮播图的增删改查、启用/禁用管理

7. AI模块ai

  • 商品描述生成:基于阿里云通义千问自动生成商品描述
  • AI聊天基础AI对话功能

待开发/优化功能

1. AI模块待完善

  • 智能客服基于AI的智能客服系统自动回复用户问题
  • 商品推荐:基于用户行为的智能商品推荐
  • 智能搜索:支持自然语言的智能搜索
  • 图像识别:商品图像智能识别和分类
  • 内容生成:营销文案、商品标题自动生成
  • 用户行为分析:用户画像构建、购买预测

2. 支付模块(待开发)

  • 支付接口:集成支付宝、微信支付
  • 支付订单管理:支付订单的创建、查询、回调处理
  • 退款管理:退款申请、退款处理
  • 支付记录:用户支付记录查询

3. 物流模块(待开发)

  • 物流跟踪:订单物流信息跟踪
  • 配送管理:配送地址管理、配送时间预测
  • 物流优化:物流路径优化

4. 数据统计模块(待开发)

  • 销售统计:销售额、订单量统计
  • 用户统计:用户增长、活跃度统计
  • 商品统计:商品销量、库存统计

核心特性

1. 安全认证

  • 基于 Spring Security 的安全框架
  • JWT 无状态认证机制
  • BCrypt 密码加密
  • Redis 存储 Token支持 Token 失效

2. 权限控制

  • 基于 RBAC 的权限模型
  • 支持用户-角色-菜单三级权限控制
  • 接口级别的权限注解控制

3. 数据验证

  • 基于 Spring Validation 的参数校验
  • DTO 模式进行数据传输和验证
  • 统一的异常处理机制

4. 日志记录

  • 基于 SLF4J + Logback 的日志框架
  • 关键操作日志记录
  • 异常日志记录

5. API文档

  • 基于 SpringDoc 自动生成 API 文档
  • 支持 Swagger UI 在线调试

快速开始

环境准备

  1. 安装 JDK 17+
java -version
  1. 安装 Maven 3.6+
mvn -version
  1. 安装 MySQL 8.0+ 创建数据库:
CREATE DATABASE e_commerce CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 安装 Redis 6.0+ 启动 Redis 服务:
redis-server

项目配置

  1. 修改数据库配置 编辑 src/main/resources/application.yaml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/e_commerce?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: your_username
    password: your_password
  1. 修改 Redis 配置
spring:
  data:
    redis:
      host: localhost
      port: 6379
  1. 配置阿里云 AI可选
aliyun:
  ai:
    api-key: your_api_key

数据库初始化

执行数据库脚本(位于 doc/sql/ 目录下):

mysql -u root -p e_commerce < doc/sql/init.sql

运行项目

  1. 使用 Maven 运行
mvn spring-boot:run
  1. 或者打包后运行
mvn clean package
java -jar target/e_commerce-0.0.1-SNAPSHOT.jar
  1. 访问项目

接口文档

项目集成了 SpringDoc OpenAPI启动后可以访问

部署说明

生产环境部署

  1. 修改配置文件
  • application.yaml 中的开发配置改为生产配置
  • 配置生产环境的数据库、Redis
  • 配置日志级别为 WARN 或 ERROR
  1. 打包应用
mvn clean package -DskipTests
  1. 部署到服务器
# 上传 jar 包到服务器
scp target/e_commerce-0.0.1-SNAPSHOT.jar user@server:/path/to/deploy

# 在服务器上运行
nohup java -jar e_commerce-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
  1. 使用 Docker 部署(可选)
FROM openjdk:17-jdk-slim
COPY target/e_commerce-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]
docker build -t e-commerce .
docker run -d -p 8080:8080 --name e-commerce e-commerce

未来优化方向

1. 技术优化

  • 性能优化:引入缓存策略、数据库索引优化、接口响应优化
  • 微服务架构:将单体应用拆分为微服务
  • 消息队列:引入 RabbitMQ 或 Kafka 处理异步任务
  • 搜索引擎:引入 Elasticsearch 实现全文搜索
  • 分布式事务:使用 Seata 实现分布式事务

2. 功能扩展

  • AI 能力增强:完善 AI 模块,实现智能客服、商品推荐等功能
  • 支付系统:集成多种支付方式,实现完整的支付流程
  • 物流系统:对接物流 API实现物流跟踪
  • 营销系统:优惠券、秒杀、拼团等营销功能
  • 数据分析:数据大屏、报表分析、用户画像

3. 运维优化

  • 监控告警:集成 Prometheus + Grafana 实现监控
  • 日志收集:使用 ELK 实现日志收集和分析
  • CI/CD:建立持续集成和持续部署流程
  • 容器化:全面使用 Docker 和 Kubernetes

贡献指南

欢迎提交 Issue 和 Pull Request 来改进项目。

许可证

本项目采用 MIT 许可证。

联系方式

如有问题或建议,欢迎联系项目维护者。


注意本项目为学习演示项目部分功能如支付、AI等为模拟实现或待开发状态请勿直接用于生产环境。