Przeglądaj źródła

场景编辑保存、场景查看等接口增加字段:loadingLogoFile

dengsixing 3 lat temu
rodzic
commit
7379852205

+ 12 - 9
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/controller/api/UserSceneController.java

@@ -6,6 +6,7 @@ import com.fdkankan.platform.user.service.IUserSceneService;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
@@ -32,14 +33,16 @@ public class UserSceneController extends BaseController {
 //
 //    }
 
-    /**
-     * 获取我的场景和协作场景数量
-     * @return
-     */
-    @PostMapping(value = "/findSceneNumber")
-    public ResultData findSceneNumber(String snCode) throws Exception{
-        Long userId = this.getUserId();
-        return userSceneService.findSceneNumber(userId, snCode);
-    }
+//    /**
+//     * 获取我的场景和协作场景数量
+//     * @return
+//     */
+//    @PostMapping(value = "/findSceneNumber")
+//    public ResultData findSceneNumber(String snCode) throws Exception{
+//        Long userId = this.getUserId();
+//        return userSceneService.findSceneNumber(userId, snCode);
+//    }
+
+
 
 }

+ 1 - 1
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/IUserSceneService.java

@@ -24,6 +24,6 @@ public interface IUserSceneService {
 
 //    Page<SceneVO> getScenes(String token, SceneParamVO param);
 
-    ResultData findSceneNumber(long userId, String snCode);
+//    ResultData findSceneNumber(long userId, String snCode);
 
 }

+ 21 - 21
4dkankan-center-platform/src/main/java/com/fdkankan/platform/user/service/impl/UserSceneServiceImpl.java

@@ -101,27 +101,27 @@ public class UserSceneServiceImpl implements IUserSceneService {
         return process;
     }
 
-    @Override
-    public ResultData findSceneNumber(long userId, String snCode) {
-        Map<String, Object> map = new HashMap<>();
-        Camera camera = null;
-        if (!ObjectUtils.isEmpty(snCode)) {
-            camera = cameraService.getBySnCode(snCode);
-            if(ObjectUtils.isEmpty(camera)){
-                map.put("sceneNum", 0);
-                map.put("cooperatimeNum", 0);
-                return ResultData.ok(map);
-            }
-        }
-
-        //双目场景数量
-        ResultData<SceneCnt> resultData = sceneUserSceneClient.getSceneCnt(userId, Objects.isNull(camera) ? null : camera.getId());
-        SceneCnt sceneCnt = resultData.getData();
-        map.put("sceneNum", sceneCnt.getSceneCnt() + sceneCnt.getSceneProCnt());
-        map.put("cooperatimeNum", sceneCnt.getCooperSceneCnt());
-
-        return ResultData.ok(map);
-    }
+//    @Override
+//    public ResultData findSceneNumber(long userId, String snCode) {
+//        Map<String, Object> map = new HashMap<>();
+//        Camera camera = null;
+//        if (!ObjectUtils.isEmpty(snCode)) {
+//            camera = cameraService.getBySnCode(snCode);
+//            if(ObjectUtils.isEmpty(camera)){
+//                map.put("sceneNum", 0);
+//                map.put("cooperatimeNum", 0);
+//                return ResultData.ok(map);
+//            }
+//        }
+//
+//        //双目场景数量
+//        ResultData<SceneCnt> resultData = sceneUserSceneClient.getSceneCnt(userId, Objects.isNull(camera) ? null : camera.getId());
+//        SceneCnt sceneCnt = resultData.getData();
+//        map.put("sceneNum", sceneCnt.getSceneCnt() + sceneCnt.getSceneProCnt());
+//        map.put("cooperatimeNum", sceneCnt.getCooperSceneCnt());
+//
+//        return ResultData.ok(map);
+//    }
 
 
 }

+ 6 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/bean/SceneJsonBean.java

@@ -148,8 +148,13 @@ public class SceneJsonBean {
     private Integer tags;
 
     /**
-     * 加载logo文件
+     * 加载logo名
      */
     private String loadingLogo;
 
+    /**
+     * 加载logo文件名
+     */
+    private String loadingLogoFile;
+
 }

+ 23 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/UserSceneController.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.controller.BaseController;
+import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.response.ResultData;
 import com.fdkankan.scene.service.IUserSceneService;
 import com.fdkankan.scene.vo.SceneParamVO;
@@ -46,6 +47,28 @@ public class UserSceneController extends BaseController {
         return userSceneService.findSceneNumber(userId, snCode);
     }
 
