Springboot整合Activiti-6.0.0 三

本文继续探讨Springboot与Activiti的整合,重点在于Activiti模型的管理,包括实现模型列表的分页查询及模糊匹配功能。在模型名称模糊匹配时,需使用modelNameLike("%关键词%")。分页查询时,firstResult参数应为(page - 1)* size,而非直接的页码。同时,分享了关于时间格式的配置小贴士。

概要:

        作为一名人类高质量程序员,我对即将到来的国庆节表示无比的激动,也衷心祝福我的祖国生日快乐、繁荣昌盛。

        上一篇博文已经成功整合流程设计器,对于流程的实现,变得轻松可达。本章内容将对Activiti的模型展开探究。

内容:

        1、实现模型列表分页查询并可以根据模型名称模糊匹配

        Activiti引擎提供的7个服务完全可以满足对模型、流程、任务等信息的核查,但是在使用的时候,需要注意其用法,我曾掉进坑里,无法自拔😭。接下来的所有接口查询中,大鱼只展示实现层的代码。点火,开干!!!

@Override
public JsonResult list(Integer page, Integer size, String modelName) {
    // 获取模型查询实例
    ModelQuery modelQuery = repositoryService.createModelQuery();
    // 根据模型名称模糊查询
    Integer total;
    List<Model> models;
    if (StringUtils.isNotEmpty(modelName)) {
        // 获取模型总数
        total = (int) modelQuery.modelNameLike("%" + modelName + "%").count();
        // 获取列表数据
        models = modelQuery
            .modelNameLike("%" + modelName + "%")
            .orderByLastUpdateTime()
            .desc()
            .listPage((page - 1) * size, size);
    } else {
        // 获取模型总数
        total = (int) modelQuery.count();
        // 获取列表数据
        models = modelQuery
            .orderByLastUpdateTime()
            .desc()
            .listPage((page - 1) * size, size);
    }
    return models.size() > 0 ? JsonResult.success(total, models) : JsonResult.success(ResultCode.NO_DATA.getCode(), ResultCode.NO_DATA.getMessage());
}

        (1)第一坑 模糊匹配

        根据模型名称进行模糊匹配时,可以直接使用方法modelNameLike(),但如果直接将关键字填入其中,如:modelNameLike(key),是无法成功进行匹配的(这不知道是不是自己用法不对),将其拼接%符号即可实现此功能,如:modelNameLike("%" + key + "%")。

        (2)第二坑 分页查询

        分页查询可以使用listPage(int firstResult, int maxResults),但此方法中需要注意firstResult参数。原以为该参数就是pageNo(当前页),但不以为然,我错了,参数firstResult表示从第firstResult个起开始查询,而不是第firstResult页,这就造成了理解上的错误,所以实现分页,务必将firstResult参数的值改为:(page - 1)* size,page和size具体为当前页和页面容量。

        (3)时间格式(这不算坑哈~_~)

        该问题只需要在yml中进行简单的配置即可,如下:

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

        2、根据模型ID删除模型

public JsonResult delete(String modelId) {
    try {
        // 删除模型
        repositoryService.deleteModel(modelId);
    } catch (Exception e) {
        e.printStackTrace();
        return JsonResult.failure();
    }
    return JsonResult.success();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值