# projectA-activiti7
**Repository Path**: ddbl/projectA
## Basic Information
- **Project Name**: projectA-activiti7
- **Description**: springboot2.2.5,springcloud alibaba,activiti7动态节点表单,责任人动态分配,任意驳回回退,会签,网关,工作流微服务
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 8
- **Created**: 2020-08-05
- **Last Updated**: 2021-08-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# parent-project
https://gitee.com/wen_h/projectA
服务层提供参考,源码在私库里,这是纯后台API,目前已完成了用户权限模块,文件服务器模块,流程引擎模块。
############介绍
集成了Springcloud Alibaba 各大组件。
1,springboot升级到2.2.5.RELEASE,相对应的各大微服务组件都是对应最新版本的,既然是新框架,那么各jar肯定都要用最新的。
2,网关使用的gateway,调请求的前置条件都在这层做的校验,比如token校验,转发请求,修改请求头等操作。已经实现了对各服务的api聚合功能,直接
在页面切换各服务api,不过要输入事先约定的密码。
3,服务互调使用Feign,也可切换成dubbo。
4,注册和配置中心使用Nacos,但是我还是习惯把配置文件放在本地。
5,使用阿里提供免费的云sentinel服务作为流量哨兵,每个账号有5个免费节点,相对本地安装更省事也能实现本地sentinel功能。
6,swagge升级成了knife4j,这是一个国产优秀的接口UI工具,全中文页面,适合国人。
7,数据持久层使用的Mybatis+HikariCP,对原生Mybatis做了封装,提供5大api,统一约束数据库访问接口并记录操作日志(开关)。
8,放弃了tomcat,各微服务使用undertow作为web容器,网关使用Netty。
9,序列化和反序列化使用jackson,定制化了一些参数,用来适应业务需要,比如数据的脱敏,时间的格式化,数字类型的精准度等。
10,使用Valid作为参数校验工具,封装了一些常用校验类,对于不符合要求的数据进行异常返回。
11,使用AES对请求参数进行加解密,一用户一密钥,一密钥一token,安全级别更高,可配置取消加解密模式。
12,定时任务工具使用spring自带的Scheduled,能满足大部分定时任务需求,已完成嵌入可配置使用。
13,附件上传下载使用go-fastdfs,已完成封装API,可直接使用。
14,文件上传和导出使用myexcel,已完成封装API,可直接使用(导出EXCEL效率据说第一)。
15,打包和部署集成了jib,通过maven生命周期,将服务打包成jar,上传到阿里的私服,并且制成docker镜像上传到个人镜像仓库中。各种自动化全部集
成完成。使用者只用写个脚本,刷新服务器中的容器镜像就完成了服务的发布。个人感觉这操纵比jikens偷懒些。
16,集成了activit7,实现了可插拔式的集成,真正的微服务模式流程引擎,可以切入任意已有业务中。目前市面还没有7的教程。本人已完成了集成,实现
了业务表单绑定节点,动态分配下一步的任务负责人,任意驳回,会签,网关节点该有的都有。最关键的是使用了Camunda流程编辑器。