+    /**
+     * 获取用户场景记录
+     * @param param
+     * @return
+     */
+//    @ApiOperation("获取用户场景列表-文件夹形式")
+    @RequestMapping(value = "/newList", method = RequestMethod.POST)
+//    @ApiImplicitParams({
+//        @ApiImplicitParam(name = "pageNum", value = "分页", dataType = "number"),
+//        @ApiImplicitParam(name = "sceneSource", value = "0表示看看,1表示看见", dataType = "number"),
+//        @ApiImplicitParam(name = "sceneType", value = "场景类型,0表示其他,1表示文博,2表示地产,3表示电商,4表示餐饮,5表示家居", dataType = "number"),
+//        @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "String"),
+//        @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "String"),
+//        @ApiImplicitParam(name = "folderId", value = "文件夹id,根目录则不用传", dataType = "number"),
+//        @ApiImplicitParam(name = "folderType", value = "文件夹类型,根目录传,0我的场景,1协作场景", dataType = "number"),
+//        @ApiImplicitParam(name = "pageSize", value = "每页大小", dataType = "number")})
+    public ResultData<PageInfo<SceneVO>> getNewScenes(@RequestBody SceneParamVO param) throws Exception {
+        param.setUserId(this.getUserId());
+//        return userService.getNewScenes(userId, param);
+        return null;
+    }
+
 
 
 }

+ 7 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/SceneEditInfo.java

