@@ -64,7 +64,7 @@ public class ComplaintEntityHandler implements RequestHandler {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
return switch (action) {
|
return switch (action) {
|
||||||
case "create" -> handleCreate(msgId, complaintRequest);
|
case "create" -> handleCreate(msgId, complaintRequest, userId);
|
||||||
case "get" -> handleGet(msgId, complaintRequest, userId);
|
case "get" -> handleGet(msgId, complaintRequest, userId);
|
||||||
case "get_all" -> handleGetAll(msgId, complaintRequest, emails);
|
case "get_all" -> handleGetAll(msgId, complaintRequest, emails);
|
||||||
case "get_by_violation" -> handleGetByViolation(msgId, complaintRequest, userId);
|
case "get_by_violation" -> handleGetByViolation(msgId, complaintRequest, userId);
|
||||||
@@ -81,12 +81,20 @@ public class ComplaintEntityHandler implements RequestHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private BaseResponse handleCreate(Integer msgId, ComplaintRequest req) {
|
private BaseResponse handleCreate(Integer msgId, ComplaintRequest req, Long userId) {
|
||||||
if (req.getViolationId() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(),
|
if (req.getViolationId() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(),
|
||||||
"violation_id is required");
|
"violation_id is required");
|
||||||
if (req.getComplaintText() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(),
|
if (req.getComplaintText() == null) return errorResponse(msgId, MessageCode.NOT_FOUND.getCode(),
|
||||||
"text is required");
|
"text is required");
|
||||||
|
|
||||||
|
ComplaintEntity complaintEntity = complaintEntityRepository.findById(req.getId()).orElse(null);
|
||||||
|
|
||||||
|
if (complaintEntity == null || !Objects.equals(
|
||||||
|
complaintEntity.getViolation().getFileEntity().getUserId(), userId)) {
|
||||||
|
return errorResponse(msgId, MessageCode.USER_NOT_HAD_PERMISSION.getCode(),
|
||||||
|
MessageCode.USER_NOT_HAD_PERMISSION.getDescription());
|
||||||
|
}
|
||||||
|
|
||||||
ComplaintResponse response = complaintService.createComplaint(req);
|
ComplaintResponse response = complaintService.createComplaint(req);
|
||||||
|
|
||||||
return successResponse(msgId, "Complaint created successfully", response);
|
return successResponse(msgId, "Complaint created successfully", response);
|
||||||
@@ -107,8 +115,8 @@ public class ComplaintEntityHandler implements RequestHandler {
|
|||||||
|
|
||||||
private BaseResponse handleGetAll(Integer msgId, ComplaintRequest req, List<String> emails) {
|
private BaseResponse handleGetAll(Integer msgId, ComplaintRequest req, List<String> emails) {
|
||||||
Pageable pageable = PageRequest.of(
|
Pageable pageable = PageRequest.of(
|
||||||
req.getPage() != null && req.getPage() > 0 ? req.getPage() - 1 : 0,
|
req.getPage() != null ? req.getPage() : 0,
|
||||||
req.getSize() != null && req.getSize() > 0 ? req.getSize() : 5,
|
req.getSize() != null ? req.getSize() : 5,
|
||||||
Sort.by(Sort.Direction.fromString(
|
Sort.by(Sort.Direction.fromString(
|
||||||
req.getSortDirection() != null ? req.getSortDirection() : "desc"),
|
req.getSortDirection() != null ? req.getSortDirection() : "desc"),
|
||||||
req.getSortBy() != null ? req.getSortBy() : "updatedAt"));
|
req.getSortBy() != null ? req.getSortBy() : "updatedAt"));
|
||||||
|
|||||||
Reference in New Issue
Block a user