feat(用户身份状态管理): 成员移出组织/项目,原指派给这个成员的工作项/其他该怎么显示
设置Gitlink返回Issue中用户的状态 Signed-off-by: OTTO <731554297@qq.com>
This commit is contained in:
parent
f747001b5e
commit
ffb582c0a1
|
|
@ -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<Long, String> 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<Long, String> gitlinkUserNickNameMap = new HashMap<>();
|
||||
setIssueAssignersState(issueResult, gitlinkUserNickNameMap);
|
||||
return issueResult;
|
||||
}
|
||||
|
||||
private void setIssueAssignersState(JSONObject issueResult, HashMap<Long, String> 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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue