flowable用户组的处理

背景

flowable有自己的用户账号信息,用户信息,用户组信息,其实这些用户信息都我们系统可能都存在,那么我们如何去使用一份数据呢?

1.我们可以建立视图直接取我们的组织信息,这个可以参考相关的文档
2.我们可以把组织数据同步到flowable的表中
我们这边的处理时以同步的机制来做的,把我们的数据同步到flowable的表中,这样的好处就是我们不用改动flowable的表结构,flowable升级的话,对我们没有任何影响

具体做法如下:

1.在我们的MDM系统(组织管理系统)通过rabbitmq的消息队列的方式发送到消息队列里面,以后有任何的改动都发送消息。
2.在我们流程中心添加一个监听器,实时监听这个队列的数据,然后把数据添加到我们的flowable表中,实现实时同步的效果。

@Component
@RabbitListener(queues = FlowConstant.FLOWABLE_MDM_DATA_QUEUE, containerFactory = "rabbitListenerContainerFactory")
public class MdmDataSyncReceiver {private static Logger logger = LoggerFactory.getLogger(MdmDataSyncReceiver.class);@Resourceprivate ICompanyService companyService;@Resourceprivate IDepartmentService departmentService;@Resourceprivate IUserVoService userVoService;@RabbitHandlerpublic void process(@Payload String message) {if (StringUtils.isNotBlank(message)) {try {JSONObject map = JSONObject.parseObject(message);JSONArray datas = map.getJSONArray("datas");String type = map.getString("synEhr");if (null != datas && null != type) {switch (SynMDMEnum.getEnum(type)) {case COMPANY:List<CompanyVo> companyVos = JSONArray.parseArray(datas.toJSONString(), CompanyVo.class);companyService.insertOrUpdateList(companyVos.stream().filter(companyVo -> companyVo.getStatus().equals(1)).collect(Collectors.toList()));break;case DEPARTMENT:List<DepartmentVo> departmentVos = JSONArray.parseArray(datas.toJSONString(), DepartmentVo.class);departmentVos.forEach(param -> {if (null != param.getIscancle() && null != param.getStatus()&& param.getIscancle().equals(0)&& param.getStatus().equals(DepartmentStatusEnum.Y.getCode())&& param.getDelFlag().equals(FlowConstant.NO_DELETE_FLAG)) {param.setStatus(DeptStatusEnum.ON.getCode());} else {param.setStatus(DeptStatusEnum.OFF.getCode());}});departmentService.insertOrUpdateList(departmentVos);break;case PERSONAL:List<PersonVo> personVos = JSONArray.parseArray(datas.toJSONString(), PersonVo.class);personVos.forEach(param -> {if (null != param.getStatus() && null != param.getPoststatus()&& param.getStatus().equals(1)&& param.getPoststatus().equals(1)&& param.getDelFlag().equals(FlowConstant.NO_DELETE_FLAG)) {param.setStatus(PersonStatusEnum.ON.getCode());} else {param.setStatus(PersonStatusEnum.OFF.getCode());}});userVoService.insertOrUpdateList(personVos);break;default:}}} catch (Exception e) {logger.error("MdmDataSyncReceiver-error", e);}}}}

在这里我们做了好几张扩展表,以把公司,部门,人员,同步下来。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软 SQL Server 2019 将免费支持 Java;Rancher Labs获2500万美元融资;腾讯云进军日本市场……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go “2019世界计算机大会”新闻…

玩 High API 系列之:实现钉钉Ding功能

摘要&#xff1a; 钉钉是企业IM市场上的领先者&#xff0c;深受中小企业客户的喜欢&#xff0c;就再几天前刚刚宣布用户数超过1亿&#xff01;在钉钉里面有个特别实用的功能&#xff0c;那就是Ding一下&#xff0c;如果你发的消息特别紧急&#xff0c;可以直接通过短信、电话等…

flowable中动态显示节点的审批人信息

1、上面的流程图当任务还没有到的节点&#xff0c;用户想看看节点的人的信息&#xff0c;如果我们常规的是不能实现的。 2、思路就是我们取出节点的表达式&#xff0c;然后用我们流程实例的变量来给他翻译出来即可&#xff0c;如何做呢&#xff1f; 2.1、通过流程实例id查出历…

InfoComm China 2019,揭秘“NVIDIA风格”数据科学!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者|刘晶晶在炫酷的复联4电影中&#xff0c;超过2600个特效镜头层出不穷&#xff0c;意味着电影的后期剪辑与特效对于硬件设备的要求越发提高&#xff0c;毕竟特效制作着力依赖画面渲染。我们了解&#xff0c;在没有GPU之前&#x…

玩 High API 系列之:智能云相册

摘要&#xff1a; 相册是手机中的一个非常重要的功能&#xff0c;然而目前的大部分手机的相册非常普通&#xff0c;仅仅有查看照片&#xff0c;编辑相片的等几个简单功能。我们来看看如果在API时代&#xff0c;如何通过调用API快速实现一个好玩的&#xff0c;具备智能分析识别、…

玩 High API 系列好文:UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头...

摘要&#xff1a;玩 High API 系列好文&#xff1a;UGC内容检测、视频智能、拍照翻译、懂天气的草地喷水头 导读&#xff1a;初创公司可以利用API来解决问题。了解更多场景如何玩High API&#xff1f;如何将API变现&#xff1f;请下载阿里云 API Playbook&#xff08;免费下载&…

