lyhzzz 4 dias atrás
pai
commit
5ea04253b4

+ 19 - 1
src/main/java/com/fdkankan/ucenter/common/SceneEnum.java

@@ -64,7 +64,25 @@ public enum SceneEnum {
     public static SceneEnum getBySceneSource(Integer sceneSource,Integer isObj){
         SceneEnum[] values = SceneEnum.values();
         for (SceneEnum value : values) {
-            if(value.getSceneSource().contains(sceneSource) && value.getObj().equals(isObj)){
+
+            if(SceneSourceUtil.isLaser(sceneSource)){
+                if(value.getSceneSource().contains(sceneSource) && value.getObj().equals(isObj)){
+                    return value;
+                }
+            }else {
+                if(value.getSceneSource().contains(sceneSource)){
+                    return value;
+                }
+            }
+
+        }
+        return null;
+    }
+
+    public static SceneEnum getBySceneSource(Integer sceneSource){
+        SceneEnum[] values = SceneEnum.values();
+        for (SceneEnum value : values) {
+            if(value.getSceneSource().contains(sceneSource)){
                 return value;
             }
         }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/mapper/ISceneCooperationMapper.java

@@ -2,6 +2,7 @@ package com.fdkankan.ucenter.mapper;
 
 import com.fdkankan.ucenter.entity.SceneCooperation;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.ucenter.vo.response.SceneNumVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -21,4 +22,7 @@ public interface ISceneCooperationMapper extends BaseMapper<SceneCooperation> {
     Long getCooperationScenePlusNum(@Param("userId")Long userId,  @Param("sceneSource")List<Integer> sceneSourceList);
 
     Long getCooperationSceneProNum(@Param("userId") Long userId, @Param("sceneSource")List<Integer> sceneSourceList);
+    List<SceneNumVo> getGroupCooperationSceneProNum(@Param("userId")Long userId);
+
+    List<SceneNumVo> getGroupCooperationScenePlusNum(@Param("userId") Long userId);
 }

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/ISceneCooperationService.java

@@ -5,6 +5,7 @@ import com.fdkankan.ucenter.entity.*;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.ucenter.vo.request.SceneCooperationParam;
 import com.fdkankan.ucenter.vo.request.SceneParam;
+import com.fdkankan.ucenter.vo.response.SceneNumVo;
 
 import java.util.HashMap;
 import java.util.List;
@@ -20,6 +21,7 @@ import java.util.List;
 public interface ISceneCooperationService extends IService<SceneCooperation> {
 
     Long getCooperationSceneNum(Long userId, List<Integer> sceneSourceList);
+    List<SceneNumVo> getGroupCooperationSceneNum(Long userId);
 
     void deleteCooperationList(List<ScenePro> sceneProList, List<ScenePlus> scenePlusList,List<Long> userIds) ;
     void deleteCooperationList(List<String> numList,List<Long> userIds,String sceneType) ;

+ 9 - 0
src/main/java/com/fdkankan/ucenter/service/impl/SceneCooperationServiceImpl.java

@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.vo.request.SceneCooperationParam;
 import com.fdkankan.ucenter.vo.request.SceneParam;
+import com.fdkankan.ucenter.vo.response.SceneNumVo;
 import com.google.common.collect.Lists;
 import com.sun.org.apache.bcel.internal.generic.RET;
 import org.apache.commons.lang3.StringUtils;
@@ -81,6 +82,14 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
     }
 
     @Override
+    public List<SceneNumVo> getGroupCooperationSceneNum(Long userId) {
+        List<SceneNumVo> list = this.getBaseMapper().getGroupCooperationSceneProNum(userId);
+        List<SceneNumVo> list2 =this.getBaseMapper().getGroupCooperationScenePlusNum(userId);
+        list.addAll(list2);
+        return list;
+    }
+
+    @Override
     public void deleteCooperationList(List<ScenePro> sceneProList,List<ScenePlus> scenePlusList,List<Long> userIds) {
         if(CollectionUtils.isEmpty(sceneProList) && CollectionUtils.isEmpty(scenePlusList)){
             return;

+ 14 - 7
src/main/java/com/fdkankan/ucenter/service/impl/SceneProServiceImpl.java

@@ -165,29 +165,36 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
 
         List<SceneNumVo> groupBySceneSouceV3 = scenePlusService.getGroupBySceneSouceV3(user.getId());
         List<SceneNumVo> groupBySceneSouceV4 = scenePlusService.getGroupBySceneSouceV4(user.getId());
+        List<SceneNumVo> groupCooperationSceneNum = sceneCooperationService.getGroupCooperationSceneNum(user.getId());
+        Integer count = sceneService.getCountByUserId(user.getId());
+
         groupBySceneSouceV4.addAll(groupBySceneSouceV3);
+        groupBySceneSouceV4.addAll(groupCooperationSceneNum);
 
         SceneEnum[] values = SceneEnum.values();
         for (SceneEnum sceneEnum : values) {
             if(sceneEnum.getObj() == 0){
                 SceneNumVo sceneNumVo1 = fdkkLaserService.getLaserSceneNumByUser(token, sceneEnum.getSceneSource().get(0));
                 hashMap.put(sceneEnum.getName(),sceneNumVo1);
-            }else {
-                Long cooperationSceneNum = sceneCooperationService.getCooperationSceneNum(user.getId(), sceneEnum.getSceneSource());
-                SceneNumVo vo = new SceneNumVo();
-                vo.setCooperationSceneNum(cooperationSceneNum);
-                hashMap.put(sceneEnum.getName(),vo);
+            }else  if(sceneEnum.getName().equals("kk")){
+                SceneNumVo sceneNumVo = new SceneNumVo();
+                sceneNumVo.setSceneNum(Long.valueOf(count));
+                hashMap.put(sceneEnum.getName(),sceneNumVo);
+            } else {
+                hashMap.put(sceneEnum.getName(),new SceneNumVo());
             }
+
         }
 
         for (SceneNumVo vo : groupBySceneSouceV4) {
             SceneEnum sceneEnum = SceneEnum.getBySceneSource(vo.getType(), vo.getIsObj());
-            if(sceneEnum == null){
+            if(sceneEnum == null || sceneEnum.getObj() ==0){
                 continue;
             }
             SceneNumVo sceneNumVo = hashMap.get(sceneEnum.getName());
             sceneNumVo.setSceneNum( sceneNumVo.getSceneNum() + vo.getSceneNum() );
-            sceneNumVo.setTotalNum(sceneNumVo.getSceneNum() + vo.getSceneNum());
+            sceneNumVo.setCooperationSceneNum( sceneNumVo.getCooperationSceneNum() + vo.getCooperationSceneNum() );
+            sceneNumVo.setTotalNum(sceneNumVo.getSceneNum() + sceneNumVo.getCooperationSceneNum());
             hashMap.put(sceneEnum.getName(),sceneNumVo);
         }
         return hashMap;

+ 16 - 0
src/main/resources/mapper/ucenter/SceneCooperationMapper.xml

@@ -21,4 +21,20 @@
             #{index}
         </foreach>
     </select>
+
+    <select id="getGroupCooperationSceneProNum" resultType="com.fdkankan.ucenter.vo.response.SceneNumVo">
+        SELECT scene_source as type,count(0) as cooperationSceneNum FROM t_scene_cooperation a
+        LEFT JOIN t_scene_pro b ON a.scene_num = b.num
+        WHERE a.rec_status = 'A' AND b.rec_status = 'A' AND b.is_upgrade = 0
+        AND a.user_id = #{userId}
+        group by scene_source
+    </select>
+    <select id="getGroupCooperationScenePlusNum" resultType="com.fdkankan.ucenter.vo.response.SceneNumVo">
+        SELECT scene_source as type,count(0) as cooperationSceneNum FROM t_scene_cooperation a
+        LEFT JOIN t_scene_plus b ON a.scene_num = b.num
+        WHERE a.rec_status = 'A' AND b.rec_status = 'A'
+        AND a.user_id = #{userId}
+        group by scene_source
+
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/mapper/ucenter/ScenePlusMapper.xml

@@ -103,7 +103,7 @@
 
     <select id="getGroupBySceneSouceV3" resultType="com.fdkankan.ucenter.vo.response.SceneNumVo">
         SELECT scene_source as type,count(1) as sceneNum,s.is_obj from t_scene_pro s
-        WHERE s.rec_status = 'A' and s.is_upgrade = 0
+        WHERE s.rec_status = 'A' and s.is_upgrade = 0 and s.user_id = #{userId}
         GROUP BY scene_source,is_obj
     </select>