|
@@ -192,13 +192,25 @@ public class SecondRecommendServiceImpl extends ServiceImpl<SecondRecommendMappe
|
|
|
List<StoreImg> storeImgs = storeImgMapper.selectList(query);
|
|
|
// 设置图片信息
|
|
|
if (storeImgs.size() > 0) {
|
|
|
- item.setImgList(storeImgs.stream().map(StoreImg::getImgUrl).toArray(String[]::new));
|
|
|
+ // 先按视频后缀排序,再按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::getFollowedId, item.getUserPhone()) // 商品图片
|
|
|
.eq(LifeFans::getDeleteFlag, 0)
|
|
|
.eq(LifeFans::getFansId, "user_" + phoneId);
|
|
|
List<LifeFans> lifeFans = lifeFansMapper.selectList(query1);
|
|
@@ -217,4 +229,50 @@ public class SecondRecommendServiceImpl extends ServiceImpl<SecondRecommendMappe
|
|
|
throw new Exception(e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ List<StoreImg> storeImgs = new ArrayList<>();
|
|
|
+ StoreImg storeImg = new StoreImg();
|
|
|
+ storeImg.setImgSort(4);
|
|
|
+ storeImg.setImgUrl("11111.mp4");
|
|
|
+ storeImgs.add(storeImg);
|
|
|
+ StoreImg storeImg1 = new StoreImg();
|
|
|
+ storeImg1.setImgSort(3);
|
|
|
+ storeImg1.setImgUrl("22222.jpg");
|
|
|
+ storeImgs.add(storeImg1);
|
|
|
+ StoreImg storeImg2 = new StoreImg();
|
|
|
+ storeImg2.setImgSort(2);
|
|
|
+ storeImg2.setImgUrl("33333.jpg");
|
|
|
+ storeImgs.add(storeImg2);
|
|
|
+ StoreImg storeImg3 = new StoreImg();
|
|
|
+ storeImg3.setImgSort(1);
|
|
|
+ storeImg3.setImgUrl("44444.mp4");
|
|
|
+ storeImgs.add(storeImg3);
|
|
|
+
|
|
|
+ // 先按视频后缀排序,再按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);
|
|
|
+
|
|
|
+ System.out.println(items);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static boolean isVideoUrl(String url) {
|
|
|
+ if (url == null) return false;
|
|
|
+ url = url.toLowerCase();
|
|
|
+ return url.endsWith(".mp4") ||
|
|
|
+ url.endsWith(".avi") ||
|
|
|
+ url.endsWith(".mov") ||
|
|
|
+ url.endsWith(".flv") ||
|
|
|
+ url.endsWith(".wmv") ||
|
|
|
+ url.endsWith(".mkv");
|
|
|
+ }
|
|
|
}
|