diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/PmsProjectIssuesService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/PmsProjectIssuesService.java index 1fbad3887..5695552b9 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/PmsProjectIssuesService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/PmsProjectIssuesService.java @@ -68,38 +68,19 @@ public class PmsProjectIssuesService { JSONObject issueSearch = new JSONObject(); convertObjectToJSONObject(pmsProjectIssuesSearchVo, issueSearch, null); try { - return setProjectIssueUserState(gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ISSUE_LIST(issueSearch))); + return setProjectIssueListUserState(gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ISSUE_LIST(issueSearch))); } catch (URISyntaxException e) { throw new RuntimeException(e); } } - private JSONObject setProjectIssueUserState(JSONObject issueListResult) { + private JSONObject setProjectIssueListUserState(JSONObject issueListResult) { HashMap gitlinkUserNickNameMap = new HashMap<>(); if (issueListResult.containsKey("issues")) { JSONArray issues = issueListResult.getJSONArray("issues"); for (int i = 0; i < issues.size(); i++) { JSONObject issue = issues.getJSONObject(i); - if (issue.containsKey("assigners")) { - JSONArray assigners = issue.getJSONArray("assigners"); - for (int j = 0; j < assigners.size(); j++) { - JSONObject assigner = assigners.getJSONObject(j); - if (assigner.containsKey("id")) { - Long gitlinkUserId = assigner.getLong("id"); - String nickName; - if (gitlinkUserNickNameMap.containsKey(gitlinkUserId)) { - nickName = gitlinkUserNickNameMap.get(gitlinkUserId); - } else { - SimpleSysUser simpleSysUser = pmsCommonService.getSimpleSysUserByGitlinkUserId(gitlinkUserId); - nickName = simpleSysUser.getNickName(); - gitlinkUserNickNameMap.put(gitlinkUserId, nickName); - } - assigner.put("name", nickName); - } - assigners.set(j, assigner); - } - issue.put("assigners", assigners); - } + setIssueAssignersState(issue, gitlinkUserNickNameMap); issues.set(i, issue); } issueListResult.put("issues", issues); @@ -141,7 +122,7 @@ public class PmsProjectIssuesService { public JSONObject selectPmsProjectIssueById(Long id, Long pmProjectId) { PmsProject pmsProject = pmsProjectService.selectAndCheckPmsProjectById(pmProjectId); try { - JSONObject result = gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ISSUE(id, pmProjectId)); + JSONObject result = setProjectIssueUserState(gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ISSUE(id, pmProjectId))); result.put("pm_project_name", pmsProject.getProjectName()); return result; } catch (URISyntaxException e) { @@ -149,6 +130,36 @@ public class PmsProjectIssuesService { } } + + private JSONObject setProjectIssueUserState(JSONObject issueResult) { + HashMap gitlinkUserNickNameMap = new HashMap<>(); + setIssueAssignersState(issueResult, gitlinkUserNickNameMap); + return issueResult; + } + + private void setIssueAssignersState(JSONObject issueResult, HashMap gitlinkUserNickNameMap) { + if (issueResult.containsKey("assigners")) { + JSONArray assigners = issueResult.getJSONArray("assigners"); + for (int j = 0; j < assigners.size(); j++) { + JSONObject assigner = assigners.getJSONObject(j); + if (assigner.containsKey("id")) { + Long gitlinkUserId = assigner.getLong("id"); + String nickName; + if (gitlinkUserNickNameMap.containsKey(gitlinkUserId)) { + nickName = gitlinkUserNickNameMap.get(gitlinkUserId); + } else { + SimpleSysUser simpleSysUser = pmsCommonService.getSimpleSysUserByGitlinkUserId(gitlinkUserId); + nickName = simpleSysUser.getNickName(); + gitlinkUserNickNameMap.put(gitlinkUserId, nickName); + } + assigner.put("name", nickName); + } + assigners.set(j, assigner); + } + issueResult.put("assigners", assigners); + } + } + public JSONObject deletePmsProjectIssueByIds(Long[] ids, Long pmProjectId) { // 删除缺陷与测试单关联关系 pmsProjectTestsheetIssuesService.deletePmsProjectTestsheetIssuesByIssueIds(ids);