# hmall **Repository Path**: gao--yan/hmall ## Basic Information - **Project Name**: hmall - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1022 - **Created**: 2025-06-24 - **Last Updated**: 2025-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HMall 电商平台服务端 HMall 是一个基于微服务架构的电商平台后端系统,提供商品管理、购物车、订单处理、支付等核心电商功能。 ## 技术栈 - Spring Boot 2.x - MyBatis Plus - JWT 鉴权 - Swagger API 文档 - Maven 项目管理 - MySQL 数据库存储 ## 主要模块 ### 核心功能 - **商品管理**:支持商品的增删改查、库存管理、商品搜索等功能 - **购物车系统**:实现商品添加、更新、删除及批量操作 - **订单处理**:包含下单、支付、状态更新等完整订单生命周期管理 - **支付系统**:集成余额支付等多种支付方式 - **用户系统**:实现用户登录、权限控制、用户信息管理 ### 公共组件 - **异常处理**:统一的异常处理机制,返回标准化错误响应 - **分页系统**:提供灵活的分页查询功能 - **工具类**:包含 Bean 拷贝、集合操作、日期处理等常用工具 ## 项目结构 ``` hm-service ├── controller # 控制器层,处理HTTP请求 ├── domain # 领域模型,包含DTO、VO、PO等 ├── enums # 枚举类型定义 ├── mapper # MyBatis Mapper接口 ├── service # 服务接口及实现 ├── config # 配置类,包括安全配置、MVC配置等 ├── interceptor # 拦截器实现 ├── utils # 工具类 └── HMallApplication.java # 应用启动类 ``` ## 快速开始 1. **环境准备** - JDK 11+ - MySQL 5.7+ - Maven 3.5+ 2. **数据库准备** - 创建数据库 `hm_service` - 执行项目中的 SQL 脚本初始化表结构 3. **配置修改** - 修改 `application.yaml` 中的数据库连接信息 - 根据需要调整其他配置项 4. **启动项目** ```bash mvn spring-boot:run ``` 5. **访问接口文档** 启动成功后,访问 `http://localhost:8080/swagger-ui.html` 查看和测试API接口 ## 使用示例 ### 获取商品列表 ```http GET /items/page?pageNum=1&pageSize=10 ``` ### 添加商品到购物车 ```http POST /carts Content-Type: application/json { "itemId": 1001, "name": "iPhone 13", "spec": "256GB 蓝色", "price": 79900, "image": "https://example.com/iphone13.jpg" } ``` ### 创建订单 ```http POST /orders Content-Type: application/json { "addressId": 123, "paymentType": 3, "details": [ { "itemId": 1001, "num": 1 } ] } ``` ## 安全与鉴权 系统使用 JWT 进行身份验证,用户登录后会返回 Token,后续请求需要在 Header 中携带: ```http Authorization: Bearer ``` ## 贡献指南 欢迎贡献代码,请遵循以下步骤: 1. Fork 仓库 2. 创建新分支 3. 提交代码 4. 创建 Pull Request 请确保代码风格与项目保持一致,并添加适当的单元测试。 ## 许可证 本项目采用 MIT 许可证。