From cd6fe3b57b1e9d4f7e14adedcd4948f9e0fd0ca5 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 28 Mar 2022 16:48:24 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E9=A1=B9=E7=9B=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ptos_tall/api/ProjectController.java | 18 +++++----- .../ptos_tall/service/IProjectService.java | 3 +- .../ptos_tall/service/ProjectService.java | 35 ++++++++++++++++--- .../tallsdk/api/ProjectController.java | 9 +++++ .../tallsdk/bean/dto/TallProjectDto.java | 11 ++++++ .../tallsdk/service/ITallService.java | 7 ++++ .../main/java/com/ccsens/util/CodeEnum.java | 2 +- 7 files changed, 69 insertions(+), 16 deletions(-) diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java index 9eb9f10..dea3ba3 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/api/ProjectController.java @@ -58,14 +58,14 @@ public class ProjectController { return JsonResponse.newInstance().ok(businessInfos); } -// @MustLogin -// @ApiOperation(value = "修改项目层级关系", notes = "当前版本任何人都可以移动项目") -// @RequestMapping(value = "/byPhone", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) -// public JsonResponse moveProject(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ -// log.info("修改项目层级关系:{}",params); -// projectService.moveProject(params.getParam()); -// log.info("修改项目层级关系成功"); -// return JsonResponse.newInstance().ok(); -// } + @MustLogin + @ApiOperation(value = "修改项目层级关系", notes = "当前版本任何人都可以移动项目") + @RequestMapping(value = "/drag", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse moveProject(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("修改项目层级关系:{}",params); + projectService.moveProject(params.getToken(),params.getParam()); + log.info("修改项目层级关系成功"); + return JsonResponse.newInstance().ok(); + } } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java index 0135cea..57d9b65 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/IProjectService.java @@ -32,7 +32,8 @@ public interface IProjectService { /** * 移动项目修改层级关系 + * @param token token * @param param 项目id */ - void moveProject(ProjectDto.MoveProject param); + void moveProject(String token,ProjectDto.MoveProject param); } diff --git a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java index dc74293..422b4dc 100644 --- a/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java +++ b/ptos_tall/src/main/java/com/ccsens/ptos_tall/service/ProjectService.java @@ -20,9 +20,11 @@ import com.ccsens.ptos_tall.persist.dao.SysAuthDao; import com.ccsens.ptos_tall.persist.mapper.OpenBusinessMapper; import com.ccsens.ptos_tall.util.PtOsCodeError; import com.ccsens.ptos_tall.util.PtOsConstant; +import com.ccsens.util.CodeEnum; import com.ccsens.util.JsonResponse; import com.ccsens.util.RestTemplateUtil; import com.ccsens.util.WebConstant; +import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -223,18 +225,41 @@ public class ProjectService implements IProjectService { } @Override - public void moveProject(ProjectDto.MoveProject param) { + public void moveProject(String token, ProjectDto.MoveProject param) { //TODO 当前版本不判断权限 //根据服务code查询服务 + OpenBusiness openBusiness; OpenBusinessExample openBusinessExample = new OpenBusinessExample(); openBusinessExample.createCriteria().andCodeEqualTo(param.getBusinessCode()); List openBusinesses = businessMapper.selectByExample(openBusinessExample); if(CollectionUtil.isEmpty(openBusinesses)){ return; } - openBusinesses.forEach(openBusiness -> { - //TODO 调用服务内的接口修改项目顺序 - - }); + openBusiness = openBusinesses.get(0); + if(ObjectUtil.isNotNull(openBusiness)){ + //调用服务内的接口 + String url = openBusiness.getUrl() + "/tall/project/drag"; + log.info("调用接口:{}--", url); + String postBody; + try{ + Map map = new HashMap<>(); + map.put(WebConstant.HEADER_KEY_TOKEN, token); + postBody = RestTemplateUtil.postBodySpecialHeader(url, param,map); + }catch (Exception e){ + log.error("移动项目列表接口失败--" + openBusiness.getName() + e); + throw new BaseException(CodeEnum.THIRD_ERROR); + } + if(StrUtil.isBlank(postBody)) { + throw new BaseException(CodeEnum.THIRD_ERROR); + } + JSONObject jsonObject = JSONObject.parseObject(postBody); + log.info("接口返回:{}", jsonObject); + //请求正确返回则修改最后应答时间,否则无操作 + Integer code = jsonObject.getInteger("code"); + if (code == null || code != 200) { + String msg = jsonObject.getString("msg"); + throw new BaseException(code,StrUtil.isBlank(msg) ? null : msg); + } + } } } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java index 6ae860a..53018a4 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/api/ProjectController.java @@ -82,4 +82,13 @@ public class ProjectController { } + @ApiOperation(value = "拖拽项目", notes = "") + @RequestMapping(value = "/drag", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse dragProject(HttpServletRequest request, @ApiParam @Validated @RequestBody TallProjectDto.MoveProject params) throws Exception{ + log.info("删除项目:{}",params); + tallService.dragProject(request.getHeader(WebConstant.HEADER_KEY_TOKEN),params); + log.info("删除项目成功"); + return JsonResponse.newInstance().ok(); + } + } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallProjectDto.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallProjectDto.java index 6aa78c5..fdf713b 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallProjectDto.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/bean/dto/TallProjectDto.java @@ -41,4 +41,15 @@ public class TallProjectDto { @ApiModelProperty("结束时间") private Long endTime; } + + @Data + @ApiModel("移动项目位置(修改项目层级关系)") + public static class MoveProject{ + @ApiModelProperty("需要移动的项目id") + private Long moveProjectId; + @ApiModelProperty("目标项目的id") + private Long targetProjectId; + @ApiModelProperty("业务code") + private String businessCode; + } } diff --git a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java index 3a2bd06..296e036 100644 --- a/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java +++ b/tall_sdk/src/main/java/com/ccsensptos/tallsdk/service/ITallService.java @@ -101,4 +101,11 @@ public interface ITallService { * @param params 项目id */ void deleteProject(String token, TallProjectDto.ProjectById params); + + /** + * 移动项目,修改项目层级关系 + * @param token token + * @param params 项目id等信息 + */ + void dragProject(String token, TallProjectDto.MoveProject params); } diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 2f8f6f3..457234c 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -9,7 +9,7 @@ public enum CodeEnum { */ SUCCESS(200, "ok", true), SYS_ERROR(500, "网络繁忙,请您稍后重试", false), - THIRD_ERROR(-1, "调用第三方刚接口异常", false), + THIRD_ERROR(-1, "调用第三方接口异常", false), FILE_FORMAT_ERROR(1, "文件格式错误", true), AUDITED(2, "已经审核通过,不重复提交。", true),