BpmHttpTest.java 8.14 KB
package com.hotent.sdk;

import cn.hutool.json.JSONUtil;
import com.hotent.sdk.annotation.EnabledSDK;
import com.hotent.sdk.commom.SDKResult;
import com.hotent.sdk.param.AssignParamObject;
import com.hotent.sdk.param.DoEndParamObject;
import com.hotent.sdk.param.DoNextParamObject;
import com.hotent.sdk.param.ForbiddenParamObject;
import com.hotent.sdk.param.StartFlowParamObject;
import com.hotent.sdk.service.BpmHttpService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;

/**
 * sdk测试类
 *      需要增加yaml文件并配置SDKConfig属性
 * @author liangjc
 * @company 广州宏天软件股份有限公司
 * @email liangjc@jee-soft.cn
 * @date 2023-07-18 18:00
 */
@SpringBootTest
@RunWith(SpringRunner.class)
@SpringBootConfiguration
@EnabledSDK
public class BpmHttpTest {

    @Resource
    BpmHttpService bpmHttpService;

    /**
     * 启动流程
     *
     * @throws Exception
     */
    @Test
    public void start() throws Exception {

        String body = "{\n" +
                "  \"defId\": \"1681494161980735488\",\n" +
                "  \"formKey\": \"sdkcs\",\n" +
                "  \"supportMobile\": 0,\n" +
                "  \"freedomData\": [],\n" +
                "  \"data\": \"eyJzZGtjcyI6eyJuciI6IuadpeS6huWViiIsImluaXREYXRhIjp7fX19\"\n" +
                "}";

        StartFlowParamObject startFlowParamObject = JSONUtil.toBean(body, StartFlowParamObject.class);
        SDKResult<String> sdkResult = bpmHttpService.start("yh1", startFlowParamObject);
        System.out.println(sdkResult);
    }

    /**
     * 保存
     *
     * @throws Exception
     */
    @Test
    public void saveFlow() throws Exception {

        String body = "{\n" +
                "  \"defId\": \"1681494161980735488\",\n" +
                "  \"formKey\": \"sdkcs\",\n" +
                "  \"supportMobile\": 0,\n" +
                "  \"freedomData\": [],\n" +
                "  \"data\": \"eyJzZGtjcyI6eyJuciI6ImFiYyIsImluaXREYXRhIjp7fX19\"\n" +
                "}";

        StartFlowParamObject startFlowParamObject = JSONUtil.toBean(body, StartFlowParamObject.class);
        SDKResult<String> sdkResult = bpmHttpService.saveDraft("yh2", startFlowParamObject);
        System.out.println(sdkResult);
    }


    /**
     * complete agree 同意
     *
     * @throws Exception
     */
    @Test
    public void agree() throws Exception {

        String body = "{\n" +
                "  \"formKey\": \"sdkcs\",\n" +
                "  \"data\": \"ewogICJyZWZfaWRfIjogIjAiLAogICJuciI6ICIxMjMyMjMiLAogICJpZF8iOiAiMTY4MTU4NjAxNTAzODA1NDQwMCIsCiAgImZvcm1fZGF0YV9yZXZfIjogMAp9\",\n" +
                "  \"opinion\": \"同意\",\n" +
                "  \"taskId\": \"1681586015730114560\",\n" +
                "  \"actionName\": \"agree\",\n" +
                "  \"destination\": \"\",\n" +
                "  \"zfiles\": \"\",\n" +
                "  \"jumpType\": \"\",\n" +
                "  \"agentLeaderId\": 0,\n" +
                "  \"files\": \"\\\"\\\"\",\n" +
                "  \"formType\": \"inner\"\n" +
                "}";

        DoNextParamObject doNextParamObject = JSONUtil.toBean(body, DoNextParamObject.class);
        SDKResult<String> sdkResult = bpmHttpService.agree("yh2", doNextParamObject);
        System.out.println(sdkResult);
    }

