From 109cbb50d48867083e1a2c746a7ebc3c95cf3569 Mon Sep 17 00:00:00 2001 From: zepengdev <lzpsmith@outlook.com> Date: Thu, 26 Jun 2025 22:54:12 +0800 Subject: [PATCH] fix: 修正分页查询返回错误总数的问题 --- oying-system/src/main/java/com/oying/modules/pc/store/domain/dto/StoreQueryCriteria.java | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/pc/store/domain/dto/StoreQueryCriteria.java b/oying-system/src/main/java/com/oying/modules/pc/store/domain/dto/StoreQueryCriteria.java index 2d86a34..f2791d4 100644 --- a/oying-system/src/main/java/com/oying/modules/pc/store/domain/dto/StoreQueryCriteria.java +++ b/oying-system/src/main/java/com/oying/modules/pc/store/domain/dto/StoreQueryCriteria.java @@ -1,9 +1,11 @@ package com.oying.modules.pc.store.domain.dto; -import lombok.Data; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.util.DigestUtils; import java.io.Serializable; +import java.util.StringJoiner; /** * @author lzp @@ -15,9 +17,23 @@ @ApiModelProperty(value = "商户ID", example = "1") private Long merchantId; + private Long storeId; + + private Long platformCategoryId; + private String storeName; private Integer status; + + private String blurry; + + private Double longitude; // 中心点经度 + + private Double latitude; // 中心点纬度 + + private Integer radius = 10000; // 搜索半径(米) + + private Integer limit = 20; // 返回数量限制 @ApiModelProperty(value = "页码", example = "1") private Integer page = 1; @@ -25,7 +41,19 @@ @ApiModelProperty(value = "每页数据量", example = "10") private Integer size = 10; - @ApiModelProperty(value = "偏移量", hidden = true) - private long offset; + public String buildConditionCacheKey() { + StringJoiner baseKeyJoiner = new StringJoiner("|"); + baseKeyJoiner.add("merchantId=" + merchantId); + baseKeyJoiner.add("storeId=" + storeId); + baseKeyJoiner.add("platformCategoryId=" + platformCategoryId); + baseKeyJoiner.add("storeName=" + storeName); + baseKeyJoiner.add("status=" + status); + baseKeyJoiner.add("blurry=" + blurry); + baseKeyJoiner.add("longitude=" + longitude); + baseKeyJoiner.add("latitude=" + latitude); + baseKeyJoiner.add("radius=" + radius); + // 使用MD5或SHA缩短键长度 + return "store:search:page:" + DigestUtils.md5DigestAsHex(baseKeyJoiner.toString().getBytes()); + } } -- Gitblit v1.9.3