java项目功能详情介绍,JAVAEE—spring的详细介绍

一、spring介绍1.三层架构中spring位置2.spring一站式框架正是因为spring框架性质是属于容器性质的.容器中装什么对象就有什么功能.所以可以一站式.不仅不排斥其他框架,还能帮其他框架管理对象.aop支持、ioc思想、spring jdbc、aop 事务、junit 测试支持二、spring搭建1.导包日…

乘势而起,走进2019年风口“边缘计算”

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者| pasca原创 | 蛋蛋团&#xff08;ID&#xff1a;dandan_tuan&#xff09;5G火了&#xff0c;也带火了边缘计算。2019年3月&#xff0c;一篇《5G风口扩散&#xff0c;超清视频边缘计算概念崛起》的文章意外走红&#xff0c;直接…

详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口

摘要&#xff1a; 概述 阿里云的公网入口产品共有三个&#xff0c;SLB、EIP、NAT网关&#xff0c;这几个产品都可以作为云上资源的公网入口&#xff0c;他们之间有何区别&#xff0c;又分别应该在什么场景下使用呢&#xff1f; 点此查看原文&#xff1a;http://click.aliyun.co…

Hadoop常见问题 | Hadoop能干什么?

戳蓝字“CSDN云计算”关注我们哦&#xff01;我们很荣幸能够见证Hadoop十几年间经历了从无到有&#xff0c;再到称王。感动于技术的日新月异时&#xff0c;希望通过本篇有问有答&#xff0c;带大家解决Hadoop的常见问题。1Q&#xff1a; Hadoop 的发展历史A&#xff1a;2Q&…

matlab 导入元胞,MATLAB导入xls文件以及cell的使用方法

使用matlab读入.xls的文件时候可以用[T,TXT,RAW]xlsread("filename.xls")导入也可以使用import data 的办法手动导入文件。但是我比较倾向于自动化程度比较高的前者&#xff0c;毕竟有时候导入的文件数量是几百个手动导入不科学。xlsread返回的参数有三个&#xff0c…

uDevice Center - IoT弹性在线多设备开发平台

摘要&#xff1a; IoT开发的一大痛点在于&#xff1a;硬件获取与setup路径太长&#xff1b;开发工具难以支持多设备联合开发。我们用uDevice Center把开发板/设备都搬到了线上&#xff0c;让用户可以不用买硬件接线&#xff0c;在线就能做IoT开发调试了。同时&#xff0c;uDevi…

快报:Python 被爆重大“黑料”!程序员:劲爆!

坐拥各大编程排行榜的Python&#xff0c;真的无敌了吗&#xff1f;在我一个朋友看来&#xff0c;他坚信 Python 可以做任何事情。但其实我是不服的&#xff0c;我相信很多人都有这种感觉。但是我最近当看 GitHub 年度项目数量时&#xff0c;我哭了&#xff0c;因为 Python 应用…

SpringBoot集成flowable-modeler(6.4.1) 实现免登

因公司需求需要将flowable的流程设计器集成到项目中&#xff0c;下面将最近的研究成果记录一下。 文章目录一、下载flowable-modeler源码二、添加相关maven包三、调用idm服务重新接口四、配置类五、启动类跳过登陆拦截六、配置文件一、下载flowable-modeler源码 把flowable-ui…

时代在召唤5G

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者| 白告天原创 |边缘计算社区错过房价飞涨的年代&#xff0c;你还要错过5G这班车吗&#xff1f;一 5G是什么&#xff1f;5G&#xff0c;就是第五代移动通信技术。和大哥大变成智能手机&#xff0c;绿皮火车变成和谐号都是一种大幅…

jboss连接池,断开后自动重连功能

最近客户现场的测试环境连的数据库极不稳定&#xff0c;经常会出现需要重新启动数据库的情况&#xff0c; 但是一旦重启数据库 则会出现 提示 ,执行sql错误&#xff0c;原因就是datasource 没有获取新的连接&#xff01; 那么解决办法就是怎样让jboss每次提供连接的时候都给我们…

API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务

摘要&#xff1a; 近日&#xff0c;阿里云API网关对接了日志服务&#xff0c;可以输出用户在API网关产生的API调用日志&#xff0c;目前支持将 API 接入 API 网关的用户查看日志明细、概况、报表分析、在线查询等。 访问日志&#xff08;Acccess Log&#xff09;是由应用服务生…

GitHub 被爆开始实名制,以便于执行美国贸易制裁;特斯拉推出超大储能产品Megapack;高通宣布与腾讯游戏达成战略合作……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 尼展示圆柱型透明式显示屏&a…

几何级数 函数 matlab,matlab 实验05数据的统计分析

数据的统计分析在日常生活中我们会在很多事件中收集到一些数据(比如&#xff1a;考试分数、窗口排队人数、月用电量、灯泡寿命、测量误差、产品质量、月降雨量等数据)&#xff0c;这些数据的产生一般都是随机的&#xff0e;这些随机数据乍看起来并没有什么规律&#xff0c;但通…

IDEA解决sun.misc.BASE64Encoder找不到jar包的解决方法

sun.misc.BASE64Encoder 不建议使用java.sun自带包中的内容 import sun.misc.BASE64Encoder; import sun.misc.BASE64Decoder;在项目中&#xff0c;设计到64位编码的。有时开发会用到JDK中自带的BASE64工具。但sun公司是建议不这样做的。尤其是更新了JDK版本&#xff0c;项目甚…