diff --git a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java index 08643297d..609408baf 100644 --- a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java +++ b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectDeletionOperation.java @@ -48,9 +48,6 @@ public ProjectResponseRef deleteProject(ProjectRequestRef projectRequestRef) thr (requestRef) ->{ ExchangisEntityPostAction exchangisEntityPostAction = new ExchangisEntityPostAction(); exchangisEntityPostAction.setUser(requestRef.getCreateBy()); - HashMap labels = new HashMap<>(); - labels.put("route", "dev"); - exchangisEntityPostAction.addRequestPayload("labels", labels); return exchangisEntityPostAction; }, Map.class); if (Objects.isNull(entity)){ diff --git a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectGetOperation.java b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectGetOperation.java index b945242ab..13d7a7162 100644 --- a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectGetOperation.java +++ b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/operation/project/ExchangisProjectGetOperation.java @@ -44,26 +44,30 @@ protected Logger getLogger() { @Override public DSSProject getProject(ProjectRequestRef projectRequestRef) throws ExternalOperationFailedException { - LOG.info("delete project request => dss_projectId:{}, name:{}, createName:{}", projectRequestRef.getId(), + LOG.info("get project request => dss_projectId:{}, name:{}, createName:{}", projectRequestRef.getId(), projectRequestRef.getName(), projectRequestRef.getCreateBy()); - String url = requestURL("appProject/check"); - ExchangisEntityRespResult.BasicMessageEntity> entity = requestToGetEntity(url,projectRequestRef.getWorkspace(), projectRequestRef, - (requestRef) ->{ - ExchangisGetAction exchangisGetAction = new ExchangisGetAction(); - exchangisGetAction.setUser(requestRef.getCreateBy()); - exchangisGetAction.setParameter("keywords", projectRequestRef.getName()); - return (HttpExtAction) exchangisGetAction; + String url = requestURL("appProject/check/" + projectRequestRef.getName() + "/"); + ExchangisEntityRespResult.BasicMessageEntity> entity = requestToGetEntity(url, projectRequestRef.getWorkspace(), projectRequestRef, + (requestRef) -> { + ExchangisEntityPostAction exchangisEntityPostAction = new ExchangisEntityPostAction(); + exchangisEntityPostAction.setUser(requestRef.getCreateBy()); + return exchangisEntityPostAction; }, Map.class); - if (Objects.isNull(entity)){ + if (Objects.isNull(entity)) { throw new ExternalOperationFailedException(31020, "The response entity cannot be empty", null); } try { ExchangisEntityRespResult httpResult = entity.getResult(); + httpResult.getResponseBody(); Map resMap = AppConnUtils.getResponseMap(httpResult); - ExchangisProjectResponseRef responseRef = new ExchangisProjectResponseRef(httpResult, null); DSSProject dssProject = new DSSProject(); - Map payloadMap = (Map) resMap.get("payload"); - dssProject.setId(Long.parseLong(payloadMap.get("id").toString())); + Map dataMap = (Map) resMap.get("data"); + Map projectInfo = (Map) dataMap.get("projectInfo"); + //如果查询不到project,则无重复项目可以直接返回 + if (projectInfo == null) { + return null; + } + dssProject.setId(Long.parseLong(projectInfo.get("id").toString())); return dssProject; } catch (AppStandardErrorException e) { throw new ExternalOperationFailedException(90176, "search Exchangis Project failed when get HttpResult", e); @@ -82,4 +86,4 @@ public void setStructureService(StructureService structureService) { this.structureService = structureService; setSSORequestService(this.structureService); } -} +} \ No newline at end of file diff --git a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/ref/ExchangisProjectResponseRef.java b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/ref/ExchangisProjectResponseRef.java index 19336b9ba..4f50d9b0a 100644 --- a/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/ref/ExchangisProjectResponseRef.java +++ b/exchangis-plugins/exchangis-appconn/src/main/java/com/webank/wedatasphere/exchangis/dss/appconn/ref/ExchangisProjectResponseRef.java @@ -23,6 +23,11 @@ public ExchangisProjectResponseRef(ExchangisEntityRespResult result, this.projectRefId = projectId; } + public ExchangisProjectResponseRef(String responseBody, + int status){ + super(responseBody, status); + } + @Override public Long getProjectRefId() { return projectRefId; diff --git a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/ExchangisProjectRestfulApi.java b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/ExchangisProjectRestfulApi.java index 29dd594b5..3c3b1a9f8 100644 --- a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/ExchangisProjectRestfulApi.java +++ b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/ExchangisProjectRestfulApi.java @@ -122,6 +122,26 @@ public Message createProject(@Validated @RequestBody ExchangisProjectInfo projec return Message.error("Fail to create project (创建工程失败)"); } } + /** + * check project name + * @param request http request + * @param name project name + * @return + */ + @RequestMapping( value = "/check/{name}", method = RequestMethod.POST) + public Message getProjectByName(HttpServletRequest request, @PathVariable("name") String name) { + String username = SecurityFilter.getLoginUsername(request); + try { + ExchangisProjectInfo projectInfo = projectService.selectByName(name); + return ExchangisProjectRestfulUtils.dealOk("根据名字获取工程成功", + new Pair<>("projectInfo",projectInfo)); + } catch (Exception t) { + LOG.error("Failed to delete project for user {}", username, t); + return Message.error("Failed to delete project (根据名字获取工程失败)"); + } + + + } /** diff --git a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/external/ExchangisProjectDssAppConnRestfulApi.java b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/external/ExchangisProjectDssAppConnRestfulApi.java index a6274ce1a..bd44bcde8 100644 --- a/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/external/ExchangisProjectDssAppConnRestfulApi.java +++ b/exchangis-project/exchangis-project-server/src/main/java/com/webank/wedatasphere/exchangis/project/server/restful/external/ExchangisProjectDssAppConnRestfulApi.java @@ -124,6 +124,28 @@ public Message deleteProject(HttpServletRequest request, @PathVariable("name") S } + /** + * check project name + * @param request http request + * @param name project name + * @return + */ + @RequestMapping( value = "/check/{name}", method = RequestMethod.POST) + public Message getProjectByName(HttpServletRequest request, @PathVariable("name") String name) { + String username = SecurityFilter.getLoginUsername(request); + try { + ExchangisProjectInfo projectInfo = projectService.selectByName(name); + return ExchangisProjectRestfulUtils.dealOk("根据名字获取工程成功", + new Pair<>("projectInfo",projectInfo)); + } catch (Exception t) { + LOG.error("Failed to delete project for user {}", username, t); + return Message.error("Failed to delete project (根据名字获取工程失败)"); + } + + + } + + /** * @param username username * @param project project