# turtle
**Repository Path**: lolilijve/turtle
## Basic Information
- **Project Name**: turtle
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-11-10
- **Last Updated**: 2022-06-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# turtle-spring-cloud
## 平台简介
Turtle微服务框架
2021.1.11 fork from [RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud.git)
- 采用前后端分离的模式。
- 后端采用Spring Boot、Spring Cloud & Alibaba。
## 系统模块
```
per.turtle
├── turtle-gateway // 网关模块 [8080]
├── turtle-auth // 认证中心 [9200]
├── turtle-common // 通用模块
│ └── turtle-common-core // 核心模块
│ └── turtle-common-datasource // 多数据源,数据权限
│ └── turtle-common-elasticsearch // 搜索引擎
│ └── turtle-common-log // 日志记录
│ └── turtle-common-office // 办公文件处理(excel,pdf等)
│ └── turtle-common-redis // 缓存服务
│ └── turtle-common-security // 安全模块
│ └── turtle-common-swagger // 接口文档
├── turtle-modules // 业务模块
│ └── turtle-api // 业务接口
│ └── turtle-api-system // 系统接口
│ └── turtle-biz // 业务实现
│ └── turtle-system // 系统模块 [9201]
│ └── turtle-func // 功能模块
│ └── turtle-job // 定时任务 [9203]
│ └── turtle-file // 文件服务 [9300]
│ └── turtle-websocket // WebSocket服务 [9500]
├── turtle-visual // 图形化管理模块
│ └── turtle-monitor // 监控中心 [9100]
```
## 技术选型
|功能|技术选型|
|:--:|:--:|
|rest框架|feign|
|excel|easyExcel|
|文档|springdoc,knife4j-springdoc-ui|
|分页|pageHelper|
|服务注册发现|nacos|
|配置管理|nacos|
|缓存|redis|
|系统操作日志|spring aop|
|数据权限|mybatis拦截器|
|定时任务|quartz|
|转发|Sentinel,ribbon|
|监控工具|SpringBoot Admin|
|网关|SpringCloud Gateway|
|搜索引擎|elasticSearch|
|数据库|mariadb|
|对象存储|minio|
|鉴权|redis,aop|
|熔断,流控|Sentinel|
## 使用说明
|功能|实现方式|
|--|--|
|在线文档|在执行类上添加注解 @EnableCustomSwagger|
|服务间调用|在执行类上添加注解 @EnableTurtleFeignClients|
|接口权限|在具体方法上添加注解 @PreAuthorize|
|数据权限|在mapper的方法上添加注解 @DataScope|
|系统日志|在具体方法上添加注解 @Log|
|导出excel|在具体方法上添加注解 @ResponseExcel|
|导入excel|在具体方法的入参前添加注解 @RequestExcel|
|根据字符类型来限制字符串长度|在字段上添加注解 @MaxSizeWithCharset|
|缓存|简单缓存使用注解 @Cacheable 等,复杂缓存使用 RedisService|
|获取用户|使用 TokenService 类|
|文件传输|调用 TurtleFile 模块|
|定时任务|调用 TurtleJob 模块|
|||
## 参数规范
- 返回参数
> 
> 一般通过 CommonResult 类生成
- 分页&排序
> 
> 在请求地址上添加,如图