lyhzzz 8 maanden geleden
bovenliggende
commit
9ef38215c2

+ 8 - 39
src/main/java/com/fdkankan/agent/service/impl/SceneProServiceImpl.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.common.OssPath;
 import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.common.ResultCode;
+import com.fdkankan.agent.common.ResultData;
 import com.fdkankan.agent.entity.*;
 import com.fdkankan.agent.exception.BusinessException;
 import com.fdkankan.agent.httpClient.client.FdKKClient;
@@ -85,54 +86,22 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if(param.getType() == 3){ //双目lite
             return sceneService.pageList(param);
         }
-        //优化查询,去掉left join
-        //snCode 查询,userName 查询,companyId查询
-        //snCode回显,userName回显
-        if(StringUtils.isNotBlank(param.getSnCode())){
-            List<Camera> cameraList = cameraService.getLikeBySnCode(param.getSnCode());
-            List<Long> cameraIds = cameraList.stream().map(Camera::getId).collect(Collectors.toList());
-            param.setCameraIds(cameraIds);
-        }
         if(StringUtils.isNotBlank(param.getUserName())){
             List<User> userList = userService.getLikeByUserName(param.getUserName());
             List<Long> userIds = userList.stream().map(User::getId).collect(Collectors.toList());
             param.setUserIds(userIds);
         }
 
-        if(param.getAgentNew().getParentId() != null){ //分销商
-            AgentNew agentNew = agentNewService.getById(param.getAgentNew().getParentId());
-            param.setSubAgentId(param.getAgentId());
-            param.setAgentId(agentNew.getId());
-        }
-
         List<CameraDetail> details = cameraDetailService.getListByAgentId(param.getAgentId());
         List<Long> cameraIds = details.stream().map(CameraDetail::getCameraId).collect(Collectors.toList());
-        if(param.getCameraIds() == null ){
-            param.setCameraIds(cameraIds);
-        }else {
-            if(param.getCameraIds().isEmpty()){
-                return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
-            }
-            List<Long> intersection = cameraIds.stream().filter(param.getCameraIds()::contains).collect(Collectors.toList());
-            param.setCameraIds(intersection);
-        }
-        if((param.getCameraIds() != null && param.getCameraIds().size()<=0) || (param.getUserIds() != null && param.getUserIds().size()<=0)){
-            return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
+
+        List<Long> authCameraIds = agentNewCameraService.getBySubAgent(param.getAgentId());
+        if(!authCameraIds.isEmpty()) {
+            cameraIds.addAll(authCameraIds);
         }
-        if(param.getSubAgentId() != null){ //指定分销商查询
-            List<Long> subCameraIds = agentNewCameraService.getBySubAgent(param.getSubAgentId());
-            if(subCameraIds.isEmpty()){
-                return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
-            }
-            if(param.getCameraIds() != null && !param.getCameraIds().isEmpty()){
-                List<Long> newCameraIds = param.getCameraIds().stream().filter(subCameraIds::contains).collect(Collectors.toList());
-                param.setCameraIds(newCameraIds);
-                if(newCameraIds.isEmpty()){
-                    return PageInfo.PageInfo(new Page(param.getPageNum(),param.getPageSize()));
-                }
-            }else {
-                param.setCameraIds(subCameraIds);
-            }
+
+        if(cameraIds.isEmpty()){
+            return PageInfo.PageInfo(new Page<>(param.getPageNum(),param.getPageSize()));
         }
 
         Page<SceneVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);

+ 5 - 1
src/main/resources/mapper/agent/SceneProMapper.xml

@@ -7,7 +7,7 @@
         select s.scene_name ,s.num,s.create_time,s.space as sceneSize
         ,s.view_count,s.status,s.pay_status,'v3' as scene_version ,s.web_site , s.thumb
         ,null as algorithmTime,data_source,s.shoot_count,s.gps,s.user_id,s.camera_id
-        from t_scene_pro s
+        from t_scene_pro s left join t_camera a on s.camera_id = a.id
         <include refid="commonWhere"></include>
         <if test="param.sceneName != null and param.sceneName!='' ">
             and s.scene_name like concat ('%',#{param.sceneName},'%')
@@ -19,6 +19,7 @@
         ,algorithm_time,data_source,e.shoot_count,e.gps,s.user_id,s.camera_id
         from t_scene_plus s
         left join t_scene_plus_ext e on s.id = e.plus_id
+        left join t_camera a on s.camera_id = a.id
         <include refid="commonWhere"></include>
         <if test="param.sceneName != null and param.sceneName!='' ">
             and s.title like concat ('%',#{param.sceneName},'%')
@@ -70,6 +71,9 @@
         <if test="param.endTime !=null and param.endTime !='' ">
             and s.create_time &lt;= #{param.endTime}
         </if>
+        <if test="param.snCode !=null and param.snCode !='' ">
+            and a.sn_code like concat ('%', #{param.snCode},'%')
+        </if>
     </sql>
 
 </mapper>