解决Camunda评论表中user_id为空的问题

2024-01-05 08:38

本文主要是介绍解决Camunda评论表中user_id为空的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

@Override
    public List<TaskDto> simpleStartProcess(PscCommonProcessRequest pscCommonProcessRequest, HttpServletRequest request)
            throws Exception {
        AuthenticationService authenticationService = new AuthenticationService();

        //获取当前流程引擎的名称
        String engineName = processEngine.getName();

        //用户无密码登录
        UserAuthentication authentication = (UserAuthentication) authenticationService.createAuthenticate(engineName,
                pscCommonProcessRequest.getStarter(), null, null);
        logger.info("authentication--------->" + authentication.getName());

        //刷新session
        Authentications.revalidateSession(request, authentication);

        //设置当前用户为操作人
        identityService.setAuthenticatedUserId(authentication.getName());
        String processInstanceId = null;
        List<TaskDto> resultList = new ArrayList<TaskDto>();
        Map<String, Object> variables = new HashMap<String, Object>();
        variables = pscCommonProcessRequest.getVariables();
        // variables.put("assigneeList030", Arrays.asList("kermit", "demo"));
        // variables.put("assigneeList040", Arrays.asList("kermit", "demo"));
        variables.put("starter", pscCommonProcessRequest.getStarter());
        variables.put("amount", "980");
        ProcessInstance processInstance = null;
        // 流程初始化
        if (StringUtils.isNotBlank(pscCommonProcessRequest.getProcessDefKey())) {
            processInstance = runtimeService.startProcessInstanceByKey(pscCommonProcessRequest.getProcessDefKey(),
                    variables);
        } else {
            processInstance = runtimeService.startProcessInstanceById(pscCommonProcessRequest.getProcessDefId(),
                    variables);
        }
        // 创建成功
        if (processInstance != null && StringUtils.isNotBlank(processInstance.getId())) {
            processInstanceId = processInstance.getId();
            List<TaskDto> taskList = simpleGetTasks(processInstanceId);
            logger.info(JSON.toJSONString(taskList));
            if (taskList != null && taskList.size() == 1) {
                taskService.complete(taskList.get(0).getId(), variables);
                taskService.createComment(taskList.get(0).getId(), processInstanceId, "提交流程");
                resultList = simpleGetTasks(processInstanceId);
            } else {
                throw new Exception("获取提交任务失败:" + taskList.size());
            }
        } else {
            throw new Exception("创建流程实例失败:");
        }
        return resultList;
    }

未添加 identityService.setAuthenticatedUserId()前

 添加后

Camnunda工作流引擎

GitHub地址: https://github.com/skayliu/CamundaSpringBootDemo

码云地址:https://gitee.com/skay463/CamundaSpringBootDemo

这篇关于解决Camunda评论表中user_id为空的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

MySQL查看表的最后一个ID的常见方法

《MySQL查看表的最后一个ID的常见方法》在使用MySQL数据库时,我们经常会遇到需要查看表中最后一个id值的场景,无论是为了调试、数据分析还是其他用途,了解如何快速获取最后一个id都是非常实用的技... 目录背景介绍方法一:使用MAX()函数示例代码解释适用场景方法二:按id降序排序并取第一条示例代码解

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

Java 中的跨域问题解决方法

《Java中的跨域问题解决方法》跨域问题本质上是浏览器的一种安全机制,与Java本身无关,但Java后端开发者需要理解其来源以便正确解决,下面给大家介绍Java中的跨域问题解决方法,感兴趣的朋友一起... 目录1、Java 中跨域问题的来源1.1. 浏览器同源策略(Same-Origin Policy)1.

如何清理MySQL中的binlog问题

《如何清理MySQL中的binlog问题》:本文主要介绍清理MySQL中的binlog问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目http://www.chinasem.cn录清理mysql中的binlog1.查看binlog过期时间2. 修改binlog过期

如何解决yum无法安装epel-release的问题

《如何解决yum无法安装epel-release的问题》:本文主要介绍如何解决yum无法安装epel-release的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录yum无法安装epel-release尝试了第一种方法第二种方法(我就是用这种方法解决的)总结yum

python3 pip终端出现错误解决的方法详解

《python3pip终端出现错误解决的方法详解》这篇文章主要为大家详细介绍了python3pip如果在终端出现错误该如何解决,文中的示例方法讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下... 目录前言一、查看是否已安装pip二、查看是否添加至环境变量1.查看环境变量是http://www.cppcns

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

redis在spring boot中异常退出的问题解决方案

《redis在springboot中异常退出的问题解决方案》:本文主要介绍redis在springboot中异常退出的问题解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴... 目录问题:解决 问题根源️ 解决方案1. 异步处理 + 提前ACK(关键步骤)2. 调整Redis消费者组

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见