@@ -140,12 +140,18 @@ public class SceneEditInfo implements Serializable {
     private String entry;
 
     /**
-     * 加载logo文件
+     * 加载logo名
      */
     @TableField("loading_logo")
     private String loadingLogo;
 
     /**
+     * 加载logo文件名
+     */
+    @TableField("loading_logo_file")
+    private String loadingLogoFile;
+
+    /**
      * 创建时间
      */
     @TableField("create_time")

+ 2 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IUserSceneService.java

@@ -23,5 +23,7 @@ public interface IUserSceneService {
 
     ResultData findSceneNumber(long userId, String snCode) throws Exception;
 
+    ResultData getNewScenes(SceneParamVO param) throws Exception;
+
 
 }

+ 0 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneCooperationServiceImpl.java

@@ -211,7 +211,6 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
         page.getRecords().parallelStream().filter(object -> object instanceof SceneVO).forEach(object -> {
             SceneVO responseScene = (SceneVO) object;
             if (responseScene.getCameraId() != null) {
-//                CameraEntity cameraEntity = goodsService.findCameraById(responseScene.getCameraId());
                 ResultData<Camera> cameraResult = platformGoodsClient
                     .getCameraById(responseScene.getCameraId());
                 Camera camera = cameraResult.getData();

+ 0 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -114,7 +114,6 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 
         SceneEditInfo sceneEditInfo = BeanUtil.copyProperties(param, SceneEditInfo.class);
         sceneEditInfo.setSceneProId(scenePro.getId());
-        sceneEditInfo.setCreateTime(Calendar.getInstance().getTime());
         if(Objects.isNull(sceneEditInfoDb)){
             this.save(sceneEditInfo);
         }else{

+ 265 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/UserSceneServiceImpl.java

@@ -15,6 +15,7 @@ import com.fdkankan.platform.api.feign.PlatformUserClient;
 import com.fdkankan.platform.api.vo.Camera;
 import com.fdkankan.platform.api.vo.User;
 import com.fdkankan.scene.api.vo.SceneCnt;
+import com.fdkankan.scene.entity.Folder;
 import com.fdkankan.scene.entity.Scene;
 import com.fdkankan.scene.entity.SceneCooperation;
 import com.fdkankan.scene.entity.ScenePro;
@@ -27,6 +28,8 @@ import com.fdkankan.scene.service.ISceneService;
 import com.fdkankan.scene.service.IUserSceneService;
 import com.fdkankan.scene.vo.SceneParamVO;
 import com.fdkankan.scene.vo.SceneVO;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
@@ -39,6 +42,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.stream.Collectors;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 
 @Service
@@ -183,4 +187,265 @@ public class UserSceneServiceImpl implements IUserSceneService {
 
         return ResultData.ok(map);
     }
+
+    @Override
+    public ResultData getNewScenes(SceneParamVO param) throws Exception {
+
+        Long userId = param.getUserId();
+        if(param.getKeywordType().equals("userName") && StringUtils.isNotEmpty(param.getSearchKey())){
+
+            ResultData<List<User>> userLikeUserName = platformUserClient
+                .getUserLikeUserName("%" + param.getSearchKey() + "%");
+            if(!userLikeUserName.getSuccess()){
+                throw new Exception(ServerCode.FEIGN_REQUEST_FAILD.message());
+            }
+            List<User> userList = userLikeUserName.getData();
+            List<Long> userIds = userList.parallelStream().map(User::getId).collect(Collectors.toList());
+
+            List<SceneCooperation> sceneCooperationList = sceneCooperationService.list(
+                new LambdaQueryWrapper<SceneCooperation>()
+                    .select(SceneCooperation::getNum)
+                    .in(SceneCooperation::getUserId, userIds));
+
+            //获取所有协作场景的场景码集合
+            param.setNumList(sceneCooperationList.parallelStream().map(SceneCooperation::getNum).collect(Collectors.toList()));
+
+        }
+
+
+//        Map<String, Object> map = sceneService.getNewScenesPagerByUserId(userId, param);
+//        PageInfo<Object> pageInfo = (PageInfo<Object>) map.get("pageInfo");
+//        List<Object> list = pageInfo.getList();
+//        PageHelper.clearPage();
+//        list.parallelStream().filter(object -> object instanceof ResponseScene).forEach(object -> {
+//
+//                ResponseScene responseScene = (ResponseScene) object;
+//                // 当计算时,返回给前端的状态为计算中
+//                if (responseScene.getStatus() == -1) {
+//                    responseScene.setStatus(0);
+//                } else if (responseScene.getStatus() == 500) {
+//                    responseScene.setStatus(-1);
+//                }
+//                // 获取VrThumb
+//                SceneProEditEntity editEntity = sceneProEditService.findByProId(responseScene.getId());
+//                if (!ObjectUtils.isEmpty(editEntity)) {
+//                    responseScene.setVrNum(editEntity.getVrNum());
+//                }
+//                if (responseScene.getCameraId() != null) {
+//                    CameraEntity cameraEntity = goodsService.findCameraById(responseScene.getCameraId());
+//                    if (cameraEntity != null) {
+//                        responseScene.setChildName(cameraEntity.getChildName());
+//                        responseScene.setSnCode(cameraEntity.getSnCode());
+//                    }
+//                }
+//                SceneCooperationEntity sceneCooperationEntity = sceneCooperationService.findBySceneNum(responseScene.getNum());
+//                if (sceneCooperationEntity != null) {
+//                    responseScene.setCooperationUserId(String.valueOf(sceneCooperationEntity.getUserId()));
+//                    responseScene.setCooperationUserName(sceneCooperationService.findUserName(responseScene.getNum()));
+//                }
+//            }
+//        );
+//        return Result.success(map);
+        return null;
+    }
+
+    public Map<String, Object> getNewScenesPagerByUserId(Long userId, SceneParamVO param) throws Exception {
+
+        List<ScenePro> sceneEntityList = new ArrayList<>();
+        List<Folder> folderEntityList = new ArrayList<>();
+
+        boolean searchCamera = false;
+        List<Camera> cameraList = new ArrayList<>();
+
+        String sceneName = "";
+        if (StringUtils.isNotEmpty(param.getKeywordType())) {
+            if (param.getKeywordType().equals("sceneName")) {
+                sceneName = param.getSearchKey();
+            } else if (param.getKeywordType().equals("snCode") && Objects
+                .nonNull(param.getSearchKey())) {
+                ResultData<List<Camera>> cameraResult = platformGoodsClient
+                    .getCameraLikeSnCode(param.getSearchKey());
+                if (!cameraResult.getSuccess())
+                    throw new Exception(ServerCode.FEIGN_REQUEST_FAILD.message());
+                cameraList = cameraResult.getData();
+                searchCamera = true;
+
+            }
+
+        }
+
+        //根目录时,需要排除已经归类的场景
+//        if(param.getFolderId() == null){
+//            //查出所有已经归类的场景id
+//            Condition condition = new Condition(FolderEntity.class);
+//            condition.and().andEqualTo("userId", userId).andEqualTo("type", param.getFolderType());
+//            List<FolderEntity> folderList = folderService.findAll(condition, "create_time desc");
+//
+//            folderEntityList = folderList.parallelStream().filter(folder->ObjectUtils.isEmpty(folder.getParentId())).collect(Collectors.toList());
+//            // 查找所有的文件夹
+//            List<Long> folderIds = folderList.parallelStream().map(FolderEntity::getId).collect(Collectors.toList());
+//            List<Long> sceneIdList = new ArrayList<>();
+//            if(!ObjectUtils.isEmpty(folderIds)){
+//                Condition folderSceneCondition = new Condition(FolderSceneEntity.class);
+//                folderSceneCondition.and().andIn("folderId",folderIds);
+//                List<FolderSceneEntity> folderSceneEntities = folderSceneService.findAll(folderSceneCondition);
+//                sceneIdList = folderSceneEntities.parallelStream().map(FolderSceneEntity::getSceneId).collect(Collectors.toList());
+//            }
+//
+//            Condition sceneCondition = new Condition(SceneProEntity.class);
+//            sceneCondition.and().andEqualTo("userId", userId).andNotEqualTo("sceneSource", "11");
+//            if(sceneIdList.size() > 0){
+//                sceneCondition.and().andNotIn("id", sceneIdList);
+//            }
+//
+//            //协作者 检索
+//            if(param.getKeywordType().equals("userName") && StringUtils.isNotEmpty(param.getSearchKey()) ){
+//                if( param.getSceneNumList()!=null &&  param.getSceneNumList().size()>0) {
+//                    sceneCondition.and().andIn("num", param.getSceneNumList());
+//                }else{
+//                    sceneCondition.and().andEqualTo("num","");
+//                }
+//            }
+//
+//            if(!ObjectUtils.isEmpty(param.getSceneSource())){
+//                if(param.getSceneSource().contains(",")){
+//                    sceneCondition.and().andIn("sceneSource", Arrays.asList(param.getSceneSource().split(",")));
+//                }else{
+//                    sceneCondition.and().andEqualTo("sceneSource", param.getSceneSource());
+//                }
+//
+//            }
+//            if(StringUtil.isNotEmpty(param.getSceneType())){
+//                sceneCondition.and().andEqualTo("sceneType", param.getSceneType());
+//            }
+//            if(StringUtils.isNotEmpty(sceneName)){
+//                sceneCondition.and().andLike("sceneName", "%" + sceneName + "%");
+//            }
+//
+//            if(param.getStartTime() != null){
+//                sceneCondition.and().andGreaterThanOrEqualTo("createTime", param.getStartTime());
+//            }
+//            if(param.getEndTime() != null){
+//                sceneCondition.and().andLessThanOrEqualTo("createTime", param.getEndTime());
+//            }
+//            if(searchCamera){
+//                if(ObjectUtils.isEmpty(cameraEntities)){
+//                    sceneEntityList = new ArrayList<>();
+//                }else{
+//                    sceneCondition.and().andIn("cameraId", cameraEntities.stream().map(CameraEntity::getId).collect(Collectors.toList()));
+//                    sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc");
+//                }
+//            }else{
+//                sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc");
+//            }
+//        }else {
+//            //进入目录层级后,根据目录获取当前目录的所有场景
+//            Condition folderSceneCondition = new Condition(FolderSceneEntity.class);
+//            folderSceneCondition.and().andEqualTo("folderId", param.getFolderId());
+//
+//            List<FolderSceneEntity> folderSceneList = folderSceneService.findAll(folderSceneCondition, "create_time desc");
+//            List<Long> sceneIdList = folderSceneList.parallelStream().map(FolderSceneEntity::getSceneId).collect(Collectors.toList());
+//
+//            if(sceneIdList.size() > 0){
+//                Condition sceneCondition = new Condition(SceneProEntity.class);
+//                sceneCondition.and().andEqualTo("userId", userId).andNotEqualTo("sceneSource", "11").andIn("id", sceneIdList);
+//
+//                if(!ObjectUtils.isEmpty(param.getSceneSource())){
+//                    if(param.getSceneSource().contains(",")){
+//                        sceneCondition.and().andIn("sceneSource", Arrays.asList(param.getSceneSource().split(",")));
+//                    }else{
+//                        sceneCondition.and().andEqualTo("sceneSource", param.getSceneSource());
+//                    }
+//                }
+//
+//                //协作者 检索
+//                if(param.getKeywordType().equals("userName") && StringUtils.isNotEmpty(param.getSearchKey()) ){
+//                    if( param.getSceneNumList()!=null &&  param.getSceneNumList().size()>0) {
+//                        sceneCondition.and().andIn("num", param.getSceneNumList());
+//                    }else{
+//                        sceneCondition.and().andEqualTo("num","");
+//                    }
+//                }
+//
+//                if(StringUtil.isNotEmpty(param.getSceneType())){
+//                    sceneCondition.and().andEqualTo("sceneType", param.getSceneType());
+//                }
+//
+//
+//                if(StringUtils.isNotEmpty(sceneName)){
+//                    sceneCondition.and().andLike("sceneName", "%" + sceneName + "%");
+//                }
+//
+//                if(param.getStartTime() != null){
+//                    sceneCondition.and().andGreaterThanOrEqualTo("createTime", param.getStartTime());
+//                }
+//
+//                if(param.getEndTime() != null){
+//                    sceneCondition.and().andLessThanOrEqualTo("createTime", param.getEndTime());
+//                }
+//
+//                if(searchCamera){
+//                    if(ObjectUtils.isEmpty(cameraEntities)){
+//                        sceneEntityList = new ArrayList<>();
+//                    }else{
+//                        sceneCondition.and().andIn("cameraId", cameraEntities.stream().map(CameraEntity::getId).collect(Collectors.toList()));
+//                        sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc");
+//                    }
+//                }else{
+//                    sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc");
+//                }
+//            }
+//
+//            //获取文件夹数量
+//            Condition condition = new Condition(FolderEntity.class);
+//            condition.and().andEqualTo("userId", userId).andEqualTo("parentId", param.getFolderId());
+//            folderEntityList = folderService.findAll(condition, "create_time desc");
+//        }
+//        List<ResponseScene> responseScenes = sceneService.convertPro(sceneEntityList);
+//
+//        //当前文件夹所包含的所有场景数量
+//        Long sceneNum = 0L;
+//        List<ResponseFolder> responseFolderList = new ArrayList<>();
+//        List<SceneEntity> sceneList = new ArrayList<>();
+//
+//        List<Object> result = new ArrayList<>();
+//        if(!ObjectUtils.isEmpty(param.getSceneSource()) && StringUtil.isEmpty(param.getSceneType()) &&
+//            param.getStartTime() == null && param.getEndTime() == null){
+//
+//            responseFolderList = folderService.convert(folderEntityList);
+//            result.addAll(responseFolderList);
+//
+//            //根目录判断是否有双目文件夹
+//            if(param.getFolderId() == null && param.getSceneSource().contains("1")){
+//                //判断是否有双目场景,有则增加双目的文件夹
+//                Condition sceneCondition = new Condition(SceneEntity.class);
+//                sceneCondition.and().andEqualTo("userId", userId);
+//                sceneList = sceneService.findAll(sceneCondition, "create_time desc");
+//
+//                if(sceneList != null && sceneList.size() > 0){
+//                    ResponseFolder sceneFolder = new ResponseFolder();
+//                    sceneFolder.setName("双目文件夹");
+//                    //type为3,表示旧版双目相机场景
+//                    sceneFolder.setType(3);
+//                    sceneFolder.setIsFolder(1);
+//                    sceneFolder.setSceneNum(sceneList.size());
+//                    result.add(sceneFolder);
+//                }
+//            }
+//        }
+//
+//        //统计当前目录所有场景数量
+//        sceneNum += responseFolderList.parallelStream().mapToLong(ResponseFolder::getSceneNum).sum();
+//        sceneNum += sceneList.size();
+//        sceneNum += responseScenes.size();
+//        result.addAll(responseScenes);
+//
+//        PageInfo<Object> data = PageInfoUtils.list2PageInfo(result, param.getPageNum(), param.getPageSize());
+//
+//        Map<String, Object> map = new HashMap<>();
+//        map.put("sceneNum",  sceneNum);
+//        map.put("pageInfo", data);
+//        return map;
+        return null;
+    }
 }

+ 6 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneEditInfoParamVO.java

@@ -69,10 +69,15 @@ public class SceneEditInfoParamVO {
     private String description;
 
     /**
-     * 加载logo文件
+     * 加载logo名
      */
     private String loadingLogo;
 
+    /**
+     * 加载logo文件名
+     */
+    private String loadingLogoFile;
+
     private SceneEditControlsParamVO controls;
 
 

+ 10 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneEditInfoVO.java

@@ -76,6 +76,16 @@ public class SceneEditInfoVO implements Serializable {
      */
     private Integer videoCount;
 
+    /**
+     * 加载logo名
+     */
+    private String loadingFile;
+
+    /**
+     * 加载logo文件名
+     */
+    private String loadingLogoFile;
+
 
 
 

+ 6 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneInfoVO.java

@@ -133,9 +133,14 @@ public class SceneInfoVO {
     private Integer tags;
 
     /**
-     * 加载logo文件
+     * 加载logo名
      */
     private String loadingLogo;
 
+    /**
+     * 加载logo文件名
+     */
+    private String loadingLogoFile;
+
 
 }

+ 0 - 8
4dkankan-center-scene/src/main/resources/mapper/scene/SceneProMapper.xml

@@ -280,14 +280,6 @@
             and t.create_time <![CDATA[ <= ]]> #{endTime}
         </if>
         order by t.id desc
-
-
-
-
-
-
-
-
     </select>