fix: 代码评审修改

This commit is contained in:
LesanOuO 2025-03-15 10:45:45 +08:00
parent 4364ef09c5
commit 25899d9988
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,27 +54,27 @@ public class BpmHttpRequestUtils {
ResponseEntity<String> responseEntity = sendHttpRequest(url, headers, body, restTemplate);
// 3. 处理返回
// TODO @lesan可以用 if return让括号小点
if (Boolean.TRUE.equals(handleResponse)) {
// 3.1 判断是否需要解析返回值
if (responseEntity == null
|| StrUtil.isEmpty(responseEntity.getBody())
|| !responseEntity.getStatusCode().is2xxSuccessful()
|| CollUtil.isEmpty(response)) {
return;
}
// 3.2 解析返回值, 返回值必须符合 CommonResult 规范
CommonResult<Map<String, Object>> respResult = JsonUtils.parseObjectQuietly(responseEntity.getBody(),
new TypeReference<>() {});
if (respResult == null || !respResult.isSuccess()) {
return;
}
// 3.3 获取需要更新的流程变量
Map<String, Object> updateVariables = getNeedUpdatedVariablesFromResponse(respResult.getData(), response);
// 3.4 更新流程变量
if (CollUtil.isNotEmpty(updateVariables)) {
processInstanceService.updateProcessInstanceVariables(processInstance.getId(), updateVariables);
}
if (Boolean.FALSE.equals(handleResponse)) {
return;
}
// 3.1 判断是否需要解析返回值
if (responseEntity == null
|| StrUtil.isEmpty(responseEntity.getBody())
|| !responseEntity.getStatusCode().is2xxSuccessful()
|| CollUtil.isEmpty(response)) {
return;
}
// 3.2 解析返回值, 返回值必须符合 CommonResult 规范
CommonResult<Map<String, Object>> respResult = JsonUtils.parseObjectQuietly(responseEntity.getBody(),
new TypeReference<>() {});
if (respResult == null || !respResult.isSuccess()) {
return;
}
// 3.3 获取需要更新的流程变量
Map<String, Object> updateVariables = getNeedUpdatedVariablesFromResponse(respResult.getData(), response);
// 3.4 更新流程变量
if (CollUtil.isNotEmpty(updateVariables)) {
processInstanceService.updateProcessInstanceVariables(processInstance.getId(), updateVariables);
}
}

View File

@ -122,9 +122,6 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
@Resource
private BpmProcessIdRedisDAO processIdRedisDAO;
@Resource
private RestTemplate restTemplate;
// ========== Query 查询相关方法 ==========
@Override
@ -913,16 +910,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());
}
}
});
@ -935,18 +930,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();
BpmHttpRequestUtils.executeBpmHttpRequest(instance,
setting.getUrl(),
setting.getHeader(),
setting.getBody(),
true, setting.getResponse(),
restTemplate,
this);
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());
});
}

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());
}
}