冀北干扰源常态化管理接口

This commit is contained in:
cdf
2024-05-21 08:47:36 +08:00
parent f03fc1d1cf
commit ed1241a192
14 changed files with 537 additions and 3 deletions

View File

@@ -33,6 +33,7 @@ import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import lombok.RequiredArgsConstructor;
@@ -202,4 +203,14 @@ public class BpmProcessInstanceController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, instanceId, methodDescribe);
}
@ApiOperation(value = "删除流程实例(会删除已经审核的流程慎用)")
@GetMapping(value = "/deleteInstance")
public HttpResult delete(@ApiParam(value = "流程实例ID", required = true) @RequestParam String instanceIds) {
String methodDescribe = getMethodDescribe("delete");
processInstanceService.delete(instanceIds,"测试删除");
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
}
}

View File

@@ -0,0 +1,28 @@
package com.njcn.bpm.listener.business;
import com.njcn.bpm.listener.BpmProcessInstanceStatusEvent;
import com.njcn.bpm.listener.BpmProcessInstanceStatusEventListener;
import com.njcn.supervision.api.UserReportFeignClient;
import com.njcn.supervision.api.UserReportNormalFeignClient;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Component
public class BpmUserReportNormalStatusListener extends BpmProcessInstanceStatusEventListener {
@Resource
private UserReportNormalFeignClient userReportNormalFeignClient;
@Override
protected String getProcessDefinitionKey() {
return "user_go_net";
}
@Override
protected void onEvent(BpmProcessInstanceStatusEvent event) {
userReportNormalFeignClient.updateUserReportNormalStatus(event.getBusinessKey(), event.getStatus());
}
}

View File

@@ -146,4 +146,11 @@ public interface IBpmProcessInstanceService {
*/
void updateProcessInstanceReject(String id, String reason);
/**
* 用于测试过程删除流程,正式环境慎用
* @author cdf
* @date 2024/5/20
*/
void delete(String id, String reason);
}

View File

@@ -316,8 +316,35 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, BpmProcessInstanceStatusEnum.REJECT.getStatus()));
}
private void deleteProcessInstance(String id, String reason) {
public void deleteProcessInstance(String id, String reason) {
runtimeService.deleteProcessInstance(id, reason);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String instanceId, String deleteReason) {
// 查询历史数据
HistoricProcessInstance historicProcessInstance = getHistoricProcessInstanceById(instanceId);
if (historicProcessInstance.getEndTime() != null) {
historyService.deleteHistoricProcessInstance(historicProcessInstance.getId());
return;
}
// 删除流程实例
runtimeService.deleteProcessInstance(instanceId, deleteReason);
// 删除历史流程实例
historyService.deleteHistoricProcessInstance(instanceId);
}
public HistoricProcessInstance getHistoricProcessInstanceById(String processInstanceId) {
HistoricProcessInstance historicProcessInstance =
historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
if (Objects.isNull(historicProcessInstance)) {
throw new BusinessException("流程实例不存在: " + processInstanceId);
}
return historicProcessInstance;
}
}