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 fdf5f76a5..1fbad3887 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 @@ -6,6 +6,7 @@ import com.microservices.common.core.exception.ServiceException; import com.microservices.common.core.utils.DateUtils; import com.microservices.common.httpClient.util.GitLinkRequestHelper; import com.microservices.common.security.utils.SecurityUtils; +import com.microservices.pms.common.service.IPmsCommonService; import com.microservices.pms.enterprise.domain.PmsEnterprise; import com.microservices.pms.enterprise.service.IPmsEnterpriseService; import com.microservices.pms.project.domain.PmsProject; @@ -14,6 +15,7 @@ import com.microservices.pms.project.domain.vo.*; import com.microservices.pms.utils.PmsConstants; import com.microservices.pms.utils.PmsGitLinkRequestUrl; import com.microservices.pms.utils.PmsUtils; +import com.microservices.system.api.domain.SimpleSysUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -57,18 +59,54 @@ public class PmsProjectIssuesService { @Autowired private IPmsEnterpriseService pmsEnterpriseService; + @Autowired + private IPmsCommonService pmsCommonService; + public JSONObject selectPmsProjectIssuesList(PmsProjectIssuesSearchVo pmsProjectIssuesSearchVo) { pmsProjectService.selectAndCheckPmsProjectById(pmsProjectIssuesSearchVo.getPmProjectId()); JSONObject issueSearch = new JSONObject(); convertObjectToJSONObject(pmsProjectIssuesSearchVo, issueSearch, null); try { - return gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ISSUE_LIST(issueSearch)); + return setProjectIssueUserState(gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ISSUE_LIST(issueSearch))); } catch (URISyntaxException e) { throw new RuntimeException(e); } } + private JSONObject setProjectIssueUserState(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); + } + issues.set(i, issue); + } + issueListResult.put("issues", issues); + } + return issueListResult; + } + public JSONObject insertPmsProjectIssues(PmsProjectIssuesInputVo pmsProjectIssuesInputVo) { pmsProjectService.selectAndCheckPmsProjectById(pmsProjectIssuesInputVo.getPmProjectId()); JSONObject issueInput = convertPmsProjectIssuesInputVoToIssueInputJSON(pmsProjectIssuesInputVo); @@ -235,8 +273,8 @@ public class PmsProjectIssuesService { convertObjectToJSONObject(pmsProjectIssueJournalAddVo, journalsJson, null); return gitLinkRequestHelper.doPost( PmsGitLinkRequestUrl.ADD_ISSUE_JOURNAL(issueId, - pmsProjectIssueJournalInputVo.getPmProjectId(), - pmsProjectIssueJournalInputVo.getPmProjectRepositoryId()), + pmsProjectIssueJournalInputVo.getPmProjectId(), + pmsProjectIssueJournalInputVo.getPmProjectRepositoryId()), journalsJson ); }