浏览代码

深时obj统计数量

lyhzzz 2 年之前
父节点
当前提交
6733db6361
共有 1 个文件被更改,包括 20 次插入2 次删除
  1. 20 2
      src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

+ 20 - 2
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -174,8 +174,26 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         LambdaQueryWrapper<ScenePlusExt> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(ScenePlusExt::getIsObj,1);
         List<ScenePlusExt> list = scenePlusExtService.list(wrapper);
-        long plusCount = list.size();
-        sceneNumVo.setCooperationSceneNum(0L);
+        List<Long> plusIds = list.stream().map(ScenePlusExt::getPlusId).collect(Collectors.toList());
+        long plusCount = 0L;
+        long cooperNum = 0L;
+        if(plusIds.size() >0){
+            LambdaQueryWrapper<ScenePlus> plusWr = new LambdaQueryWrapper<>();
+            plusWr.in(ScenePlus::getId,plusIds);
+            List<ScenePlus> plusList = scenePlusService.list(plusWr);
+            List<ScenePlus> userList = plusList.stream().filter(entity -> entity.getUserId().equals(userId)).collect(Collectors.toList());
+            plusCount = userList.size();
+
+            List<String> numList = plusList.stream().map(ScenePlus::getNum).collect(Collectors.toList());
+            HashMap<String, User> cooNumList = sceneCooperationService.getByNumList(numList);
+            for (String num : cooNumList.keySet()) {
+                if(cooNumList.get(num).getId().equals(userId)){
+                    cooperNum ++;
+                }
+            }
+
+        }
+        sceneNumVo.setCooperationSceneNum(cooperNum);
         sceneNumVo.setSceneNum(sceneNum + plusCount);
         sceneNumVo.setTotalNum(sceneNumVo.getSceneNum() + sceneNumVo.getCooperationSceneNum());
         return sceneNumVo;