这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

自定义服务定义微流程

自定义服务定义微流程是标准服务定义微流程的扩展,它们都是可以被其他前、后端微流程调用的服务接口,只是这个接口的实现不是通过可视化配置的方式实现,是开发人员通过手写java代码来实现,当通过画流程图的方式去实现标准服务定义微流程感觉比较困难的时候,可以采用自定义服务定义微流程。

步骤

  1. 按照需要,在规则-微流程菜单中新增一个自定义的服务定义微流程:
    image1
  2. 根据实际需要配置微流程参数
    image2
  3. 保存该微流程(注意需要保存为正式态)
    image3
  4. 测试发布应用,平台会在应用发布的时候为此微流程生成对应的Interface以及Interface中的方法,并且进行编译打包,上传maven仓库
    image4
  5. 按照后端手写代码准备工作说明的步骤,将该应用的扩展工程创建准备好
  6. 在扩展工程中新增包路径com.seeyon.{appName}.extend.appservice,在此包中新增微流程实现类,类名称自定,该新增的实现类实现微流程的Interface
package com.seeyon.renshiguanli4146632722591861173.extend.appservice;

import com.seeyon.boot.annotation.AppService;
import com.seeyon.boot.annotation.AppServiceOperation;
import com.seeyon.boot.transport.SingleRequest;
import com.seeyon.boot.transport.SingleResponse;
import com.seeyon.renshiguanli4146632722591861173.api.microflow.CustomMicroFlowAppService;
import com.seeyon.renshiguanli4146632722591861173.extend.service.ResumeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

/**
 * 微流程AppService
 **/
@AppService(value = "自定义人事管理接口")
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class CustomMicroFlowAppServiceImpl implements CustomMicroFlowAppService {
    
}
  1. 编写该微流程的方法实现,注意实现类的@AppService、@Transactional等注解一定要打上
package com.seeyon.renshiguanli4146632722591861173.extend.appservice;

import com.seeyon.boot.annotation.AppService;
import com.seeyon.boot.annotation.AppServiceOperation;
import com.seeyon.boot.transport.SingleRequest;
import com.seeyon.boot.transport.SingleResponse;
import com.seeyon.renshiguanli4146632722591861173.api.microflow.CustomMicroFlowAppService;
import com.seeyon.renshiguanli4146632722591861173.extend.service.ResumeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

/**
 * 微流程AppService
 **/
@AppService(value = "自定义人事管理接口")
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class CustomMicroFlowAppServiceImpl implements CustomMicroFlowAppService {

    @Autowired
    private ResumeService resumeService;

    /**
     * 简历解析
     *
     * @param request
     * @return
     */
    @Override
    @AppServiceOperation(value = "简历解析", returnValue = "简历解析")
    public SingleResponse<Void> parseResume(SingleRequest<String> request) {
        if (log.isDebugEnabled()) {
            log.debug("简历解析入参:{}", request.getData());
        }
        resumeService.parse(request.getData());
        return SingleResponse.ok();
    }


}
  1. 编写好之后确保本地没有任何编译错误即可将代码提交到代码仓库中,如果将有编译错误的代码提交到代码仓库中会导致您的应用发布失败

  2. 微流程实现代码提交之后,再次测试发布应用,即可将实现打包到应用中,其他的前/后端微流程都可以对此微流程进行调用

    image7