Commit cbe4a1e7 authored by 黎博's avatar 黎博

新增bug池里bug持续时间统计接口

parent 45ebcbe8
package cn.qg.holmes.controller.jira; package cn.qg.holmes.controller.jira;
import cn.qg.holmes.common.JsonResult; import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.entity.jira.JiraBugPool;
import cn.qg.holmes.entity.jira.SendScheduleVo; import cn.qg.holmes.entity.jira.SendScheduleVo;
import cn.qg.holmes.service.jira.JiraBugPoolService;
import cn.qg.holmes.service.jira.JiraIssueService; import cn.qg.holmes.service.jira.JiraIssueService;
import cn.qg.holmes.utils.DingdingUtils; import cn.qg.holmes.utils.DingdingUtils;
import com.atlassian.jira.rest.client.api.domain.Issue; import com.atlassian.jira.rest.client.api.domain.Issue;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -23,6 +26,9 @@ public class JiraController { ...@@ -23,6 +26,9 @@ public class JiraController {
@Autowired @Autowired
JiraIssueService jiraIssueService; JiraIssueService jiraIssueService;
@Autowired
JiraBugPoolService jiraBugPoolService;
@GetMapping("/report/project") @GetMapping("/report/project")
public void sendReportToDingdingGroup(String project, String webhook) throws Exception { public void sendReportToDingdingGroup(String project, String webhook) throws Exception {
Iterable<Issue> issues = jiraIssueService.getUnsolvedIssueListByProject(project); Iterable<Issue> issues = jiraIssueService.getUnsolvedIssueListByProject(project);
...@@ -66,4 +72,33 @@ public class JiraController { ...@@ -66,4 +72,33 @@ public class JiraController {
} }
return JsonResult.buildSuccessResult(result); return JsonResult.buildSuccessResult(result);
} }
@GetMapping("/bug/pool/caculate")
public JsonResult bugPoolCaculateFixTime() throws Exception {
QueryWrapper<JiraBugPool> jiraBugPoolQueryWrapper = new QueryWrapper<>();
jiraBugPoolQueryWrapper.eq("enable", 1);
List<JiraBugPool> jiraBugPoolList = jiraBugPoolService.list(jiraBugPoolQueryWrapper);
List<Map<String, Object>> mapList = new ArrayList<>();
for (JiraBugPool jiraBugPool : jiraBugPoolList) {
Issue issue = jiraIssueService.getJiraIssueByKey(jiraBugPool.getKey());
String resolveResult = issue.getStatus().getName();
DateTime startDate = issue.getCreationDate();
DateTime endDate;
// 如果已解决或已关闭,仅修改状态
if (resolveResult.equals("已解决") || resolveResult.equals("关闭")) {
// jiraBugPool.setEnable(0);
// 更新状态
// jiraBugPoolService.saveOrUpdate(jiraBugPool);
endDate = DateTime.parse(issue.getFieldByName("已解决").getValue().toString());
} else {
endDate = issue.getUpdateDate();
}
int duration = jiraIssueService.calculateBugFixTime(startDate, endDate);
Map<String, Object> map = new HashMap<>();
map.put("title", issue.getSummary());
map.put("解决时长", duration);
mapList.add(map);
}
return JsonResult.buildSuccessResult(mapList);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment