流程服务添加-资金授信模块的流程状态监听器进行业务回调

This commit is contained in:
qianshijiang
2025-09-23 11:38:29 +08:00
parent f5f82229f3
commit 82a00cb884
3 changed files with 49 additions and 1 deletions

View File

@@ -33,6 +33,11 @@
<artifactId>zt-module-system-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>cloud-module-capital-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 业务组件 -->
<dependency>

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.bpm.framework.rpc.config;
import com.zt.plat.module.capital.api.AmountCreditApplyApi;
import com.zt.plat.module.system.api.dept.DeptApi;
import com.zt.plat.module.system.api.dept.PostApi;
import com.zt.plat.module.system.api.dict.DictDataApi;
@@ -12,6 +13,6 @@ import org.springframework.context.annotation.Configuration;
@Configuration(value = "bpmRpcConfiguration", proxyBeanMethods = false)
@EnableFeignClients(clients = {RoleApi.class, DeptApi.class, PostApi.class, AdminUserApi.class, SmsSendApi.class, DictDataApi.class,
PermissionApi.class})
PermissionApi.class, AmountCreditApplyApi.class})
public class RpcConfiguration {
}

View File

@@ -0,0 +1,42 @@
package com.zt.plat.module.bpm.service.supply.capital.listener;
import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEvent;
import com.zt.plat.module.bpm.api.event.BpmProcessInstanceStatusEventListener;
import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
import com.zt.plat.module.capital.api.AmountCreditApplyApi;
import com.zt.plat.module.capital.enums.AmountCreditApplyApiStatusEnum;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* credit_letter_approval_process - 授信单的状态的监听器实现类
*
* @author ZT
*/
@Component
public class BpmCreditLetterApprovalProcessLeaveStatusListener extends BpmProcessInstanceStatusEventListener {
@Resource
private AmountCreditApplyApi amountCreditApplyApi;
@Override
protected List<String> getProcessDefinitionKey() {
return List.of(amountCreditApplyApi.PROCESS_KEY);
}
@Override
protected void onEvent(BpmProcessInstanceStatusEvent event) {
// 将流程中的状态转换为业务的状态
Integer status = event.getStatus();
String approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_PASS.getCode();
if (BpmProcessInstanceStatusEnum.APPROVE.getStatus() == status) {
approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_PASS.getCode();
} else if (BpmProcessInstanceStatusEnum.REJECT.getStatus() == status) {
approvalStatus = AmountCreditApplyApiStatusEnum.ACAS_REJECT.getCode();
}
amountCreditApplyApi.updateAmountCreditApplyStatus(Long.parseLong(event.getBusinessKey()),approvalStatus);
}
}