Browse Source

深时场景列表

lyhzzz 2 years ago
parent
commit
61c1abc997

+ 1 - 1
src/main/java/com/fdkankan/manage/controller/OverallController.java

@@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.response.ResultData;
-import com.fdkankan.manage.httpClient.OverallClient;
+import com.fdkankan.manage.httpClient.client.OverallClient;
 import com.fdkankan.manage.httpClient.vo.OverallParam;
 import com.fdkankan.manage.httpClient.vo.OverallVo;
 import org.springframework.web.bind.annotation.PostMapping;

+ 1 - 1
src/main/java/com/fdkankan/manage/controller/SceneController.java

@@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.ResultData;
-import com.fdkankan.manage.httpClient.FdKKClient;
+import com.fdkankan.manage.httpClient.client.FdKKClient;
 import com.fdkankan.manage.service.IDownService;
 import com.fdkankan.manage.service.ISceneProService;
 import com.fdkankan.manage.vo.request.SceneParam;

+ 0 - 13
src/main/java/com/fdkankan/manage/httpClient/LaserClient.java

@@ -1,13 +0,0 @@
-package com.fdkankan.manage.httpClient;
-
-import com.dtflys.forest.annotation.Address;
-import com.fdkankan.manage.httpClient.address.LaserAddressSource;
-
-/**
- * 获取,调用4dkk服务
- */
-@Address(source = LaserAddressSource.class)
-public interface LaserClient {
-
-
-}

+ 1 - 1
src/main/java/com/fdkankan/manage/httpClient/FdKKClient.java

@@ -1,4 +1,4 @@
-package com.fdkankan.manage.httpClient;
+package com.fdkankan.manage.httpClient.client;
 
 import com.alibaba.fastjson.JSONObject;
 import com.dtflys.forest.annotation.Address;

+ 21 - 0
src/main/java/com/fdkankan/manage/httpClient/client/LaserClient.java

@@ -0,0 +1,21 @@
+package com.fdkankan.manage.httpClient.client;
+
+import com.dtflys.forest.annotation.Address;
+import com.dtflys.forest.annotation.JSONBody;
+import com.dtflys.forest.annotation.Post;
+import com.fdkankan.manage.httpClient.address.LaserAddressSource;
+import com.fdkankan.manage.httpClient.param.LaserSceneParam;
+import com.fdkankan.manage.httpClient.vo.FdkkResponse;
+
+/**
+ * 获取,调用4dkk服务
+ */
+@Address(source = LaserAddressSource.class)
+public interface LaserClient {
+
+    /**
+     * 获取深时场景数据
+     */
+    @Post("/laser/4dage/managerSceneList")
+    FdkkResponse sceneList(@JSONBody LaserSceneParam param);
+}

+ 1 - 1
src/main/java/com/fdkankan/manage/httpClient/OverallClient.java

@@ -1,4 +1,4 @@
-package com.fdkankan.manage.httpClient;
+package com.fdkankan.manage.httpClient.client;
 
 import com.dtflys.forest.annotation.*;
 import com.fdkankan.manage.httpClient.address.OverallAddressSource;

+ 14 - 0
src/main/java/com/fdkankan/manage/httpClient/param/LaserSceneParam.java

@@ -0,0 +1,14 @@
+package com.fdkankan.manage.httpClient.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class LaserSceneParam {
+    private Integer pageNum;
+    private Integer pageSize;
+    private String title;
+    private String userName;
+    private String snCode;
+}

+ 67 - 0
src/main/java/com/fdkankan/manage/httpClient/service/LaserService.java

@@ -0,0 +1,67 @@
+package com.fdkankan.manage.httpClient.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.response.PageInfo;
+import com.fdkankan.manage.httpClient.client.LaserClient;
+import com.fdkankan.manage.httpClient.param.LaserSceneParam;
+import com.fdkankan.manage.httpClient.vo.FdkkResponse;
+import com.fdkankan.manage.vo.request.SceneParam;
+import com.fdkankan.manage.vo.response.SceneVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class LaserService {
+
+    @Resource
+    LaserClient laserClient;
+
+
+    public PageInfo pageList(SceneParam param) {
+        LaserSceneParam newParam = new LaserSceneParam();
+        BeanUtils.copyProperties(param,newParam);
+        newParam.setTitle(param.getSceneName());
+        FdkkResponse response = laserClient.sceneList(newParam);
+        JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(response.getData()));
+        JSONArray list = jsonObject.getJSONArray("list");
+        long total =jsonObject.getLong("total");
+
+        List<SceneVo> sceneVoList = new ArrayList<>();
+        for (Object o : list) {
+            String res = JSONObject.toJSONString(o);
+            SceneVo vo = JSONObject.parseObject(res,SceneVo.class);
+            //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
+            JSONObject obj = (JSONObject) o;
+            vo.setStatusString(getLaserStatus(vo.getStatus()));
+            vo.setSceneName(obj.getString("title"));
+            vo.setUserName(obj.getString("phone"));
+            sceneVoList.add(vo);
+        }
+
+        Page<SceneVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
+        voPage.setRecords(sceneVoList);
+        voPage.setTotal(total);
+        return PageInfo.PageInfo(voPage);
+    }
+
+    public static String getLaserStatus(Integer status){
+        //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
+        switch (status){
+            case -1 : return "场景已删除";
+            case 0 : return "计算中";
+            case 1 : return "计算失败";
+            case 2 : return "计算成功";
+            case 3 : return "封存";
+            case 4 : return "生成OBJ中";
+            default: return "";
+        }
+    }
+}

