77 lines
3.7 KiB
Java
77 lines
3.7 KiB
Java
package com.billpaymentservice.bbps.controller;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.http.MediaType;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import com.billpaymentservice.bbps.dto.ResponseModel;
|
|
import com.billpaymentservice.bbps.dto.request.AllMasterOptionsRequest;
|
|
import com.billpaymentservice.bbps.dto.request.ComplainStatusRequest;
|
|
import com.billpaymentservice.bbps.dto.request.ComplaintRequestDTO;
|
|
import com.billpaymentservice.bbps.dto.request.GetTicketLatestStausRequest;
|
|
import com.billpaymentservice.bbps.dto.request.ViewAllComplaintsTicketsRequest;
|
|
import com.billpaymentservice.bbps.service.ComplainService;
|
|
|
|
@RestController
|
|
@RequestMapping("/complaints")
|
|
@Validated
|
|
@CrossOrigin(origins = "*")
|
|
public class ComplainController {
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(ComplainController.class);
|
|
|
|
private final ComplainService complainService;
|
|
|
|
// ✅ Constructor name fixed and variable consistent
|
|
public ComplainController(ComplainService complainService) {
|
|
this.complainService = complainService;
|
|
}
|
|
|
|
@PostMapping(value = "/addComplainTicket", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
|
public ResponseEntity<ResponseModel> addComplain(@Validated @RequestBody ComplaintRequestDTO complainRequestDTO) {
|
|
|
|
ResponseModel response = complainService.addComplain(complainRequestDTO);
|
|
return ResponseEntity.ok(response);
|
|
}
|
|
|
|
@PostMapping(value = "/checkTicketStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
|
public ResponseEntity<ResponseModel> getComplaintStatus(@Validated @RequestBody GetTicketLatestStausRequest request) {
|
|
log.info("Received complaint status request for complaintId: {}", request.getTicketId());
|
|
ResponseModel response = complainService.getComplaintStatus(request);
|
|
return ResponseEntity.ok(response);
|
|
}
|
|
|
|
@PostMapping(value = "/viewComplainsTicketHistory", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
|
public ResponseEntity<ResponseModel> viewComplaintHistory(@Validated @RequestBody ComplainStatusRequest request) {
|
|
log.info("Received complaint View Complaint History request for ticketId: {}", request.getTicketId());
|
|
ResponseModel response = complainService.viewComplaintHistory(request);
|
|
return ResponseEntity.ok(response);
|
|
}
|
|
|
|
@PostMapping("/viewTicketById")
|
|
public ResponseEntity<ResponseModel> viewComplaintById(@Validated @RequestBody ComplainStatusRequest request) {
|
|
log.info("Received complaint View Complaint By ID request for complaintId: {}", request.getTicketId());
|
|
ResponseModel response = complainService.viewComplaintById(request);
|
|
return ResponseEntity.ok(response);
|
|
}
|
|
|
|
@PostMapping("/allMasterOptions")
|
|
public ResponseEntity<ResponseModel> getAllStatuses(@Validated @RequestBody AllMasterOptionsRequest request) {
|
|
return ResponseEntity.ok(complainService.getAllActiveStatuses(request));
|
|
}
|
|
|
|
@PostMapping("/viewAllComplaints")
|
|
public ResponseEntity<ResponseModel> viewAllComplaints(@RequestBody ViewAllComplaintsTicketsRequest request) {
|
|
log.info("Received request complaint View All Complaints for Status Type={}", request.getStatusType());
|
|
ResponseModel response = complainService.ViewAllComplaints(request);
|
|
return ResponseEntity.ok(response);
|
|
}
|
|
}
|