feat(周报功能重构):生产个人周报时返回项目名

This commit is contained in:
wanjia 2025-05-22 16:26:29 +08:00
parent fe7c642a08
commit e6413d1efe
1 changed files with 47 additions and 2 deletions

View File

@ -18,6 +18,7 @@ import com.microservices.pms.product.service.IPmsProductRequirementService;
import com.microservices.pms.project.domain.PmsProject; import com.microservices.pms.project.domain.PmsProject;
import com.microservices.pms.project.domain.SimpleRepository; import com.microservices.pms.project.domain.SimpleRepository;
import com.microservices.pms.project.domain.vo.*; import com.microservices.pms.project.domain.vo.*;
import com.microservices.pms.project.mapper.PmsProjectMapper;
import com.microservices.pms.project.mapper.PmsProjectSprintMapper; import com.microservices.pms.project.mapper.PmsProjectSprintMapper;
import com.microservices.pms.project.mapper.PmsProjectTestsheetMapper; import com.microservices.pms.project.mapper.PmsProjectTestsheetMapper;
import com.microservices.pms.utils.PmsConstants; import com.microservices.pms.utils.PmsConstants;
@ -80,6 +81,8 @@ public class PmsProjectIssuesService {
private PmsProjectSprintMapper pmsProjectSprintMapper; private PmsProjectSprintMapper pmsProjectSprintMapper;
@Resource @Resource
private PmsProjectTestsheetMapper pmsProjectTestsheetMapper; private PmsProjectTestsheetMapper pmsProjectTestsheetMapper;
@Resource
private PmsProjectMapper pmsProjectMapper;
public JSONObject selectPmsProjectIssuesList(PmsProjectIssuesSearchVo pmsProjectIssuesSearchVo) { public JSONObject selectPmsProjectIssuesList(PmsProjectIssuesSearchVo pmsProjectIssuesSearchVo) {
@ -107,6 +110,49 @@ public class PmsProjectIssuesService {
return issueListResult; return issueListResult;
} }
public JSONObject enrichProjectIssueList(JSONObject issueListResult) {
HashMap<Long, String> gitlinkUserNickNameMap = new HashMap<>();
if (issueListResult.containsKey("this_week_all_issues")) {
JSONArray issues = issueListResult.getJSONArray("this_week_all_issues");
for (int i = 0; i < issues.size(); i++) {
JSONObject issue = issues.getJSONObject(i);
setIssueAssignersState(issue, gitlinkUserNickNameMap);
setIssuePmsProjectName(issue);
issues.set(i, issue);
}
issueListResult.put("this_week_all_issues", issues);
}
if (issueListResult.containsKey("next_week_all_issues")) {
JSONArray issues = issueListResult.getJSONArray("next_week_all_issues");
for (int i = 0; i < issues.size(); i++) {
JSONObject issue = issues.getJSONObject(i);
setIssueAssignersState(issue, gitlinkUserNickNameMap);
setIssuePmsProjectName(issue);
issues.set(i, issue);
}
issueListResult.put("next_week_all_issues", issues);
}
if (issueListResult.containsKey("close_task_issues")) {
JSONArray issues = issueListResult.getJSONArray("close_task_issues");
for (int i = 0; i < issues.size(); i++) {
JSONObject issue = issues.getJSONObject(i);
setIssueAssignersState(issue, gitlinkUserNickNameMap);
setIssuePmsProjectName(issue);
issues.set(i, issue);
}
issueListResult.put("close_task_issues", issues);
}
return issueListResult;
}
private void setIssuePmsProjectName(JSONObject issue) {
if (issue.containsKey("pm_project_id")) {
Long pmProjectId = issue.getLong("pm_project_id");
PmsProject pmsProject = pmsProjectMapper.selectPmsProjectById(pmProjectId);
issue.put("pm_project_name", pmsProject.getProjectName());
}
}
public JSONObject insertPmsProjectIssuesRestricted(PmsProjectIssuesInputVo pmsProjectIssuesInputVo) { public JSONObject insertPmsProjectIssuesRestricted(PmsProjectIssuesInputVo pmsProjectIssuesInputVo) {
PmsProject pmsProject = pmsProjectService.selectAndCheckPmsProjectById(pmsProjectIssuesInputVo.getPmProjectId()); PmsProject pmsProject = pmsProjectService.selectAndCheckPmsProjectById(pmsProjectIssuesInputVo.getPmProjectId());
if (pmsProject.getPmsProductId() != null if (pmsProject.getPmsProductId() != null
@ -633,8 +679,7 @@ public class PmsProjectIssuesService {
public JSONObject getPersonalIssuesStatistics(String enterpriseIdentifier) { public JSONObject getPersonalIssuesStatistics(String enterpriseIdentifier) {
Long gitlinkUserId = SecurityUtils.getGitlinkUserId(); Long gitlinkUserId = SecurityUtils.getGitlinkUserId();
return gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_WEEKLY_ISSUES_PERSONAL(enterpriseIdentifier, gitlinkUserId)); return enrichProjectIssueList(gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_WEEKLY_ISSUES_PERSONAL(enterpriseIdentifier, gitlinkUserId)));
} }
public JSONObject getProjectTeamIssuesStatistics(String enterpriseIdentifier) { public JSONObject getProjectTeamIssuesStatistics(String enterpriseIdentifier) {