!1285 fix: 代码评审修改

Merge pull request !1285 from Lesan/feature/bpm-流程前后置通知
This commit is contained in:
芋道源码 2025-03-15 08:09:23 +00:00 committed by Gitee
commit b6f74f3b9b
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 44 additions and 70 deletions

View File

@ -82,13 +82,11 @@ public class BpmModelMetaInfoVO {
@Schema(description = "摘要设置", example = "{}")
private SummarySetting summarySetting;
// TODO @lesanprocessBeforeTriggerSetting要不叫这个主要考虑notify 留给后续的站内信短信邮件这种 notify 通知哈
@Schema(description = "流程前置通知设置", example = "{}")
private HttpRequestSetting PreProcessNotifySetting;
private HttpRequestSetting processBeforeTriggerSetting;
// TODO @lesanprocessAfterTriggerSetting
@Schema(description = "流程后置通知设置", example = "{}")
private HttpRequestSetting PostProcessNotifySetting;
private HttpRequestSetting processAfterTriggerSetting;
@Schema(description = "流程 ID 规则")
@Data

View File

@ -188,16 +188,15 @@ public class BpmProcessDefinitionInfoDO extends BaseDO {
@TableField(typeHandler = JacksonTypeHandler.class)
private BpmModelMetaInfoVO.SummarySetting summarySetting;
// TODO @lesanprocessBeforeTriggerSetting要不叫这个主要考虑notify 留给后续的站内信短信邮件这种 notify 通知哈
/**
* 流程前置通知设置
*/
@TableField(typeHandler = JacksonTypeHandler.class, exist = false) // TODO @芋艿临时注释 exist因为要合并 master-jdk17
private BpmModelMetaInfoVO.HttpRequestSetting PreProcessNotifySetting;
private BpmModelMetaInfoVO.HttpRequestSetting processBeforeTriggerSetting;
/**
* 流程后置通知设置
*/
@TableField(typeHandler = JacksonTypeHandler.class, exist = false) // TODO @芋艿临时注释 exist因为要合并 master-jdk17
private BpmModelMetaInfoVO.HttpRequestSetting PostProcessNotifySetting;
private BpmModelMetaInfoVO.HttpRequestSetting processAfterTriggerSetting;
}

View File

@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.core.KeyValue;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import cn.iocoder.yudao.framework.common.util.spring.SpringUtils;
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO;
import cn.iocoder.yudao.module.bpm.enums.definition.BpmHttpRequestParamTypeEnum;
import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
@ -40,11 +41,9 @@ public class BpmHttpRequestUtils {
List<BpmSimpleModelNodeVO.HttpRequestParam> headerParams,
List<BpmSimpleModelNodeVO.HttpRequestParam> bodyParams,
Boolean handleResponse,
List<KeyValue<String, String>> response,
// TODO @lesanRestTemplate 直接通过 springUtil 获取好咧
RestTemplate restTemplate,
// TODO @lesanprocessInstanceService 直接通过 springUtil 获取好咧
BpmProcessInstanceService processInstanceService) {
List<KeyValue<String, String>> response) {
RestTemplate restTemplate = SpringUtils.getBean(RestTemplate.class);
BpmProcessInstanceService processInstanceService = SpringUtils.getBean(BpmProcessInstanceService.class);
// 1.1 设置请求头
MultiValueMap<String, String> headers = buildHttpHeaders(processInstance, headerParams);
@ -55,8 +54,9 @@ public class BpmHttpRequestUtils {
ResponseEntity<String> responseEntity = sendHttpRequest(url, headers, body, restTemplate);
// 3. 处理返回
// TODO @lesan可以用 if return让括号小点
if (Boolean.TRUE.equals(handleResponse)) {
if (Boolean.FALSE.equals(handleResponse)) {
return;
}
// 3.1 判断是否需要解析返回值
if (responseEntity == null
|| StrUtil.isEmpty(responseEntity.getBody())
@ -77,7 +77,6 @@ public class BpmHttpRequestUtils {
processInstanceService.updateProcessInstanceVariables(processInstance.getId(), updateVariables);
}
}
}
public static ResponseEntity<String> sendHttpRequest(String url,
MultiValueMap<String, String> headers,

View File

@ -122,9 +122,6 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
@Resource
private BpmProcessIdRedisDAO processIdRedisDAO;
@Resource
private RestTemplate restTemplate;
// ========== Query 查询相关方法 ==========
@Override
@ -914,16 +911,14 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionService.
getProcessDefinitionInfo(instance.getProcessDefinitionId());
if (ObjUtil.isNotNull(processDefinitionInfo) &&
ObjUtil.isNotNull(processDefinitionInfo.getPostProcessNotifySetting())) {
BpmModelMetaInfoVO.HttpRequestSetting setting = processDefinitionInfo.getPostProcessNotifySetting();
ObjUtil.isNotNull(processDefinitionInfo.getProcessAfterTriggerSetting())) {
BpmModelMetaInfoVO.HttpRequestSetting setting = processDefinitionInfo.getProcessAfterTriggerSetting();
BpmHttpRequestUtils.executeBpmHttpRequest(instance,
setting.getUrl(),
setting.getHeader(),
setting.getBody(),
true, setting.getResponse(),
restTemplate,
this);
true, setting.getResponse());
}
}
});
@ -936,18 +931,16 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
// 流程前置通知
BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionService.
getProcessDefinitionInfo(instance.getProcessDefinitionId());
// TODO @lesanif return 减少括号
if (ObjUtil.isNotNull(processDefinitionInfo) &&
ObjUtil.isNotNull(processDefinitionInfo.getPreProcessNotifySetting())) {
BpmModelMetaInfoVO.HttpRequestSetting setting = processDefinitionInfo.getPreProcessNotifySetting();
if (ObjUtil.isNull(processDefinitionInfo) ||
ObjUtil.isNull(processDefinitionInfo.getProcessBeforeTriggerSetting())) {
return;
}
BpmModelMetaInfoVO.HttpRequestSetting setting = processDefinitionInfo.getProcessBeforeTriggerSetting();
BpmHttpRequestUtils.executeBpmHttpRequest(instance,
setting.getUrl(),
setting.getHeader(),
setting.getBody(),
true, setting.getResponse(),
restTemplate,
this);
}
true, setting.getResponse());
});
}

