zjy 5 dagar sedan
förälder
incheckning
9e722956d5

+ 41 - 38
alien-second/src/main/java/shop/alien/second/service/impl/SecondRecommendServiceImpl.java

@@ -191,47 +191,50 @@ public class SecondRecommendServiceImpl extends ServiceImpl<SecondRecommendMappe
             }
             SecondGoodsRecommendVo item = mapper.querySecondGoodsDetail(goodsId, "user_" + phoneId, position);
 
-            // 设置图片信息
-            QueryWrapper<StoreImg> query = new QueryWrapper<>();
-            query.lambda()
-                    .eq(StoreImg::getImgType, 18) // 商品 图片
-                    .eq(StoreImg::getDeleteFlag, 0)
-                    .eq(StoreImg::getStoreId, goodsId);
-            List<StoreImg> storeImgs = storeImgMapper.selectList(query);
-            // 设置图片信息
-            if (storeImgs.size() > 0) {
-                // 先按视频后缀排序,再按ImgSort排序
-                String[] items = storeImgs.stream()
-                        .sorted((o1, o2) -> {
-                            boolean o1IsMp4 = isVideoUrl(o1.getImgUrl());
-                            boolean o2IsMp4 = isVideoUrl(o2.getImgUrl());
-                            // 如果都是.mp4或都不是.mp4,则按ImgSort排序
-                            if (o1IsMp4 && o2IsMp4 || !o1IsMp4 && !o2IsMp4) {
-                                return o1.getImgSort().compareTo(o2.getImgSort());
-                            }
-                            // 否则,.mp4的排在前面
-                            return o1IsMp4 ? -1 : 1;
-                        }).map(StoreImg::getImgUrl).toArray(String[]::new);
-                item.setImgList(items);
-            }
+            if (item != null) {
+                // 设置图片信息
+                QueryWrapper<StoreImg> query = new QueryWrapper<>();
+                query.lambda()
+                        .eq(StoreImg::getImgType, 18) // 商品 图片
+                        .eq(StoreImg::getDeleteFlag, 0)
+                        .eq(StoreImg::getStoreId, goodsId);
+                List<StoreImg> storeImgs = storeImgMapper.selectList(query);
+                // 设置图片信息
+                if (storeImgs.size() > 0) {
+                    // 先按视频后缀排序,再按ImgSort排序
+                    String[] items = storeImgs.stream()
+                            .sorted((o1, o2) -> {
+                                boolean o1IsMp4 = isVideoUrl(o1.getImgUrl());
+                                boolean o2IsMp4 = isVideoUrl(o2.getImgUrl());
+                                // 如果都是.mp4或都不是.mp4,则按ImgSort排序
+                                if (o1IsMp4 && o2IsMp4 || !o1IsMp4 && !o2IsMp4) {
+                                    return o1.getImgSort().compareTo(o2.getImgSort());
+                                }
+                                // 否则,.mp4的排在前面
+                                return o1IsMp4 ? -1 : 1;
+                            }).map(StoreImg::getImgUrl).toArray(String[]::new);
+                    item.setImgList(items);
+                }
 
-            // 查看是否关注
-            QueryWrapper<LifeFans> query1 = new QueryWrapper<>();
-            query1.lambda()
-                    .eq(LifeFans::getFollowedId, item.getUserPhone()) // 商品图片
-                    .eq(LifeFans::getDeleteFlag, 0)
-                    .eq(LifeFans::getFansId, "user_" + phoneId);
-            List<LifeFans> lifeFans = lifeFansMapper.selectList(query1);
-            // 关注状态添加
-            if (lifeFans.size() > 0) {
-                item.setFansStatus(1);
-            }
+                // 查看是否关注
+                QueryWrapper<LifeFans> query1 = new QueryWrapper<>();
+                query1.lambda()
+                        .eq(LifeFans::getFollowedId, item.getUserPhone()) // 商品图片
+                        .eq(LifeFans::getDeleteFlag, 0)
+                        .eq(LifeFans::getFansId, "user_" + phoneId);
+                List<LifeFans> lifeFans = lifeFansMapper.selectList(query1);
+                // 关注状态添加
+                if (lifeFans.size() > 0) {
+                    item.setFansStatus(1);
+                }
 
-            // 距离拼接
-            if (StringUtil.isNotBlank(item.getDist())) {
-                item.setPosition("距离" + item.getDist() + "km");
+                // 距离拼接
+                if (StringUtil.isNotBlank(item.getDist())) {
+                    item.setPosition("距离" + item.getDist() + "km");
+                }
+                item.setPrice(item.getPrice() != null ? item.getAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString() : null);
             }
-            item.setPrice(item.getPrice() != null ? item.getAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString() : null);
+
             return item;
         } catch (Exception e) {
             log.error("SecondRecommendServiceImpl.querySecondGoodsDetail Error Mgs={}", e.getMessage());