oying-system/src/main/java/com/oying/modules/pc/product/service/impl/ProductMerchantServiceImpl.java
@@ -129,7 +129,7 @@ productImageService.batchUpdate(request.getUpdatedImages()); } if (CollectionUtil.isNotEmpty(request.getNewImages())) { List<ProductImageCreateRequest> newImages = request.getNewImages().stream().peek(i->{i.setProductId(request.getProductId());}).collect(Collectors.toList()); List<ProductImageCreateRequest> newImages = request.getNewImages().stream().peek(i-> i.setProductId(request.getProductId())).collect(Collectors.toList()); productImageService.batchCreate(newImages); } } @@ -142,7 +142,7 @@ productLabelService.batchUpdate(request.getUpdatedLabels()); } if (CollectionUtil.isNotEmpty(request.getNewLabels())) { List<ProductLabel> newLabels = request.getNewLabels().stream().peek(i->{i.setProductId(request.getProductId());}).collect(Collectors.toList()); List<ProductLabel> newLabels = request.getNewLabels().stream().peek(i-> i.setProductId(request.getProductId())).collect(Collectors.toList()); productLabelService.batchCreate(newLabels); } } oying-system/src/main/java/com/oying/modules/pc/store/rest/StoreCustomerController.java
@@ -6,9 +6,6 @@ import com.oying.modules.pc.product.domain.enums.ProductStatusEnum; import com.oying.modules.pc.product.service.ProductService; import com.oying.modules.pc.store.domain.Store; import com.oying.modules.pc.store.domain.StoreQualification; import com.oying.modules.pc.store.domain.dto.StoreCustomerDetailDto; import com.oying.modules.pc.store.domain.dto.StoreQualificationQueryCriteria; import com.oying.modules.pc.store.domain.dto.StoreQueryCriteria; import com.oying.modules.pc.store.service.StoreQualificationService; import com.oying.modules.pc.store.service.StoreQueryService; @@ -54,7 +51,7 @@ for (Store store : stores) { store.setProducts(this.getProductsByStoreId(store.getStoreId())); } return ResponseEntity.ok(R.success(stores)); return ResponseEntity.ok(R.success(pagedStores)); } @GetMapping(value = "/{storeId}") oying-system/src/main/java/com/oying/modules/pc/store/service/impl/StoreQueryServiceImpl.java
@@ -1,5 +1,5 @@ package com.oying.modules.pc.store.service.impl; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.NumberUtil; import com.oying.modules.pc.store.domain.Store; import com.oying.modules.pc.store.domain.dto.StoreQueryCriteria; @@ -40,7 +40,7 @@ // 初始化缓存 List<Long> ids = storeMapper.queryStoreIds(criteria); for (Long id : ids) { redisTemplate.opsForZSet().add(setKey, 1, id); redisTemplate.opsForZSet().add(setKey, id, 1); } // 设置缓存过期时间 redisTemplate.expire(setKey, 30, TimeUnit.MINUTES); @@ -48,14 +48,16 @@ } // 2. 从ZSET获取分页ID Long offset = NumberUtil.mul(criteria.getPage(), criteria.getSize()).longValue(); long end = NumberUtil.add(offset, criteria.getSize()).longValue(); int current = (criteria.getPage() == null || criteria.getPage() < 1) ? 1 : criteria.getPage(); int offset = (current - 1) * criteria.getSize(); int end = offset + criteria.getSize() - 1; Set<Long> storeIds = Optional.ofNullable(redisTemplate.opsForZSet() .range(setKey, offset, end - 1)).orElse(Collections.emptySet()) .range(setKey, offset, end)) .orElse(Collections.emptySet()) .stream().map(i-> (Long) i).collect(Collectors.toSet()); // 3. 获取详情数据 List<Store> stores = storeService.listByIds(storeIds); List<Store> stores = Optional.ofNullable(storeService.listByIds(storeIds)).orElse(ListUtil.toList()); page.setContent(stores); page.setTotalElements(total); oying-system/src/main/resources/mapper/pc/product/ProductMapper.xml
@@ -60,10 +60,10 @@ and active = #{criteria.active} </if> </where> order by product_id desc <if test="criteria.limit != null"> limit #{criteria.limit} </if> order by product_id desc </select> </mapper>