# SpringCloud **Repository Path**: bfs1201/SpringCloud ## Basic Information - **Project Name**: SpringCloud - **Description**: 乐购商场:微服务架构的商城系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-06-05 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 乐购商城 (SpringCloud) 乐购商城是一个基于Spring Cloud的微服务电商平台,提供商品管理、购物车、订单、支付、用户等核心电商功能。 ## 项目架构 本项目采用微服务架构,包含以下服务: | 服务 | 端口 | 说明 | |------|------|------| | hm-gateway | 8080 | API网关 | | item-service | 8081 | 商品服务 | | user-service | 8082 | 用户服务 | | cart-service | 8083 | 购物车服务 | | order-service | 8084 | 订单服务 | | pay-service | 8085 | 支付服务 | ## 技术栈 - **微服务框架**: Spring Cloud - **服务注册/发现**: Spring Cloud Netflix Eureka - **网关**: Spring Cloud Gateway - **负载均衡**: OpenFeign + Ribbon - **数据库**: MySQL + MyBatis Plus - **消息队列**: RabbitMQ - **认证**: JWT ## 核心功能 ### 商品服务 (item-service) - 商品分页查询 - 批量/单个商品查询 - 商品新增、修改、删除 - 库存扣减 ### 用户服务 (user-service) - 用户登录(JWT认证) - 收货地址管理 - 余额扣减 ### 购物车服务 (cart-service) - 添加商品到购物车 - 查询购物车列表 - 删除/批量删除购物车商品 ### 订单服务 (order-service) - 创建订单 - 查询订单 - 订单支付状态监听 - 延迟订单取消 ### 支付服务 (pay-service) - 生成支付单 - 余额支付 - 支付状态查询 ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.8+ - MySQL 8.0+ - RabbitMQ 3.8+ ### 配置说明 各服务配置文件位于 `src/main/resources/`,包括: - `bootstrap.yaml` - 启动配置 - `application.yaml` - 通用配置 - `application-local.yaml` - 本地开发配置 - `application-dev.yaml` - 开发环境配置 ### 构建运行 ```bash # 构建整个项目 mvn clean package -DskipTests # 启动网关 java -jar hm-gateway/target/hm-gateway.jar # 启动各微服务(按依赖顺序) java -jar item-service/target/item-service.jar java -jar user-service/target/user-service.jar java -jar cart-service/target/cart-service.jar java -jar order-service/target/order-service.jar java -jar pay-service/target/pay-service.jar ``` ## API网关 所有请求通过网关统一路由: ``` http://localhost:8080/{service-path}/{endpoint} ``` 示例: - `GET /item-service/items/page?pageNum=1&pageSize=10` - `GET /user-service/users/login` - `POST /cart-service/carts` ## 模块说明 ### hm-api Feign客户端接口定义模块,供其他服务调用时使用 ### hm-common 公共工具模块,包含: - 统一响应结果(R) - 分页查询(PageDTO/PageQuery) - 异常定义 - 工具类(BeanUtils, CollUtils, WebUtils等) - 用户上下文(UserContext) - 全局异常处理(CommonExceptionAdvice) ### hm-gateway API网关,进行路由转发和JWT认证 ## 许可证 MIT License