# gourd-hu **Repository Path**: VictorZll/gourd-hu ## Basic Information - **Project Name**: gourd-hu - **Description**: 项目已迁移至 https://gitee.com/smallGourd/gourd-hu.git - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-04-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gourd-hu #### 项目介绍 本项目主要以spring cloud alibaba组件整合一些常用框架来搭建一个简单易用的项目。 组件模块: --------------------------------------- gourd-base:基础模块,项目所需的基础依赖、公共配置、及工具类等。 新建一个项目,只需要maven依赖此jar包,就可以启动一个完整项目。 gourd-rbac:权限用户模块,用户管理,权限分配等; gourd-file: 文件基础模块,包括文件上传、下载、预览,Excel导入导出等。 项目需要文件功能,只需要增加此jar依赖即可; gourd-notice:通讯模块,包括邮件、短信、websocket等。 项目需要通讯功能,只需要增加此jar依赖即可; gourd-quartz:quartz动态定时任务。 项目需要定时任务功能,只需要增加此jar依赖即可; gourd-activiti:工作流及请假demo。 项目需要工作流功能,只需要增加此jar依赖即可; gourd-boot-admin: springboot admin监控台,并增加邮件通知功能; gourd-generator: mybatisPlus的代码生成工具; 项目模块: ---------------------------------------- gourd-service-hu:主项目,一个完整的springboot项目。 架构:springboot + springCloud + mybatisPlus(持久层) + mysql(数据库) + nacos(注册中心、配置中心) + sentinel(流控) + redis(缓存) gourd-service-sub: 辅助项目,简单的springboot项目,用于测试分布式服务调用。 #### 集成功能: **核心功能:** 1.springSecurity+jwt-token: 用户管理、权限验证、使用jwt-token作为用户身份Id。 2.mysql数据库: 动态多数据源( 如果只有一个数据库,master和slave配置成一样即可); 数据库连接密码加密; 3.redis: redis工具类; jetCache分级缓存,一级缓存caffeine,二级缓存redis; redisson分布式锁; 4.quartz定时任务: 业务代码动态增加定时任务; 持久化到数据库; 5.springCloud分布式: 注册发现中心:Nacos; feignClient远程调用; ribbon:负载均衡 6.Nacos:配置中心 7.sentinel: 接口限流、降级、系统保护、热点数据限流、权限设置等; 规则持久化到Nacos; 8.通讯: aliyun短信通知; 邮件通知; netty-websocket实时消息; 9.文件: openoffice在线预览文件; easyexcel实现Excel文件导入导出; fastDfs文件上传、下载; 10.activiti:工作流,及请假流程demo 11.p6spy sql日志打印,打印sql耗时、替换参数后的sql。 12.jasypt文本加解密,可用于数据库密码、redis密码、邮箱密码等加密; 密文生成:https://blog.csdn.net/HXNLYW/article/details/98635913 13.工具类: 地址ip获取、日期处理工具、全局订单号生成、数字验证码生成工具、md5工具 14.其他功能: 统一异常处理,自定义业务异常,捕获不可知异常; spring-retry接口重试,自定义接口重试次数、间隔、和重试的异常; 接口防重复提交,唯一条件:指定时间内,用户id+请求url+参数 控制唯一性; 操作日志记录,记录请求地址、参数、返回、异常及接口耗时等并持久化到数据库;默认30天过期删除; 实体类公共字段填充:is_deleted,version,created_by,created_time,updated_by,updated_time; 实体类Id自动填充(分布式唯一id生成); 异步线程池,异步调用; **辅助功能:** 1.swagger: 接口文档、接口调试;访问地址:http://localhost:8088/hu/swagger-ui.html# 2.flyway: 数据库脚本自动执行,只需要将sql脚本放在 /db目录下,项目启动就会自动执行脚本。 3.generator: mybatisPlus自动生成基础代码 4.druid监控: sql监控;访问地址:http://localhost:8088/hu/druid/login.html 账号密码:admin 5. springboot admin监控: springboot应用监控,线程、内存、垃圾回收、配置等监控; 访问地址:http://localhost:8769 #### 作者 名字:gourd.hu 邮箱:13584278267@163.com 博客:https://blog.csdn.net/HXNLYW