|
|
@@ -222,63 +222,72 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
|
|
|
|
|
|
@Override
|
|
|
public IPage<SearchProdDto> getSearchProdDtoPageByProdName(Page page, SearchParam searchParam) {
|
|
|
- String lat = searchParam.getLat();
|
|
|
- String lon = searchParam.getLon();
|
|
|
- String distance = searchParam.getDistance();
|
|
|
|
|
|
- if (StringUtils.isNotEmpty(lat) && StringUtils.isNotEmpty(lon) && StringUtils.isNotEmpty(distance)) {
|
|
|
- List<ShopDetail> shopDetails = productMapper.queryShop(lat, lon, distance);
|
|
|
- List<Long> shopIds = shopDetails.stream().map(ShopDetail::getShopId).collect(Collectors.toList());
|
|
|
- if (CollectionUtil.isEmpty(shopDetails)) {
|
|
|
- return new Page<>();
|
|
|
- }
|
|
|
- IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdNameNew(page, searchParam, shopIds);
|
|
|
- for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
|
|
|
-
|
|
|
- List<SkuDto> skuList = skuMapper.listByProdId(searchProdDto.getProdId()).stream().map((sku) -> SkuDto.builder()
|
|
|
- .skuName(sku.getSkuName()).pic(sku.getPic()).skuScore(sku.getSkuScore()).price(sku.getPrice())
|
|
|
- .stocks(sku.getStocks()).properties(sku.getProperties()).skuId(sku.getSkuId())
|
|
|
- .build()).collect(Collectors.toList());
|
|
|
- searchProdDto.setSkuList(skuList);
|
|
|
- //计算出好评率
|
|
|
- if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
|
|
|
- searchProdDto.setPositiveRating(0.0);
|
|
|
- } else {
|
|
|
- searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
|
|
|
- }
|
|
|
- //计算销量
|
|
|
- searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
|
|
|
- }
|
|
|
- return searchProdDtoPage;
|
|
|
+ if (searchParam.getShopId() == null){
|
|
|
+ return new Page<>();
|
|
|
}
|
|
|
- IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdName2(page, searchParam);
|
|
|
- for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
|
|
|
- List<Sku> skus = skuMapper.listByProdId(searchProdDto.getProdId());
|
|
|
- List<SkuDto> skuList = new ArrayList<>();
|
|
|
- skus.forEach(sku -> {
|
|
|
- SkuDto skuDto = new SkuDto();
|
|
|
- skuDto.setSkuName(sku.getSkuName());
|
|
|
- skuDto.setPic(sku.getPic());
|
|
|
- skuDto.setSkuScore(sku.getSkuScore());
|
|
|
- skuDto.setPrice(sku.getPrice());
|
|
|
- skuDto.setStocks(sku.getStocks());
|
|
|
- skuDto.setProperties(sku.getProperties());
|
|
|
- skuDto.setSkuId(sku.getSkuId());
|
|
|
- skuList.add(skuDto);
|
|
|
- });
|
|
|
- searchProdDto.setSkuList(skuList);
|
|
|
- //计算出好评率
|
|
|
- if (Objects.nonNull(searchProdDto.getPraiseNumber()) && Objects.nonNull(searchProdDto.getProdCommNumber())) {
|
|
|
- if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
|
|
|
- searchProdDto.setPositiveRating(0.0);
|
|
|
- } else {
|
|
|
- searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
|
|
|
- }
|
|
|
- //计算销量
|
|
|
- searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
|
|
|
- }
|
|
|
+ if (searchParam.getChannelId() == null){
|
|
|
+ searchParam.setChannelId(3L);
|
|
|
}
|
|
|
- return searchProdDtoPage;
|
|
|
+ return productMapper.getSearchProdDtoPageByProdName(page, searchParam);
|
|
|
+
|
|
|
+// String lat = searchParam.getLat();
|
|
|
+// String lon = searchParam.getLon();
|
|
|
+// String distance = searchParam.getDistance();
|
|
|
+//
|
|
|
+// if (StringUtils.isNotEmpty(lat) && StringUtils.isNotEmpty(lon) && StringUtils.isNotEmpty(distance)) {
|
|
|
+// List<ShopDetail> shopDetails = productMapper.queryShop(lat, lon, distance);
|
|
|
+// List<Long> shopIds = shopDetails.stream().map(ShopDetail::getShopId).collect(Collectors.toList());
|
|
|
+// if (CollectionUtil.isEmpty(shopDetails)) {
|
|
|
+// return new Page<>();
|
|
|
+// }
|
|
|
+// IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdNameNew(page, searchParam, shopIds);
|
|
|
+// for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
|
|
|
+//
|
|
|
+// List<SkuDto> skuList = skuMapper.listByProdId(searchProdDto.getProdId()).stream().map((sku) -> SkuDto.builder()
|
|
|
+// .skuName(sku.getSkuName()).pic(sku.getPic()).skuScore(sku.getSkuScore()).price(sku.getPrice())
|
|
|
+// .stocks(sku.getStocks()).properties(sku.getProperties()).skuId(sku.getSkuId())
|
|
|
+// .build()).collect(Collectors.toList());
|
|
|
+// searchProdDto.setSkuList(skuList);
|
|
|
+// //计算出好评率
|
|
|
+// if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
|
|
|
+// searchProdDto.setPositiveRating(0.0);
|
|
|
+// } else {
|
|
|
+// searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
|
|
|
+// }
|
|
|
+// //计算销量
|
|
|
+// searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
|
|
|
+// }
|
|
|
+// return searchProdDtoPage;
|
|
|
+// }
|
|
|
+// IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdName2(page, searchParam);
|
|
|
+// for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
|
|
|
+// List<Sku> skus = skuMapper.listByProdId(searchProdDto.getProdId());
|
|
|
+// List<SkuDto> skuList = new ArrayList<>();
|
|
|
+// skus.forEach(sku -> {
|
|
|
+// SkuDto skuDto = new SkuDto();
|
|
|
+// skuDto.setSkuName(sku.getSkuName());
|
|
|
+// skuDto.setPic(sku.getPic());
|
|
|
+// skuDto.setSkuScore(sku.getSkuScore());
|
|
|
+// skuDto.setPrice(sku.getPrice());
|
|
|
+// skuDto.setStocks(sku.getStocks());
|
|
|
+// skuDto.setProperties(sku.getProperties());
|
|
|
+// skuDto.setSkuId(sku.getSkuId());
|
|
|
+// skuList.add(skuDto);
|
|
|
+// });
|
|
|
+// searchProdDto.setSkuList(skuList);
|
|
|
+// //计算出好评率
|
|
|
+// if (Objects.nonNull(searchProdDto.getPraiseNumber()) && Objects.nonNull(searchProdDto.getProdCommNumber())) {
|
|
|
+// if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
|
|
|
+// searchProdDto.setPositiveRating(0.0);
|
|
|
+// } else {
|
|
|
+// searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
|
|
|
+// }
|
|
|
+// //计算销量
|
|
|
+// searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// return searchProdDtoPage;
|
|
|
}
|
|
|
|
|
|
@Override
|