warm-flow国产工作流(新增办理人变量表达式和条件表达式支持spel)

warm-flow 1.2.8版本更新,新增办理人变量表达式和条件表达式支持spel

  • 【升级注意事项】

    • 本次升级,内置json库snack3方式,改为spi方式加载,业务项目中存在哪种json就会使用哪种的实现,
      支持顺序按顺序加载一种:snack3、jackson、fastjson、gson,并且目前只实现了这四种,可扩展
    • 如在未集成snack3库的环境下,还需要使用snack3库,需要单独使用(原组件使用snack3库)
            <dependency>
                <groupId>org.noear</groupId>
                <artifactId>snack3</artifactId>
                <version>3.2.88</version>
            </dependency>
      
  • 更新日志

    • [feat] json库支持snack3、jackson、fastjson和gson,并且支持扩展
    • [feat] 增加办理人变量表达式,支持${xxx}替换和spel,并支持扩展
    • [feat] ListenerVariable监听器变量新增FlowParams字段,方便开始监听器全局传递参数
    • [feat] 终止新增对开始和完成监听器的支持
    • [update] springboot项目的条件表达式默认支持spel
    • [update] 历史记录改为单条保存,删除重复代码
    • [update] 修改FlowUserDao的bean名称
    • [update] 中间节点拆分为或签,会签,票签
    • [fix] 修复历史记录创建时间相等,导致流程图渲染异常
    • [fix]修复Mybatis逻辑删除变成真实删除的缺陷 @xiarigang
    • [refactor] 重构id生成器,支持orm默认策略,删除数据填充默认实现类,改为匿名类

部分更新内容介绍

1、增加办理人变量表达式

1.1、默认办理人变量策略

前端页面设置变量
  • 比如:@@default@@|${handler1},role:1,1
  • @@default@@|${handler1}中@@default@@表示默认办理人变量策略,handler1是需要被流程变量中替换的标识
  • role:1,1表示办理人角色和具体办理人
后端代码设置变量

// 流程变量
Map<String, Object> variable = new HashMap<>();
variable.put("handler1", "100");
flowParams.variable(variable);

Instance instance = insService.skipByInsId(testLeave.getInstanceId(), flowParams);

1.2、spel办理人变量策略

前端页面设置变量
  • 比如:@@spel@@|#{@user.evalVar(#handler2)}
  • #{@user.evalVar(#handler2)}是spel表达式,#handler2是方法入参变量,可以不设置
后端代码设置变量
/**
 * 用户类
 */
@Component("user")
public class User {
   
   

    /**
     * spel办理人变量表达式
     * @param handler2 办理人
     * @return String
     */
    public String 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值