From 20304a848dd20a7e646d18a4e1b0997a981eae17 Mon Sep 17 00:00:00 2001 From: hxh <762326930@qq.com> Date: Tue, 19 Mar 2024 14:22:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BB=9F=E4=B8=80=E5=A4=84=E7=90=86IPag?= =?UTF-8?q?e=E7=B1=BB=E5=9E=8B=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yxgh/base/GlobalSyResponseHandler.java | 29 ++++++++++++++++ .../main/java/com/kms/yxgh/base/ISyPage.java | 19 +++++++++++ .../main/java/com/kms/yxgh/base/SyPage.java | 33 +++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 shuili-system/src/main/java/com/kms/yxgh/base/GlobalSyResponseHandler.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/base/ISyPage.java create mode 100644 shuili-system/src/main/java/com/kms/yxgh/base/SyPage.java diff --git a/shuili-system/src/main/java/com/kms/yxgh/base/GlobalSyResponseHandler.java b/shuili-system/src/main/java/com/kms/yxgh/base/GlobalSyResponseHandler.java new file mode 100644 index 00000000..5c55dd0d --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/base/GlobalSyResponseHandler.java @@ -0,0 +1,29 @@ +package com.kms.yxgh.base; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.core.MethodParameter; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.http.server.ServerHttpResponse; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; + +@ControllerAdvice +public class GlobalSyResponseHandler implements ResponseBodyAdvice { + + @Override + public boolean supports(MethodParameter returnType, Class> converterType) { + return true; + } + + @Override + public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { + if (body instanceof IPage) { + return SyPage.of((IPage) body); + } else { + return body; + } + } +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/base/ISyPage.java b/shuili-system/src/main/java/com/kms/yxgh/base/ISyPage.java new file mode 100644 index 00000000..ecc42f3f --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/base/ISyPage.java @@ -0,0 +1,19 @@ +package com.kms.yxgh.base; + +import com.baomidou.mybatisplus.core.metadata.IPage; + +/** + * @ClassName: ISyPage + * @Description: TODO + * @Date: 2024/3/19 下午1:59 + * * + * @author: hxh + * @version: 1.0 + */ + +public interface ISyPage extends IPage { + + default Integer getCode() { + return 200; + } +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/base/SyPage.java b/shuili-system/src/main/java/com/kms/yxgh/base/SyPage.java new file mode 100644 index 00000000..ee348214 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/base/SyPage.java @@ -0,0 +1,33 @@ +package com.kms.yxgh.base; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @ClassName: SyPage + * @Description: TODO + * @Date: 2024/3/19 下午2:01 + * * + * @author: hxh + * @version: 1.0 + */ + +@Data +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SyPage extends Page implements ISyPage { + + public static ISyPage of(IPage page) { + SyPage syPage = new SyPage<>(); + syPage.setCurrent(page.getCurrent()); + syPage.setSize(page.getSize()); + syPage.setTotal(page.getTotal()); + syPage.setRecords(page.getRecords()); + syPage.setPages(page.getPages()); + return syPage; + } + +}