    /**
     * complete back 驳回
     *
     * @throws Exception
     */
    @Test
    public void back() throws Exception {

        String body = "{\n" +
                "  \"formKey\": \"sdkcs\",\n" +
                "  \"data\": \"ewogICJyZWZfaWRfIjogIjAiLAogICJuciI6ICIzMmR4IiwKICAiaWRfIjogIjE2ODE1ODQ5MDgyMjQxNDMzNjAiLAogICJmb3JtX2RhdGFfcmV2XyI6IDIKfQ==\",\n" +
                "  \"opinion\": \"驳回发起人重走\",\n" +
                "  \"taskId\": \"1681599378010906624\",\n" +
                "  \"actionName\": \"backToStart\",\n" +
                "  \"destination\": \"\",\n" +
                "  \"zfiles\": \"\",\n" +
                "  \"jumpType\": \"\",\n" +
                "  \"agentLeaderId\": 0,\n" +
                "  \"files\": \"\",\n" +
                "  \"formType\": \"inner\",\n" +
                "  \"backHandMode\": \"normal\",\n" +
                "  \"rejectTaskId\": \"\"\n" +
                "}";

        DoNextParamObject doNextParamObject = JSONUtil.toBean(body, DoNextParamObject.class);
        SDKResult<String> sdkResult = bpmHttpService.back("yh1", doNextParamObject);
        System.out.println(sdkResult);
    }
    /**
     * complete back 反对
     *
     * @throws Exception
     */
    @Test
    public void oppose() throws Exception {

        String body = "{\n" +
                "  \"formKey\": \"sdkcs\",\n" +
                "  \"opinion\": \"反对\",\n" +
                "  \"taskId\": \"1681603361970561024\",\n" +
                "  \"actionName\": \"oppose\",\n" +
                "  \"destination\": \"\",\n" +
                "  \"zfiles\": \"\",\n" +
                "  \"jumpType\": \"\",\n" +
                "  \"agentLeaderId\": 0,\n" +
                "  \"files\": \"\\\"\\\"\",\n" +
                "  \"formType\": \"inner\"\n" +
                "}";
        System.out.println(body);
        DoNextParamObject doNextParamObject = JSONUtil.toBean(body, DoNextParamObject.class);
        SDKResult<String> sdkResult = bpmHttpService.oppose("yh1", doNextParamObject);
        System.out.println(sdkResult);
    }

    /**
     * 挂起
     *
     * @throws Exception
     */
    @Test
    public void forbiddenInstance() throws Exception {

        ForbiddenParamObject forbiddenParamObject = new ForbiddenParamObject();
        forbiddenParamObject.setInstId("1681603194194206720");

        SDKResult<String> sdkResult = bpmHttpService.forbiddenInstance("yh1", forbiddenParamObject);
        System.out.println(sdkResult);
    }


    /**
     * 取消挂起
     *
     * @throws Exception
     */
    @Test
    public void unForbiddenInstance() throws Exception {

        ForbiddenParamObject forbiddenParamObject = new ForbiddenParamObject();
        forbiddenParamObject.setInstId("1681603194194206720");

        SDKResult<String> sdkResult = bpmHttpService.unForbiddenInstance("yh1", forbiddenParamObject);
        System.out.println(sdkResult);
    }

    /**
     * 终止流程
     *
     * @throws Exception
     */
    @Test
    public void doEndProcess() throws Exception {

        String body = "{\n" +
                "  \"taskId\": \"1681861901943545856\",\n" +
                "  \"messageType\": \"inner\",\n" +
                "  \"files\": \"\",\n" +
                "  \"opinion\": \"zhongzhi\",\n" +
                "  \"endReason\": \"zhongzhi\",\n" +
                "  \"account\": \"yh1\",\n" +
                "  \"busDataObjectNode\": {\"aa\":\"ss\"}\n" +
                "}";
        System.out.println(body);
        DoEndParamObject doEndParamObject = JSONUtil.toBean(body, DoEndParamObject.class);
        System.out.println(JSONUtil.toJsonStr(doEndParamObject));
        SDKResult<String> sdkResult = bpmHttpService.doEndProcess("yh1", doEndParamObject);
        System.out.println(sdkResult);
    }


    /**
     * 转办
     *
     * @throws Exception
     */
    @Test
    public void delegate() throws Exception {

        String body = "{\n" +
                "  \"messageType\": \"inner\",\n" +
                "  \"taskId\": \"1681912187974295552\",\n" +
                "  \"zfiles\": \"\",\n" +
                "  \"formData\": \"{\\\"sdkcs\\\":{\\\"ref_id_\\\":\\\"0\\\",\\\"nr\\\":\\\"345\\\",\\\"id_\\\":\\\"1681912187043160064\\\",\\\"form_data_rev_\\\":0,\\\"initData\\\":{}}}\",\n" +
                "  \"formKey\": \"sdkcs\",\n" +
                "  \"userId\": \"1635469623753261056\",\n" +
                "  \"files\": \"\",\n" +
                "  \"opinion\": \"转办给lmm\"\n" +
                "}";
        System.out.println(body);
        AssignParamObject assignParamObject = JSONUtil.toBean(body, AssignParamObject.class);
        SDKResult<String> sdkResult = bpmHttpService.delegate("yh1", assignParamObject);
        System.out.println(sdkResult);
    }
}