From 8d98a3403bd8ba92ef6c29c46d810a085a3dd1be Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 15 七月 2025 19:13:47 +0800 Subject: [PATCH] 文件ip迁移兼容 --- business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java | 49 ++++++++++++++++++++++++++++--------------------- 1 files changed, 28 insertions(+), 21 deletions(-) diff --git a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java index 24698d7..c39400e 100644 --- a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java @@ -20,6 +20,7 @@ import com.ycl.common.enums.business.TaskStatusEnum; import com.ycl.common.exception.CustomException; import com.ycl.common.utils.SecurityUtils; +import com.ycl.constant.ProjectConstant; import com.ycl.domain.dto.FlowCommentDto; import com.ycl.domain.dto.FlowNextDto; import com.ycl.domain.dto.FlowTaskDto; @@ -73,6 +74,7 @@ import org.flowable.task.api.history.HistoricTaskInstance; import org.flowable.task.api.history.HistoricTaskInstanceQuery; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -109,6 +111,9 @@ private final ProcessLogService processLogService; private final ApplicationEventPublisher publisher; private final ProjectProcessMapper projectProcessMapper; + + @Value("${targetIp}") + private String targetIp; /** * 瀹屾垚瀹℃牳浠诲姟 @@ -1812,6 +1817,7 @@ // 澶勭悊姣忎釜琛ㄥ崟鐨勬暟鎹� for (FormDetailVO formDetailVO : beforeNodes) { if (formDetailVO.getCurrent() && !currentNeedData) { + // 褰撳墠鑺傜偣鐨勮〃鍗曚篃瑕佸鐞唅p闂 continue; // 璺宠繃褰撳墠鑺傜偣锛屽洜涓哄綋鍓嶈妭鐐瑰湪鑾峰彇鍓嶇疆鑺傜偣鏃跺凡缁忚缃繃浜�(浣嗚〃鍗曟暟鎹病鏈夌粰) } @@ -1837,35 +1843,36 @@ if(CollectionUtils.isNotEmpty(oldFields)) { // 璁剧疆宸插~鍐欑殑琛ㄥ崟涓虹鐢ㄧ姸鎬� - if (disableInput) { - for (JSONObject oldField : oldFields) { - JSONObject options = oldField.getJSONObject("options"); + for (JSONObject oldField : oldFields) { + JSONObject options = oldField.getJSONObject("options"); + if (disableInput) { options.put("disabled", true); } + // 澶勭悊鏂囦欢涓婁紶ip闂 + if ("file-upload".equals(oldField.get("type"))) { + options.put("uploadURL", String.format("http://%s:10076/common/upload", this.targetIp)); + } } + formJson.put(ProcessConstants.WIDGET_LIST, oldFields); newP.put(ProcessConstants.TASK_FORM_KEY, formJson); newP.remove(formDetailVO.getBeforeNodeDefId() + "&" + ProcessConstants.TASK_FORM_KEY); + // 澶勭悊宸茬粡涓婁紶鐨勬枃浠剁殑ip鍦板潃 + for (String s : newP.keySet()) { + if (ProcessConstants.TASK_FORM_KEY.equals(s)) { + continue; + } + if (s.startsWith("fileupload")) { + List files = (List) newP.get(s); + for (Object file : files) { + LinkedHashMap<String, String> fileMap = (LinkedHashMap<String, String>) file; + String url = fileMap.get("url"); + fileMap.put("url", url.replace("42.193.1.25", this.targetIp)); + } + } + } formDetailVO.setFormJsonObj(newP); } - // TODO 鏆傛椂鍙鐞嗙敤鎴蜂换鍔′笂鐨勮〃鍗� -// if (StringUtils.isNotBlank(task.getFormKey())) { -// SysForm sysForm = sysFormService.selectSysFormById(Long.parseLong(task.getFormKey())); -// JSONObject data = JSONObject.parseObject(sysForm.getFormContent()); -// List<JSONObject> newFields = JSON.parseObject(JSON.toJSONString(data.get(ProcessConstants.WIDGET_LIST)), new TypeReference<List<JSONObject>>() { -// }); -// // 琛ㄥ崟鍥炴樉鏃� 鍔犲叆瀛愯〃鍗曚俊鎭埌娴佺▼鍙橀噺涓� -// for (JSONObject newField : newFields) { -// String key = newField.getString("id"); -// // 澶勭悊鍥剧墖涓婁紶缁勪欢鍥炴樉闂 -// if ("picture-upload".equals(newField.getString("type"))) { -// parameters.put(key, new ArrayList<>()); -// } else { -// parameters.put(key, null); -// } -// } -// oldFields.addAll(newFields); -// } } } -- Gitblit v1.8.0