# hmall **Repository Path**: liull_code/hmall ## Basic Information - **Project Name**: hmall - **Description**: 黑马程序员微服务课程练习小项目,黑马商城 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 156 - **Created**: 2026-03-25 - **Last Updated**: 2026-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 惠商城 (HMall) 微服务项目 一个基于 Spring Cloud Alibaba 的微服务电商平台项目。 ## 项目简介 惠商城是一个完整的微服务电商系统,采用微服务架构设计,包含商品管理、购物车、用户管理、订单处理、支付等核心电商功能。系统基于 Spring Cloud Alibaba 构建,使用 Nacos 作为注册中心和配置中心,Feign 进行服务间调用。 ## 系统架构 项目采用微服务架构,包含以下服务模块: | 服务模块 | 说明 | |---------|------| | hm-gateway | API 网关,负责请求路由和认证 | | hm-common | 公共模块,提供通用工具类和配置 | | hm-api | API 接口模块,定义 Feign 客户端 | | hm-service | 主业务服务(商品、购物车等) | | item-service | 商品服务 | | cart-service | 购物车服务 | | user-service | 用户服务 | | pay-service | 支付服务 | | trade-service | 交易/订单服务 | ## 技术栈 - **微服务框架**: Spring Cloud Alibaba - **服务注册/配置中心**: Nacos - **负载均衡**: Spring Cloud LoadBalancer - **远程调用**: OpenFeign - **数据库**: MySQL + MyBatis Plus - **消息队列**: RabbitMQ - **搜索引擎**: Elasticsearch - **认证**: JWT ## 功能特性 ### 商品模块 (item-service) - 商品分页查询 - 批量商品查询 - 商品新增、修改、删除 - 商品状态管理 - 库存扣减 - 商品搜索 ### 购物车模块 (cart-service) - 添加商品到购物车 - 查询购物车列表 - 更新购物车商品 - 批量删除购物车商品 - 购物车数量限制 ### 用户模块 (user-service) - 用户登录注册 - JWT 令牌认证 - 收货地址管理 - 余额管理 ### 订单模块 (trade-service) - 创建订单 - 查询订单 - 订单支付状态同步 - 订单超时取消(基于延迟消息) ### 支付模块 (pay-service) - 生成支付单 - 余额支付 - 支付状态查询 - 支付成功异步通知 ## 快速开始 ### 环境要求 - JDK 11+ - Maven 3.6+ - MySQL 5.7+ - Nacos - RabbitMQ - Elasticsearch 7.x ### 构建项目 ```bash # 克隆项目后,进入项目目录 mvn clean package -DskipTests ``` ### 服务启动顺序 1. 启动 Nacos 注册中心 2. 启动 hm-gateway 网关 3. 启动各个业务服务(item-service、cart-service、user-service、pay-service、trade-service) ### 配置说明 各服务配置文件位于 `src/main/resources/` 目录下: - `application.yaml` - 主配置文件 - `application-dev.yaml` - 开发环境配置 - `application-local.yaml` - 本地环境配置 - `bootstrap.yaml` - 引导配置 主要配置项包括: - Nacos 地址配置 - 数据库连接配置 - JWT 密钥配置 - 服务端口配置 ## API 文档 启动服务后,可通过 Swagger 访问 API 文档: - 网关地址: `http://localhost:8080` - 各服务端口见配置文件 ## 项目结构 ``` hmall/ ├── hm-common/ # 公共模块 ├── hm-api/ # API 接口定义 ├── hm-gateway/ # 网关服务 ├── hm-service/ # 主业务服务 ├── item-service/ # 商品服务 ├── cart-service/ # 购物车服务 ├── user-service/ # 用户服务 ├── pay-service/ # 支付服务 └── trade-service/ # 交易/订单服务 ``` ## License MIT License