+ 10 - 0
src/main/java/com/fdkankan/manage/httpClient/vo/FdkkResponse.java

@@ -0,0 +1,10 @@
+package com.fdkankan.manage.httpClient.vo;
+
+import lombok.Data;
+
+@Data
+public class FdkkResponse<T> {
+    private Integer code;
+    private String msg;
+    private T data;
+}

+ 6 - 1
src/main/java/com/fdkankan/manage/service/impl/SceneProServiceImpl.java

@@ -13,6 +13,7 @@ import com.fdkankan.common.util.CreateObjUtil;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.MatrixToImageWriterUtil;
 import com.fdkankan.common.util.RandomUtil;
+import com.fdkankan.manage.httpClient.service.LaserService;
 import com.fdkankan.manage.util.MangerUploadToOssUtil;
 import com.fdkankan.manage.common.CameraConstant;
 import com.fdkankan.manage.entity.*;
@@ -67,6 +68,9 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
     ISceneCopyLogService sceneCopyLogService;
     @Autowired
     IScenePlusExtService scenePlusExtService;
+    @Autowired
+    LaserService laserService;
+
 
     @Value("${main.url}")
     private String mainUrl;
@@ -211,7 +215,8 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             return PageInfo.PageInfo(new Page<>());
         }
         if(param.getType() == 3){ //双目lite
-            return sceneService.pageList(param);
+
+            return laserService.pageList(param);
         }
         Page<SceneVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         for (SceneVo record : page.getRecords()) {

+ 19 - 50
src/main/java/com/fdkankan/manage/service/impl/SysMenuServiceImpl.java

@@ -52,11 +52,11 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
         wrapper.isNull(SysMenu::getParentId);
         wrapper.orderByAsc(SysMenu::getSort);
         Page<SysMenu> page = this.page(new Page<>(param.getPageNum(),param.getPageSize()), wrapper);
-       // List<SysMenuVo> voList = getByParentId(null,page.getRecords(),false,null);
+       List<SysMenuVo> voList = getByParentId(null,page.getRecords(),false,null,null);
 
-        List<SysMenuVo> allVos = setTreeMenuVo(false,null,null);
-        List<Long> ids  = page.getRecords().parallelStream().map(SysMenu::getId).collect(Collectors.toList());
-        List<SysMenuVo> voList = allVos.parallelStream().filter(vo -> ids.contains(vo.getId())).collect(Collectors.toList());
+//        List<SysMenuVo> allVos = setTreeMenuVo(false,null,null);
+//        List<Long> ids  = page.getRecords().parallelStream().map(SysMenu::getId).collect(Collectors.toList());
+//        List<SysMenuVo> voList = allVos.parallelStream().filter(vo -> ids.contains(vo.getId())).collect(Collectors.toList());
 
         Page<SysMenuVo> resultPage = new Page<>(page.getCurrent(),page.getSize());
         resultPage.setRecords(voList);
@@ -66,7 +66,7 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
 
     @Override
     public List<SysMenuVo> allShowList() {
-        return setTreeMenuVo(true,null,null);
+        return getByParentId(null,null,true,null,null);
     }
 
     @Override
@@ -96,11 +96,11 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
             }
             menuIds = roleMenus.parallelStream().map(SysRoleMenu::getMenuId).collect(Collectors.toList());
         }
-        return setTreeMenuVo(true,menuIds,2);
+        return getByParentId(null,null,true,null,2);
     }
 
     //递归设置menuTree