View File

@ -32,9 +32,6 @@ public class BpmUserTaskListener implements TaskListener {
@Resource
private BpmProcessInstanceService processInstanceService;
@Resource
private RestTemplate restTemplate;
@Setter
private FixedValue listenerConfig;
@ -58,9 +55,7 @@ public class BpmUserTaskListener implements TaskListener {
listenerHandler.getPath(),
listenerHandler.getHeader(),
listenerHandler.getBody(),
false, null,
restTemplate,
processInstanceService);
false, null);
// 3. 是否需要后续操作TODO 芋艿待定
}

View File

@ -21,9 +21,6 @@ import org.springframework.web.client.RestTemplate;
@Slf4j
public class BpmHttpCallbackTrigger extends BpmAbstractHttpRequestTrigger {
@Resource
private RestTemplate restTemplate;
@Resource
private BpmProcessInstanceService processInstanceService;
@ -51,9 +48,7 @@ public class BpmHttpCallbackTrigger extends BpmAbstractHttpRequestTrigger {
setting.getUrl(),
setting.getHeader(),
setting.getBody(),
false, null,
restTemplate,
processInstanceService);
false, null);
}
}

View File

@ -20,9 +20,6 @@ import org.springframework.web.client.RestTemplate;
@Slf4j
public class BpmSyncHttpRequestTrigger extends BpmAbstractHttpRequestTrigger {
@Resource
private RestTemplate restTemplate;
@Resource
private BpmProcessInstanceService processInstanceService;
@ -46,9 +43,7 @@ public class BpmSyncHttpRequestTrigger extends BpmAbstractHttpRequestTrigger {
setting.getUrl(),
setting.getHeader(),
setting.getBody(),
true, setting.getResponse(),
restTemplate,
processInstanceService);
true, setting.getResponse());
}
}