# ai_lu **Repository Path**: zhangxiaopengjy/ai_lu ## Basic Information - **Project Name**: ai_lu - **Description**: 基于springboot+mybatis+mysql的web项目,缓存中间件选用redis,采用的是哨兵的模式(一主二从三哨兵),实现了高可用,消息中间件kafka(集群),同时引入swagger框架方便接口的测试,涉及模块有用户模块、商品信息模块、订单模块、订单评价模块等,项目中有对分布式锁的应用场景以及大流量的秒杀场景,欢迎大家提出建议和修改,我将持续迭代进行开发,感谢给个star! - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 64 - **Forks**: 3 - **Created**: 2022-05-23 - **Last Updated**: 2025-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 前言 ai_lu致力于打造一个完整的订单管理系统,采用现阶段流行技术实现。 #### 项目介绍 ai_lu项目是一套订单管理系统,致力于基于SpringBoot+SpringCloudAlibaba+MyBatis+ Mysql+Redis+Kafka+ Swagger为基础形成一套分布式项目,其中消息系统是ai_lu_msgx,技术选型和架构搭建均有本人一人完成,因能力有限,项目在技术层面存在不合理的地方欢迎大家指正,改进!项目目前主要包括商品模块、订单模块、订单评价、用户模块等,后续在功能上会新增一些新的模块,在技术会接入适合业务的技术栈如SpringSecurity安全框架等。 #### 组织结构 ``` ai_lu ├── ai_lu-common-通用代码 ├── ai_lu-constant-常量 ├── ai_lu-controller-表现层 ├── ai_lu-exception-异常类 ├── ai_lu-entity-实体类 ├── ai_lu-lock-分布式锁 ├── ai_lu-mapper-mapper层 ├── ai_lu-redis-redis配置 ├── ai_lu-redisson-redisson配置 ├── ai_lu-service-业务层 ├── ai_lu-swagger-swagger配置 ├── ai_lu-util-工具类 └── ai_lu-threadpool-线程池 ``` #### 技术选型 **后端技术** | **技术** | **说明** | **官网** | |---|---|---| |1. SpringBoot |容器+MVC框架 |https://spring.io/projects/spring-boot | |2. MyBatis |ORM框架 |http://www.mybatis.org/mybatis-3/zh/index.html | |3. MyBatisGenerator |数据层代码生成 |http://www.mybatis.org/generator/index.ht | |4. Mysql |数据库 |https://www.mysql.com | |5. Kafka |消息队列 |https://kafka.apache.org/ | |6. Redis |缓存 |https://redis.io/ | |7.LogStash |日志收集工具 |https://github.com/elastic/logstash | |8.PageHelper |MyBatis物理分页插件 |http://git.oschina.net/free/Mybatis_PageHelper | |9.Swagger-UI |文档生成工具 |https://github.com/swagger-api/swagger-ui | |10.redisson |分布式锁 |http://wjhsh.net/xiami2046-p-13929098.html | |11.easyexcel |报表处理 |https://easyexcel.opensource.alibaba.com | |12.sentinel|限流 |https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel | #### 架构图 **系统架构图** ![输入图片说明](src/main/resources/png/ai_lu%E6%9E%B6%E6%9E%84%20(3).png) #### 开发环境 | **工具** | **版本号** | |---|---| | Idea| 社区版 | | JDK | 1.8 | | Mysql | 5.7 | | Redis | 7.0 | | Kafka | 2.1.2 | | Logstash | 7.17.3 | | Navicat| 2021 | | zookeeper| 3.4.9 | | DesktopManager| 0.8.8 | #### 操作介绍 1. 搭建redis的哨兵模式 2. 搭建kafka集群环境 3. 搭建mysql数据库,其它运行环境自己搭建这里不细说,如jdk、maven等 4. 修改application.properties里的相关配置文件 5. 将项目在容器中部署,启动 6. 页面登录swagger,swagger地址:http://localhost:8080/swagger-ui.html 7. 通过swagger对接口进行测试 #### 项目地址 1. 订单管理系统ai_lu:https://gitee.com/zhangxiaopengjy/ai_lu 2. 消息系统ai_lu_msgx:https://gitee.com/zhangxiaopengjy/ai_lu_msgx #### 后台接口展示 ![输入图片说明](src/main/resources/png/zong.PNG) ![输入图片说明](src/main/resources/png/AILU.PNG) ![输入图片说明](src/main/resources/png/USER.PNG) ![输入图片说明](src/main/resources/png/order.PNG) #### 参与贡献 1. Fork 本仓库 2. 新建 ailu_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 后续计划 1. 集成Spring Security安全框架 2. 对现有功能进行完善 3. 与他人一同开发一套基于react、vue前端页面 #### 许可证 [Apache License 2.0](https://gitee.com/zhangxiaopengjy/ai_lu/blob/master/LICENSE)