# qxwp **Repository Path**: null_514/qxwp ## Basic Information - **Project Name**: qxwp - **Description**: 千县万品商城 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2025-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 千县万品商城 (基于LiliShop) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.4.10-brightgreen.svg)](https://spring.io/projects/spring-boot) [![Java](https://img.shields.io/badge/Java-1.8-orange.svg)](https://www.oracle.com/java/) [![Version](https://img.shields.io/badge/Version-4.3-red.svg)](https://gitee.com/beijing_hongye_huicheng/lilishop) ## 📖 项目简介 千县万品商城 是一个基于 Spring Boot + Vue 的前后端分离电商平台,支持多商户入驻的 B2B2C 商城系统。项目采用微服务架构设计,具备完整的商品管理、订单管理、会员管理、营销管理等功能模块。 **聚焦本地生活到店服务**:平台专注于本地生活服务场景,整合按摩、SPA、私人影院、酒吧、KTV等到店消费业态,为县域消费者提供便捷的休闲娱乐服务预订和消费体验。 ### 核心特性 #### 本地生活到店服务 - 💆 **按摩/SPA服务**:支持按摩店、SPA会所等商户入驻,提供线上预约、套餐购买 - 🎬 **私人影院**:私影包厢预订、影片选择、在线支付一站式服务 - 🍺 **酒吧/KTV**:卡座预订、酒水套餐、会员储值等功能 - 📍 **LBS定位服务**:基于地理位置的附近商户推荐和距离展示 - 🎟️ **预约核销**:支持服务预约、到店核销、评价反馈完整闭环 #### 电商核心功能 - 🛒 **多商户入驻**:支持商家、供应商等多角色入驻管理 - 💰 **营销功能**:优惠券、满减、秒杀、拼团等丰富营销工具 - 📦 **订单管理**:完整的订单流程,支持售后、退款、投诉等 - 💬 **即时通讯**:内置 IM 聊天功能,买卖双方实时沟通 - 🔍 **全文检索**:基于 Elasticsearch 的商品搜索 - 📊 **数据统计**:完善的数据统计和分析功能 - 🔐 **权限管理**:基于 RBAC 的细粒度权限控制 - 🎯 **定时任务**:集成 XXL-Job 分布式任务调度 ## 🛠 技术栈 ### 后端技术 | 技术 | 版本 | 说明 | |-----|------|------| | Spring Boot | 2.4.10 | 基础开发框架 | | MyBatis Plus | 3.5.5 | ORM 框架 | | MySQL | 8.0 | 关系型数据库 | | Redis | 6.2 | 分布式缓存 | | Elasticsearch | 7.17.3 | 搜索引擎 | | RocketMQ | 4.9.4 | 消息队列 | | XXL-Job | 2.3.0 | 分布式任务调度 | | Redisson | 3.15.6 | 分布式锁 | | JWT | 0.11.2 | Token 认证 | | Hutool | 5.8.24 | Java 工具类库 | | Druid | 1.2.16 | 数据库连接池 | | Knife4j | 2.0.9 | API 文档工具 | ### 前端技术 - Vue.js - Element UI - Axios ## 📁 项目结构 ``` lilishop/ ├── admin/ # 管理后台应用 ├── buyer-api/ # 买家端 API ├── seller-api/ # 卖家端 API ├── manager-api/ # 平台管理端 API ├── supplier-api/ # 供应商端 API ├── common-api/ # 公共 API ├── im-api/ # 即时通讯 API ├── consumer/ # 消息消费者服务 ├── framework/ # 核心框架模块 ├── buyer/ # 买家端前端 ├── seller/ # 卖家端前端 ├── manager/ # 管理端前端 ├── supplier/ # 供应商端前端 ├── DB/ # 数据库脚本 ├── docs/ # 项目文档 ├── config/ # 配置文件 ├── xxl-job/ # XXL-Job 任务调度 ├── docker-compose.yml # Docker 编排文件 └── pom.xml # Maven 父工程配置 ``` ## 🚀 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 8.0+ - Redis 6.2+ - Node.js 14+ (前端开发) ### 使用 Docker Compose 快速部署(推荐) 1. **启动基础服务** ```bash # Windows start-dev-env.bat # Linux/Mac ./start-dev-env.sh ``` 或者使用 Docker Compose: ```bash docker-compose up -d ``` 这将自动启动以下服务: - MySQL (端口: 3306) - Redis (端口: 6379) - Elasticsearch (端口: 9200) - RocketMQ NameServer (端口: 9876) - RocketMQ Broker (端口: 10909, 10911) - XXL-Job Admin (端口: 9001) 2. **初始化数据库** 将 `DB/` 目录下的 SQL 文件导入 MySQL 数据库: ```bash # 数据库初始化脚本位置 # 请从以下链接获取最新的初始化 SQL: # https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql ``` > **注意**:如果使用 master 分支代码,需要执行 `DB/` 目录下的版本升级 SQL 文件。 3. **配置应用** 修改各个 API 模块下的 `application.yml` 配置文件,更新数据库、Redis、Elasticsearch 等连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/lilishop?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: lilishop redis: host: localhost port: 6379 password: lilishop ``` 4. **编译项目** ```bash # 编译整个项目 mvn clean package -DskipTests # 或者使用 Maven Wrapper ./mvnw clean package -DskipTests ``` 5. **启动后端服务** ```bash # Windows 环境 run-common.bat # 启动公共服务 run-consumer.bat # 启动消息消费者 run-buyer.bat # 启动买家端 API run-seller.bat # 启动卖家端 API run-manager.bat # 启动管理端 API ``` 或者使用 Java 命令启动: ```bash java -jar buyer-api/target/buyer-api-4.3.jar java -jar seller-api/target/seller-api-4.3.jar java -jar manager-api/target/manager-api-4.3.jar java -jar common-api/target/common-api-4.3.jar java -jar consumer/target/consumer-4.3.jar java -jar im-api/target/im-api-4.3.jar java -jar supplier-api/target/supplier-api-4.3.jar ``` 6. **启动前端服务** ```bash # 进入前端项目目录 cd buyer # 或 seller / manager / supplier # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ### 手动安装部署 如果不使用 Docker,请按以下步骤手动安装各个组件: 1. **安装 MySQL 8.0** - 创建数据库 `lilishop` - 导入 SQL 脚本 2. **安装 Redis 6.2** - 配置密码:`lilishop` 3. **安装 Elasticsearch 7.17.3** - 配置为单节点模式 4. **安装 RocketMQ 4.9.4** - 启动 NameServer 和 Broker 5. **部署 XXL-Job Admin** - 导入 `xxl-job/db/` 目录下的 SQL - 启动 XXL-Job Admin ## 📚 模块说明 ### 后端模块 | 模块 | 说明 | 端口 | |------|------|------| | **framework** | 核心框架,包含基础组件、工具类、安全认证等 | - | | **common-api** | 公共 API,提供通用接口服务 | 8890 | | **buyer-api** | 买家端 API,面向 C 端用户 | 8888 | | **seller-api** | 卖家端 API,面向商家 | 8889 | | **manager-api** | 平台管理端 API,面向平台运营人员 | 8887 | | **supplier-api** | 供应商端 API,面向供应商 | 8893 | | **im-api** | 即时通讯 API,提供聊天功能 | 8885 | | **consumer** | 消息消费者,处理异步消息 | - | | **admin** | 后台管理应用 | 9999 | ### 前端模块 | 模块 | 说明 | |------|------| | **buyer** | 买家端前端(移动端 + PC 端) | | **seller** | 卖家端前端 | | **manager** | 平台管理端前端 | | **supplier** | 供应商端前端 | ## 🔧 开发指南 ### API 文档 项目集成了 Knife4j API 文档,启动服务后访问: - 买家端 API 文档:http://localhost:8888/doc.html - 卖家端 API 文档:http://localhost:8889/doc.html - 管理端 API 文档:http://localhost:8887/doc.html - 公共 API 文档:http://localhost:8890/doc.html ### 配置说明 主要配置文件位于各模块的 `src/main/resources/application.yml`: - **数据库配置**:修改 MySQL 连接信息 - **Redis 配置**:修改 Redis 连接信息 - **Elasticsearch 配置**:修改 ES 连接地址 - **RocketMQ 配置**:修改 NameServer 地址 - **OSS 配置**:配置文件存储(支持阿里云、腾讯云、MinIO 等) - **支付配置**:配置支付宝、微信支付等参数 ### 数据库版本升级 项目提供了完整的数据库版本升级脚本,位于 `DB/` 目录: - `version4.0to4.1.sql` - 从 4.0 升级到 4.1 - `version4.1to4.2.sql` - 从 4.1 升级到 4.2 - `version4.2to4.2.2.sql` - 从 4.2 升级到 4.2.2 - `version4.2.2to4.2.3.sql` - 从 4.2.2 升级到 4.2.3 - `version4.2.3to4.2.4.sql` - 从 4.2.3 升级到 4.2.4 - `version4.2.4to4.2.5.sql` - 从 4.2.4 升级到 4.2.5 - `version4.2.5to4.3.sql` - 从 4.2.5 升级到 4.3 - `version4.3to4.4.sql` - 从 4.3 升级到 4.4 ### 构建 Docker 镜像 ```bash # 构建所有模块的 Docker 镜像 ./docker-image.sh # 或使用 Maven 插件构建 mvn clean package docker:build -DskipTests ``` ## 📝 更多文档 - [S2B2C 开发指南](docs/S2B2C开发指南.md) - [性能优化计划](performance-optimization-plan.md) - [测试计划](test-plan.md) - [XXL-Job 使用说明](xxl-job/XXLJOB-README.md) ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 📄 许可证 本项目采用 Apache License 2.0 开源协议,详见 [LICENSE](LICENSE) 文件。 ## 💬 联系方式 - Gitee:https://gitee.com/beijing_hongye_huicheng/lilishop - 官方文档:请访问项目 Wiki ## 🙏 致谢 感谢所有为本项目做出贡献的开发者! --- **注意事项**: 1. 首次部署请务必修改默认密码和密钥 2. 生产环境建议使用 HTTPS 协议 3. 定期备份数据库数据 4. 建议使用 Nginx 进行反向代理 5. 关注项目更新,及时升级版本