-    private List<SysMenuVo> getByParentId(Long parentId, List<SysMenu> list, boolean show ,List<Long> menuIds){
+    private List<SysMenuVo> getByParentId(Long parentId, List<SysMenu> list, boolean show ,List<Long> menuIds,Integer notType){
         if(list == null){
             LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
             if(show){
@@ -114,6 +114,9 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
             if(menuIds != null){
                 wrapper.in(SysMenu::getId,menuIds);
             }
+            if(notType!=null){
+                wrapper.notIn(SysMenu::getType, Arrays.asList(notType));
+            }
             list = this.list(wrapper);
         }
         List<SysMenuVo> sysMenuVos = new ArrayList<>();
@@ -123,55 +126,21 @@ public class SysMenuServiceImpl extends ServiceImpl<ISysMenuMapper, SysMenu> imp
         for (SysMenu record : list) {
             SysMenuVo vo = new SysMenuVo();
             BeanUtils.copyProperties(record,vo);
+            Meta meta = new Meta();
+            meta.setIcon(record.getIcon());
+            meta.setTitle(record.getName());
+            meta.setHideMenu(record.getHideMenu() == 1);
+            meta.setFrameSrc(null);
+            vo.setMeta(meta);
+
             sysMenuVos.add(vo);
-            List<SysMenuVo> children = getByParentId(record.getId(),null,show,menuIds);
+            List<SysMenuVo> children = getByParentId(record.getId(),null,show,menuIds,null);
             vo.setChildren(children);
         }
+        setChildrenNull(sysMenuVos);
         return sysMenuVos;
     }
 
-    //查询到全部list ,根据parentId组装树形结构
-    private List<SysMenuVo> setTreeMenuVo( boolean show ,List<Long> menuIds,Integer notType){
-        LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
-        wrapper.orderByAsc(SysMenu::getSort);
-        if(show){
-            wrapper.eq(SysMenu::getIsShow,1);
-        }
-        if(menuIds != null){
-            wrapper.in(SysMenu::getId,menuIds);
-        }
-        if(notType!=null){
-            wrapper.notIn(SysMenu::getType, Arrays.asList(notType));
-        }
-        List<SysMenu> list = this.list(wrapper);
-
-        List<SysMenuVo> voList = new ArrayList<>();
-
-        HashMap<Long,SysMenuVo> voMap = new HashMap<>();
-        for (SysMenu sysMenu : list) {
-            SysMenuVo menuVo = new SysMenuVo();
-            BeanUtils.copyProperties(sysMenu,menuVo);
-            Meta meta = new Meta();
-            meta.setIcon(sysMenu.getIcon());
-            meta.setTitle(sysMenu.getName());
-            meta.setHideMenu(sysMenu.getHideMenu() == 1);
-            meta.setFrameSrc(null);
-            menuVo.setMeta(meta);
-            voMap.put(sysMenu.getId(),menuVo);
-        }
-        for (SysMenu sysMenu : list) {
-            if(sysMenu.getParentId() !=null){
-                SysMenuVo menuVo = voMap.get(sysMenu.getId());
-                List<SysMenuVo> children = voMap.get(sysMenu.getParentId()).getChildren();
-                children.add(menuVo);
-            }else {
-                voList.add(voMap.get(sysMenu.getId()));
-            }
-        }
-        setChildrenNull(voList);
-        return voList;
-    }
-
     /**
      * 递归 将children为空设置为null
      */

+ 2 - 0
src/main/java/com/fdkankan/manage/vo/response/SceneVo.java

@@ -18,4 +18,6 @@ public class SceneVo {
     private Integer payStatus;      //
     private String sceneVersion;   //场景版本
 
+    private String thumb;           //场景链接
+
 }

+ 2 - 2
src/main/resources/mapper/manage/SceneProMapper.xml

@@ -21,13 +21,13 @@
     <select id="pageList" resultType="com.fdkankan.manage.vo.response.SceneVo">
         SELECT * FROM(
         select s.scene_name ,s.num,s.create_time,c.sn_code,s.space as sceneSize
-        ,u.user_name,s.view_count,s.status,s.pay_status,'v3' as scene_version
+        ,u.user_name,s.view_count,s.status,s.pay_status,'v3' as scene_version ,s.thumb
         from t_scene_pro s
         <include refid="commonWhere"></include>
         and is_upgrade = 0
         UNION
         select s.title as sceneName ,s.num,s.create_time,c.sn_code,e.space as sceneSize
-        ,u.user_name,e.view_count,s.scene_status as status,s.pay_status,'v4' as scene_version
+        ,u.user_name,e.view_count,s.scene_status as status,s.pay_status,'v4' as scene_version,s.thumb
         from t_scene_plus s
         left join t_scene_plus_ext e on s.id = e.plus_id
         <include refid="commonWhere"></include>