feat: back button + reopen for approved/rejected tickets

This commit is contained in:
pray4skylark
2026-06-08 18:01:53 +09:00
parent 3047354571
commit 969efe3fc3
3 changed files with 62 additions and 4 deletions
@@ -234,6 +234,19 @@ public class TicketService {
return toIssueTicket(ticketRepository.save(ticket));
}
@Transactional
public IssueTicket reopenTicket(Long ticketId) {
Ticket ticket = ticketRepository.findById(ticketId)
.orElseThrow(() -> new BusinessException(ErrorCode.TICKET_NOT_FOUND));
if (ticket.getStatus() != TicketStatus.APPROVED && ticket.getStatus() != TicketStatus.REJECTED) {
throw new BusinessException(ErrorCode.INVALID_STATUS);
}
ticket.setStatus(TicketStatus.PENDING_APPROVAL);
ticket.setApprovedBy(null);
ticket.setApprovedAt(null);
return toIssueTicket(ticketRepository.save(ticket));
}
private IssueTicket toIssueTicket(Ticket ticket) {
return new IssueTicket(
ticket.getTicketId(),