| | |
| | | package com.oying.modules.pc.store.domain.dto; |
| | | |
| | | import com.oying.utils.StringUtils; |
| | | import lombok.Data; |
| | | import org.springframework.util.DigestUtils; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.util.StringJoiner; |
| | | |
| | | @Data |
| | | public class StoreCustomerQueryCriteria { |
| | | |
| | | private Long StoreId; |
| | | private Long storeId; |
| | | |
| | | private Long platformCategoryId; |
| | | |
| | | private String blurry; |
| | | |
| | | private Double longitude; // 中心点经度 |
| | | |
| | | private Double latitude; // 中心点纬度 |
| | | |
| | | private Integer radius = 10000; // 搜索半径(米) |
| | | |
| | | private Integer limit = 20; // 返回数量限制 |
| | | |
| | | private Integer page = 1; |
| | | |
| | | private Integer size = 10; |
| | | |
| | | public String buildConditionCacheKey() { |
| | | StringJoiner baseKeyJoiner = new StringJoiner("|"); |
| | | if (platformCategoryId != null) { |
| | | baseKeyJoiner.add("platformCategoryId=" + platformCategoryId); |
| | | } |
| | | if (StringUtils.isNotEmpty(blurry)) { |
| | | baseKeyJoiner.add("blurry=" + blurry); |
| | | } |
| | | if (longitude != null && latitude != null) { |
| | | baseKeyJoiner.add("longitude=" + longitude); |
| | | baseKeyJoiner.add("latitude=" + latitude); |
| | | } |
| | | if (StringUtils.isNotEmpty(blurry)) { |
| | | baseKeyJoiner.add("radius=" + radius); |
| | | } |
| | | // 使用MD5或SHA缩短键长度 |
| | | return "store:search:page:" + DigestUtils.md5DigestAsHex(baseKeyJoiner.toString().getBytes()); |
| | | } |
| | | |
| | | } |