diff --git a/src/main/java/edu/whut/smilepicturebackend/service/impl/PictureServiceImpl.java b/src/main/java/edu/whut/smilepicturebackend/service/impl/PictureServiceImpl.java index de18835..10b7f51 100644 --- a/src/main/java/edu/whut/smilepicturebackend/service/impl/PictureServiceImpl.java +++ b/src/main/java/edu/whut/smilepicturebackend/service/impl/PictureServiceImpl.java @@ -619,15 +619,16 @@ public class PictureServiceImpl extends ServiceImpl ThrowUtils.throwIf(!hasPermission, ErrorCode.NO_AUTH_ERROR); } - // 把查询条件序列化成 JSON - String queryJson = JSONUtil.toJsonStr(Map.of( + Map params = Map.of( "spaceId", spaceId == null ? "public" : spaceId, - "category", queryRequest.getCategory(), - "tags", queryRequest.getTags(), - "searchText", queryRequest.getSearchText(), + "category", Optional.ofNullable(queryRequest.getCategory()).orElse(""), + "tags", Optional.ofNullable(queryRequest.getTags()).orElse(Collections.emptyList()), + "searchText", Optional.ofNullable(queryRequest.getSearchText()).orElse(""), "current", current, "size", size - )); + ); + // 把查询条件序列化成 JSON + String queryJson = JSONUtil.toJsonStr(params); // 计算 MD5 作为哈希(也可用 SHA256) String hash = DigestUtil.md5Hex(queryJson);