From 37325b5b629a296230e87d41187742f843c7494c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 15 七月 2025 18:08:23 +0800
Subject: [PATCH] 文件ip迁移兼容

---
 business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 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 af1da78..fe982d1 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;
@@ -72,6 +73,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;
@@ -108,6 +110,9 @@
     private final ProcessLogService processLogService;
     private final ApplicationEventPublisher publisher;
     private final ProjectProcessMapper projectProcessMapper;
+
+    @Value("${targetIp}")
+    private String targetIp;
 
     /**
      * 瀹屾垚瀹℃牳浠诲姟
@@ -1687,10 +1692,28 @@
                     for (JSONObject oldField : oldFields) {
                         JSONObject options = oldField.getJSONObject("options");
                         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 鏆傛椂鍙鐞嗙敤鎴蜂换鍔′笂鐨勮〃鍗�

--
Gitblit v1.8.0