From 3a7fb032c0b469b396f56d9a71a4ba2b765f173b Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Fri, 15 Mar 2024 11:09:10 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=A7=81=E6=9C=89=E7=9A=84=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E5=B7=A5=E5=8D=95(=E4=BE=9B=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E4=BD=BF=E7=94=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1112320942505984]新增一个私有的上报工单(供第三方使用) http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1112320942505984 --- .../api/processtask/ProcessTaskCreateApi.java | 2 ++ .../ProcessTaskCreatePublicServiceImpl.java | 29 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskCreateApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskCreateApi.java index eff2ba716..fb391c158 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskCreateApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskCreateApi.java @@ -44,6 +44,8 @@ public class ProcessTaskCreateApi extends PrivateApiComponentBase { @Param(name = "hidecomponentList", type = ApiParamType.JSONARRAY, desc = "term.itsm.hidecomponentlist"), @Param(name = "readcomponentList", type = ApiParamType.JSONARRAY, desc = "term.itsm.readcomponentlist"), @Param(name = "content", type = ApiParamType.STRING, desc = "common.content"), + @Param(name = "filePathPrefix", type = ApiParamType.STRING, defaultValue = "file:", desc = "common.filepathprefix"), + @Param(name = "filePathList", type = ApiParamType.JSONARRAY, desc = "common.filepathlist"), @Param(name = "fileIdList", type = ApiParamType.JSONARRAY, desc = "common.fileidlist"), @Param(name = "handlerStepInfo", type = ApiParamType.JSONOBJECT, desc = "term.itsm.handlerstepinfo"), @Param(name = "source", type = ApiParamType.STRING, desc = "common.source") diff --git a/src/main/java/neatlogic/module/process/service/ProcessTaskCreatePublicServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessTaskCreatePublicServiceImpl.java index 117d0b0ac..ee8673d36 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessTaskCreatePublicServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessTaskCreatePublicServiceImpl.java @@ -8,6 +8,8 @@ import neatlogic.framework.dao.mapper.UserMapper; import neatlogic.framework.dto.AuthenticationInfoVo; import neatlogic.framework.dto.UserVo; import neatlogic.framework.exception.user.UserNotFoundException; +import neatlogic.framework.file.dao.mapper.FileMapper; +import neatlogic.framework.file.dto.FileVo; import neatlogic.framework.form.attribute.core.FormAttributeHandlerFactory; import neatlogic.framework.form.attribute.core.FormHandlerBase; import neatlogic.framework.form.dao.mapper.FormMapper; @@ -33,7 +35,9 @@ import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import javax.activation.MimetypesFileTypeMap; import javax.annotation.Resource; +import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -65,6 +69,9 @@ public class ProcessTaskCreatePublicServiceImpl implements ProcessTaskCreatePubl @Resource private AuthenticationInfoService authenticationInfoService; + @Resource + private FileMapper fileMapper; + /** * 创建工单 * @@ -107,6 +114,28 @@ public class ProcessTaskCreatePublicServiceImpl implements ProcessTaskCreatePubl } paramObj.put("priorityUuid", priorityVo.getUuid()); } + // 附件传递文件路径 + JSONArray filePathList = paramObj.getJSONArray("filePathList"); + if( filePathList != null && filePathList.size() > 0 ){ + String filePathPrefix = paramObj.getString("filePathPrefix"); + JSONArray fileIdList = new JSONArray(); + MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap(); + for (Object filePath: filePathList ) { + File file = new File(filePath.toString()); + if(file.exists()){ + FileVo fileVo = new FileVo(); + fileVo.setName(file.getName()); + fileVo.setSize(file.length()); + fileVo.setUserUuid(userVo.getUuid()); + fileVo.setType("itsm"); //itsm + fileVo.setContentType(mimeTypesMap.getContentType(filePath.toString())); + fileVo.setPath(filePathPrefix + filePath); + fileMapper.insertFile(fileVo); + fileIdList.add(fileVo.getId()); + } + } + paramObj.put("fileIdList" , fileIdList); + } //流程 String processUuid = channelMapper.getProcessUuidByChannelUuid(channelVo.getUuid()); if (processMapper.checkProcessIsExists(processUuid) == 0) { -- Gitee