From 180f89042cb9adaa65f44413678c2961e181118b Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Sat, 6 Sep 2025 01:04:15 +0800 Subject: [PATCH] =?UTF-8?q?refactor(questionnaire):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E9=97=AE=E5=8D=B7=E5=88=97=E8=A1=A8=E5=92=8C=E5=9B=9E=E7=AD=94?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=88=97=E8=A1=A8=E7=9A=84=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 QuestionnaireListResponse 和 ResponseListResponse 类移除 - 使用泛型化的 PageResponse 类作为列表响应的基类 - 更新相关接口和方法的返回类型 - 调整示例代码和测试用例 --- .../client/QuestionnaireClient.java | 7 ++-- .../dto/answer/ResponseListResponse.java | 12 ------- .../QuestionnaireListResponse.java | 13 ------- .../QuestionnaireIntegrationExample.java | 4 +-- .../QuestionnaireIntegrationService.java | 35 ++++++------------- 5 files changed, 15 insertions(+), 56 deletions(-) delete mode 100644 src/main/java/com/ycwl/basic/integration/questionnaire/dto/answer/ResponseListResponse.java delete mode 100644 src/main/java/com/ycwl/basic/integration/questionnaire/dto/questionnaire/QuestionnaireListResponse.java diff --git a/src/main/java/com/ycwl/basic/integration/questionnaire/client/QuestionnaireClient.java b/src/main/java/com/ycwl/basic/integration/questionnaire/client/QuestionnaireClient.java index 46b0c835..ff2586f1 100644 --- a/src/main/java/com/ycwl/basic/integration/questionnaire/client/QuestionnaireClient.java +++ b/src/main/java/com/ycwl/basic/integration/questionnaire/client/QuestionnaireClient.java @@ -1,11 +1,10 @@ package com.ycwl.basic.integration.questionnaire.client; import com.ycwl.basic.integration.common.response.CommonResponse; +import com.ycwl.basic.integration.common.response.PageResponse; import com.ycwl.basic.integration.questionnaire.dto.answer.ResponseDetailResponse; -import com.ycwl.basic.integration.questionnaire.dto.answer.ResponseListResponse; import com.ycwl.basic.integration.questionnaire.dto.answer.SubmitAnswerRequest; import com.ycwl.basic.integration.questionnaire.dto.questionnaire.CreateQuestionnaireRequest; -import com.ycwl.basic.integration.questionnaire.dto.questionnaire.QuestionnaireListResponse; import com.ycwl.basic.integration.questionnaire.dto.questionnaire.QuestionnaireResponse; import com.ycwl.basic.integration.questionnaire.dto.statistics.QuestionnaireStatistics; import org.springframework.cloud.openfeign.FeignClient; @@ -35,7 +34,7 @@ public interface QuestionnaireClient { * 获取问卷列表 */ @GetMapping("/questionnaires") - CommonResponse getQuestionnaireList( + CommonResponse> getQuestionnaireList( @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(required = false) String name, @@ -100,7 +99,7 @@ public interface QuestionnaireClient { * 获取回答记录列表 */ @GetMapping("/responses") - CommonResponse getResponseList( + CommonResponse> getResponseList( @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(required = false) Long questionnaireId, diff --git a/src/main/java/com/ycwl/basic/integration/questionnaire/dto/answer/ResponseListResponse.java b/src/main/java/com/ycwl/basic/integration/questionnaire/dto/answer/ResponseListResponse.java deleted file mode 100644 index 395e7995..00000000 --- a/src/main/java/com/ycwl/basic/integration/questionnaire/dto/answer/ResponseListResponse.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.ycwl.basic.integration.questionnaire.dto.answer; - -import com.ycwl.basic.integration.common.response.PageResponse; -import lombok.Data; - -@Data -public class ResponseListResponse extends PageResponse { - - public ResponseListResponse() { - super(); - } -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/questionnaire/dto/questionnaire/QuestionnaireListResponse.java b/src/main/java/com/ycwl/basic/integration/questionnaire/dto/questionnaire/QuestionnaireListResponse.java deleted file mode 100644 index e383583a..00000000 --- a/src/main/java/com/ycwl/basic/integration/questionnaire/dto/questionnaire/QuestionnaireListResponse.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.ycwl.basic.integration.questionnaire.dto.questionnaire; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.ycwl.basic.integration.common.response.PageResponse; -import lombok.Data; - -@Data -public class QuestionnaireListResponse extends PageResponse { - - public QuestionnaireListResponse() { - super(); - } -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/questionnaire/example/QuestionnaireIntegrationExample.java b/src/main/java/com/ycwl/basic/integration/questionnaire/example/QuestionnaireIntegrationExample.java index 0f1d4d33..69253681 100644 --- a/src/main/java/com/ycwl/basic/integration/questionnaire/example/QuestionnaireIntegrationExample.java +++ b/src/main/java/com/ycwl/basic/integration/questionnaire/example/QuestionnaireIntegrationExample.java @@ -1,5 +1,6 @@ package com.ycwl.basic.integration.questionnaire.example; +import com.ycwl.basic.integration.common.response.PageResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; import com.ycwl.basic.integration.questionnaire.dto.answer.AnswerRequest; import com.ycwl.basic.integration.questionnaire.dto.answer.ResponseDetailResponse; @@ -7,7 +8,6 @@ import com.ycwl.basic.integration.questionnaire.dto.answer.SubmitAnswerRequest; import com.ycwl.basic.integration.questionnaire.dto.question.CreateQuestionOptionRequest; import com.ycwl.basic.integration.questionnaire.dto.question.CreateQuestionRequest; import com.ycwl.basic.integration.questionnaire.dto.questionnaire.CreateQuestionnaireRequest; -import com.ycwl.basic.integration.questionnaire.dto.questionnaire.QuestionnaireListResponse; import com.ycwl.basic.integration.questionnaire.dto.questionnaire.QuestionnaireResponse; import com.ycwl.basic.integration.questionnaire.dto.statistics.QuestionnaireStatistics; import com.ycwl.basic.integration.questionnaire.service.QuestionnaireIntegrationService; @@ -126,7 +126,7 @@ public class QuestionnaireIntegrationExample { try { // 获取问卷列表(支持 fallback) - QuestionnaireListResponse listResponse = questionnaireService.getQuestionnaireList(1, 10, null, null, null); + PageResponse listResponse = questionnaireService.getQuestionnaireList(1, 10, null, null, null); log.info("✅ 问卷列表查询成功,总数: {}, 当前页数据: {}", listResponse.getTotal(), listResponse.getList().size()); diff --git a/src/main/java/com/ycwl/basic/integration/questionnaire/service/QuestionnaireIntegrationService.java b/src/main/java/com/ycwl/basic/integration/questionnaire/service/QuestionnaireIntegrationService.java index a858afe0..1d2c45d1 100644 --- a/src/main/java/com/ycwl/basic/integration/questionnaire/service/QuestionnaireIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/questionnaire/service/QuestionnaireIntegrationService.java @@ -2,13 +2,12 @@ package com.ycwl.basic.integration.questionnaire.service; import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; +import com.ycwl.basic.integration.common.response.PageResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; import com.ycwl.basic.integration.questionnaire.client.QuestionnaireClient; import com.ycwl.basic.integration.questionnaire.dto.answer.ResponseDetailResponse; -import com.ycwl.basic.integration.questionnaire.dto.answer.ResponseListResponse; import com.ycwl.basic.integration.questionnaire.dto.answer.SubmitAnswerRequest; import com.ycwl.basic.integration.questionnaire.dto.questionnaire.CreateQuestionnaireRequest; -import com.ycwl.basic.integration.questionnaire.dto.questionnaire.QuestionnaireListResponse; import com.ycwl.basic.integration.questionnaire.dto.questionnaire.QuestionnaireResponse; import com.ycwl.basic.integration.questionnaire.dto.statistics.QuestionnaireStatistics; import lombok.RequiredArgsConstructor; @@ -40,20 +39,13 @@ public class QuestionnaireIntegrationService { ); } - public QuestionnaireListResponse getQuestionnaireList(Integer page, Integer pageSize, - String name, Integer status, String createdBy) { + public PageResponse getQuestionnaireList(Integer page, Integer pageSize, + String name, Integer status, String createdBy) { log.info("获取问卷列表, page: {}, pageSize: {}, name: {}, status: {}, createdBy: {}", page, pageSize, name, status, createdBy); - return fallbackService.executeWithFallback( - SERVICE_NAME, - "questionnaire:list:" + page + ":" + pageSize + ":" + name + ":" + status + ":" + createdBy, - () -> { - CommonResponse response = - questionnaireClient.getQuestionnaireList(page, pageSize, name, status, createdBy); - return handleResponse(response, "获取问卷列表失败"); - }, - QuestionnaireListResponse.class - ); + CommonResponse> response = + questionnaireClient.getQuestionnaireList(page, pageSize, name, status, createdBy); + return handleResponse(response, "获取问卷列表失败"); } public QuestionnaireStatistics getStatistics(Long id) { @@ -69,20 +61,13 @@ public class QuestionnaireIntegrationService { ); } - public ResponseListResponse getResponseList(Integer page, Integer pageSize, Long questionnaireId, + public PageResponse getResponseList(Integer page, Integer pageSize, Long questionnaireId, String userId, String startTime, String endTime) { log.info("获取回答记录列表, page: {}, pageSize: {}, questionnaireId: {}, userId: {}", page, pageSize, questionnaireId, userId); - return fallbackService.executeWithFallback( - SERVICE_NAME, - "responses:list:" + page + ":" + pageSize + ":" + questionnaireId + ":" + userId, - () -> { - CommonResponse response = - questionnaireClient.getResponseList(page, pageSize, questionnaireId, userId, startTime, endTime); - return handleResponse(response, "获取回答记录列表失败"); - }, - ResponseListResponse.class - ); + CommonResponse> response = + questionnaireClient.getResponseList(page, pageSize, questionnaireId, userId, startTime, endTime); + return handleResponse(response, "获取回答记录列表失败"); } public ResponseDetailResponse getResponseDetail(Long id) {