From 85f8528b0cf05e88ea41e266af7211257399c494 Mon Sep 17 00:00:00 2001 From: backdev-1 Date: Mon, 25 May 2026 19:08:41 +0700 Subject: [PATCH] dev add complaint all info with pagination --- .../nocopy/configuration/HandlerConfig.java | 15 ++++++- .../nocopy/controller/ApiController.java | 39 +++++++++++++++++-- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/main/java/ru/soune/nocopy/configuration/HandlerConfig.java b/src/main/java/ru/soune/nocopy/configuration/HandlerConfig.java index b290ffc..39db7b4 100644 --- a/src/main/java/ru/soune/nocopy/configuration/HandlerConfig.java +++ b/src/main/java/ru/soune/nocopy/configuration/HandlerConfig.java @@ -75,7 +75,7 @@ public class HandlerConfig { } @Bean - public Map internalHandlers( + public Map internalInfoHandler( StatisticComplaintHandler statisticComplaintHandler, StatisticUserFilesHandler statisticUserHandler, StatisticTariffInfoFileHandler statisticTariffInfoFileHandler, @@ -86,7 +86,6 @@ public class HandlerConfig { StatisticTokenHandler statisticTokenHandler, StatisticIncomeHandler statisticIncomeHandler, MonitoringStatisticHandler monitoringStatisticHandler, - ControlComplaintHandler controlComplaintHandler, UserInfoHandler userInfoHandler ) { @@ -102,6 +101,18 @@ public class HandlerConfig { map.put(30026, statisticIncomeHandler); map.put(30027, monitoringStatisticHandler); map.put(30029, statisticComplaintHandler); + + return map; + } + + @Bean + public Map internalControlHandler( + ControlComplaintHandler controlComplaintHandler, + UserInfoHandler userInfoHandler + ) + { + Map map = new HashMap<>(); + map.put(30014, userInfoHandler); map.put(30030, controlComplaintHandler); return map; diff --git a/src/main/java/ru/soune/nocopy/controller/ApiController.java b/src/main/java/ru/soune/nocopy/controller/ApiController.java index 10862f0..864f5e4 100644 --- a/src/main/java/ru/soune/nocopy/controller/ApiController.java +++ b/src/main/java/ru/soune/nocopy/controller/ApiController.java @@ -59,7 +59,9 @@ public class ApiController { private final Map handlers; - private final Map internalHandlers; + private final Map internalInfoHandler; + + private final Map internalControlHandler; private final FileEntityService fileEntityService; @@ -128,11 +130,40 @@ public class ApiController { } } - @PostMapping("/internal/data") - public ResponseEntity handleInternalPostRequest(@RequestBody BaseRequest request) { + @PostMapping("/internal/data-info") + public ResponseEntity handleInternalInfoPostRequest(@RequestBody BaseRequest request) { Integer msgId = request.getMsgId(); BaseResponse response; - RequestHandler internalHandler = internalHandlers.get(msgId); + RequestHandler internalHandler = internalInfoHandler.get(msgId); + + try { + if (internalHandler == null) { + response = new BaseResponse(msgId, + MessageCode.MSG_ID_NOT_FOUND.getCode(), + MessageCode.MSG_ID_NOT_FOUND.getDescription(), + new HashMap<>()); + } else { + response = internalHandler.handle(request); + } + + return ResponseEntity.ok().body(response); + } catch (Exception e) { + log.error("Handler execution failed for msgId: {}", msgId, e); + + BaseResponse errorResponse = new BaseResponse(msgId, + MessageCode.INVALID_JSON_BODY.getCode(), + MessageCode.INVALID_JSON_BODY.getDescription(), + new HashMap<>()); + + return ResponseEntity.ok().body(errorResponse); + } + } + + @PostMapping("/internal/data-control") + public ResponseEntity handleInternalControlPostRequest(@RequestBody BaseRequest request) { + Integer msgId = request.getMsgId(); + BaseResponse response; + RequestHandler internalHandler = internalControlHandler.get(msgId); try { if (internalHandler == null) {