update 优化 支持前端返回节点扩展数据(按钮权限 抄送人 扩展变量)

This commit is contained in:
疯狂的狮子Li
2025-08-28 17:55:04 +08:00
parent 25de0b3530
commit ee02f46dfd
2 changed files with 29 additions and 0 deletions

View File

@ -5,12 +5,14 @@ import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.warm.flow.core.entity.User;
import org.dromara.workflow.common.constant.FlowConstant;
import org.dromara.workflow.domain.bo.FlowCopyBo;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 任务视图
@ -185,6 +187,20 @@ public class FlowTaskVo implements Serializable {
*/
private List<ButtonPermissionVo> buttonList;
/**
* 抄送对象 ID 集合
* <p>
* 根据扩展属性中 CopySettingEnum 类型的数据生成,存储需要抄送的对象 ID
*/
private List<FlowCopyBo> copyList;
/**
* 自定义参数 Map
* <p>
* 根据扩展属性中 VariablesEnum 类型的数据生成,存储 key=value 格式的自定义参数
*/
private Map<String, String> varList;
//业务扩展信息开始
/**
* 业务编码

View File

@ -601,6 +601,19 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
NodeExtVo nodeExtVo = flwNodeExtService.parseNodeExt(flowNode.getExt());
//设置按钮权限
flowTaskVo.setButtonList(nodeExtVo.getButtonPermissions());
if (CollUtil.isNotEmpty(nodeExtVo.getCopySettings())) {
List<FlowCopyBo> list = StreamUtils.toList(nodeExtVo.getCopySettings(), x -> {
FlowCopyBo bo = new FlowCopyBo();
Long id = Convert.toLong(x);
bo.setUserId(id);
bo.setUserName(userService.selectUserNameById(id));
return bo;
});
flowTaskVo.setCopyList(list);
} else {
flowTaskVo.setCopyList(new ArrayList<>());
}
flowTaskVo.setVarList(nodeExtVo.getVariables());
flowTaskVo.setNodeRatio(flowNode.getNodeRatio());
flowTaskVo.setApplyNode(flowNode.getNodeCode().equals(flwCommonService.applyNodeCode(task.getDefinitionId())));
return flowTaskVo;