diff --git a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java index 5ff971c..426cafd 100644 --- a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java +++ b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java @@ -187,7 +187,21 @@ public class LogService { public IssueResponse getIssueDetail(Long id) { LogIssueEntity issue = issueRepository.findById(id) .orElseThrow(() -> new IllegalArgumentException("Issue not found: " + id)); - return toIssueResponse(issue); + Pageable pageable = PageRequest.of(0, 20, Sort.by(Sort.Direction.DESC, "createdAt")); + List events = issueEventRepository + .findByIssueIdOrderByCreatedAtDesc(issue.getId(), pageable) + .getContent() + .stream() + .map(this::toIssueEventResponse) + .toList(); + return new IssueResponse( + issue.getId(), issue.getAppKey(), issue.getFingerprint(), + issue.getLevel(), + issue.getStatus() != null ? issue.getStatus() : (issue.isResolved() ? "resolved" : "open"), + issue.getTitle(), issue.getFirstSeenAt(), issue.getLastSeenAt(), + issue.getCount(), issue.getAffectedUsers(), issue.isResolved(), + issue.getAssignee(), issue.getPlatform(), issue.getRelease(), events + ); } @Transactional(readOnly = true)