# ray-mall **Repository Path**: CodexploRe/ray-mall ## Basic Information - **Project Name**: ray-mall - **Description**: ray-mall是基于springboot开发的电商平台后端,包含用户端和管理端两大模块 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-19 - **Last Updated**: 2025-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目简介 本项目为电商平台后端,包含用户端和管理端两大模块: - **用户端功能**:登录注册、商品搜索、购物车管理、订单创建、支付流程、地址管理、物流查询等 - **管理端功能**:商品管理、订单管理、用户管理、支付订单监控、物流信息管理等 **技术亮点**: 1. 基于AOP实现用户维度的缓存自动化管理 2. 全局统一异常处理与响应封装 3. Elasticsearch实现商品搜索与自动补全 4. Logstash日志实时收集实现集中式管理 5. Redis缓存优化高频查询性能 6. MyBatis Plus增强数据持久层操作 ## 项目地址 - 单体架构后端项目:https://gitee.com/CodexploRe/ray-mall - 微服务架构后端项目:https://gitee.com/CodexploRe/mall-cloud - 前端项目:https://gitee.com/CodexploRe/mall-front ## 开发环境 | 组件 | 版本要求 | |---------------|--------| | JDK | 8+ | | MySQL | 8.0+ | | Redis | 6.2+ | | Elasticsearch | 7.12.x | | Logstash | 7.12.x | | Maven | 3.6+ | ## 技术选型 | 技术栈 | 版本 | 说明 | |-------------------|---------|----------------| | Spring Boot | 2.6.1 | 项目基础框架(依赖管理核心) | | Spring Validation | 2.6.1 | 声明式参数校验框架 | | Spring AOP | 2.6.1 | 切面编程 | | Spring Data Redis | 2.6.1 | 缓存管理 | | Lombok | 1.18.30 | 代码简化(自动生成样板代码) | | MyBatis Plus | 3.5.3.1 | ORM增强(单表操作优化) | | Elasticsearch | 7.12.1 | 分布式搜索与分析引擎 | | Logstash | 7.1.1 | 日志数据收集引擎 | | Hutool | 5.8.11 | 通用工具库(简化工具类开发) | | Fastjson | 1.2.83 | 高性能JSON处理器 | | Knife4j | 4.1.0 | OpenAPI 文档集成 | | Jackson | 2.12.5 | JSON序列化框架 | ## 项目结构 ```text src/main/java └─com └─group └─sliding │ DBProjApplication.java # 启动类 ├─advice │ GlobalExceptionAdvice.java # 全局异常处理 ├─annotation # 自定义注解 │ CacheAddByUserId.java │ CacheRemoveByUserId.java ├─aspect # 缓存处理切面 │ RedisAspect.java ├─config # 配置类 │ ESConfig.java │ MvcConfig.java │ MyBatisConfig.java │ RedisConfig.java ├─constant # 常量类 │ Constants.java ├─context # ThreadLocal上下文 │ AdminContext.java │ UserContext.java ├─controller ├─domain │ ├─dto │ ├─po # 实体类 │ ├─query # 分页请求参数类 │ └─vo ├─enums # 枚举 ├─exception # 自定义异常 ├─interceptor # 鉴权拦截器 │ AdminInterceptor.java │ LoginInterceptor.java ├─mapper ├─properties # 配置属性类 ├─result # 后端统一返回结果 │ PageDTO.java │ PageQuery.java │ Result.java ├─service │ └─impl └─utils # 工具类 BeanUtils.java CollUtils.java Convert.java ESUtils.java JwtTool.java RedisUtils.java ``` ## 快速启动 1. **环境准备**:安装MySQL、Redis、Elasticsearch、Logstash 2. **数据库建立**:根据 [script](https://gitee.com/CodexploRe/ray-mall/tree/master/script) 目录下的文件构建 mysql 和 elasticsearch 数据库(es需要有ik分词器和pinyin插件) 3. **配置修改**: - application-dev.yaml 配置三个数据库的地址,示例: ```yaml sliding: mysql: host: 192.168.202.135 port: 3306 password: 123 redis: host: localhost port: 6379 password: 123456 database: 8 elasticsearch: host: 192.168.202.135 port: 9200 index-name: sliding_item ``` - logback.xml 修改Logstash地址,示例: ```xml 192.168.202.135:5044 UTC {"serverName": "rayc-mall-server"} ``` 4. **启动应用**: ```bash mvn spring-boot:run ``` 5. 访问Swagger文档:`http://localhost:8080/doc.html`,或者结合 [前端页面](https://gitee.com/CodexploRe/mall-front) 进行调试。