Przeglądaj źródła

场景项目一对一

lyhzzz 2 lat temu
rodzic
commit
93cfa7394d

+ 1 - 0
src/main/java/com/fdkankan/site/common/ResultCode.java

@@ -18,6 +18,7 @@ public enum ResultCode {
     UPLOAD_BIM_EXIST(7005,"bim已上传,删除可再次删除"),
     UPLOAD_BIM_ING(7006,"bim上传中,请稍后"),
     UPLOAD_FILE_MSG_ERROR(7007,"文件内容错误"),
+    SCENE_BIND(8001,"场景已绑定不可添加"),
     ;
     public int code;
     public String msg;

+ 1 - 1
src/main/java/com/fdkankan/site/response/SceneVo.java

@@ -20,5 +20,5 @@ public class SceneVo {
     private Integer type;       // 0 四维看看,1看见场景,2 深时场景,3 三维模型
 
     private String phone;
-    private Boolean bind = true;
+    private Boolean bind = false;
 }

+ 2 - 0
src/main/java/com/fdkankan/site/service/IProjectNumService.java

@@ -34,4 +34,6 @@ public interface IProjectNumService extends IService<ProjectNum> {
 
 
     void updateProjectScene(AppGetSceneInfoParam param);
+
+    Set<String> getNumList();
 }

+ 0 - 2
src/main/java/com/fdkankan/site/service/ISceneService.java

@@ -11,7 +11,5 @@ public interface ISceneService {
 
     PageInfo pageList(SceneParam param, String token);
 
-    List<SceneVo> getListByNumList(List<String> numList);
-
     List<SceneVo> getListByNumMap(HashMap<Integer, List<String>> typeMap);
 }

+ 6 - 0
src/main/java/com/fdkankan/site/service/impl/ProjectNumServiceImpl.java

@@ -114,4 +114,10 @@ public class ProjectNumServiceImpl extends ServiceImpl<IProjectNumMapper, Projec
             this.update(wrapper);
         }
     }
+
+    @Override
+    public Set<String> getNumList() {
+        List<ProjectNum> list = this.list();
+        return list.stream().map(ProjectNum::getNum).collect(Collectors.toSet());
+    }
 }

+ 6 - 0
src/main/java/com/fdkankan/site/service/impl/ProjectServiceImpl.java

@@ -213,6 +213,12 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
                 addNumList.add(num);
             }
         }
+        Set<String> numList = projectNumService.getNumList();
+        for (String num : addNumList) {
+            if(numList.contains(num)){
+                throw new BusinessException(ResultCode.SCENE_BIND.code,num +ResultCode.SCENE_BIND.msg);
+            }
+        }
 
         if(delNumList.size() >0){
             projectNumService.delByNumList(param.getProjectId(),delNumList);

+ 25 - 21
src/main/java/com/fdkankan/site/service/impl/SceneServiceImpl.java

@@ -15,8 +15,10 @@ import com.fdkankan.site.httpClient.response.FdkkResponse;
 import com.fdkankan.site.request.SceneParam;
 import com.fdkankan.site.response.SceneProEntityVo;
 import com.fdkankan.site.response.SceneVo;
+import com.fdkankan.site.service.IProjectNumService;
 import com.fdkankan.site.service.ISceneService;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -29,24 +31,9 @@ public class SceneServiceImpl implements ISceneService {
     FdKKClient fdKKClient;
     @Resource
     LaserClient laserClient;
+    @Autowired
+    IProjectNumService projectNumService;
 
-    @Override
-    public List<SceneVo> getListByNumList(List<String> numList) {
-        SceneParam param = new SceneParam();
-        param.setNumList(numList);
-        param.setStatus(2);
-        param.setPageNum(1);
-        param.setType(0);
-        param.setPageSize(9999);
-        JSONArray list = fdkkList(param);
-        param.setType(1);
-        JSONArray list1 = fdkkList(param);
-        list.addAll(list1);
-        List<SceneVo> sceneVos = overSceneVo(list, 0);
-        JSONArray list2 = laserList(param);
-        sceneVos.addAll(overSceneVo(list2,2));
-        return sceneVos;
-    }
 
     @Override
     public List<SceneVo> getListByNumMap(HashMap<Integer, List<String>> typeMap) {
@@ -75,7 +62,14 @@ public class SceneServiceImpl implements ISceneService {
                     break;
             }
         }
-        return sceneVos;
+        List<SceneVo> sceneVoList = new ArrayList<>();
+
+        for (SceneVo sceneVo : sceneVos) {
+            if(sceneVo.getBind()){
+                sceneVoList.add(sceneVo);
+            }
+        }
+        return sceneVoList;
     }
 
     private JSONArray fdkkList(SceneParam param ){
@@ -166,6 +160,13 @@ public class SceneServiceImpl implements ISceneService {
             }
             sceneVoList =overSceneVo(list,2);
         }
+        //一个场景对应一个项目 已绑定项目的设置为不可绑定
+        Set<String> numList = projectNumService.getNumList();
+        for (SceneVo sceneVo : sceneVoList) {
+            if(numList.contains(sceneVo.getNum())){
+                sceneVo.setBind(true);
+            }
+        }
         Page<SceneVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
         voPage.setRecords(sceneVoList);
         voPage.setTotal(total);
@@ -184,6 +185,9 @@ public class SceneServiceImpl implements ISceneService {
                 if(vo.getStatus() == 4){    //4生成OBJ中 设置为计算中
                     vo.setStatus(0);
                 }
+//                if (StringUtils.isBlank(vo.getPhone())) {
+//                    vo.setBind(false);
+//                }
                 vo.setType(2);
                 sceneVoList.add(vo);
             }
@@ -206,9 +210,9 @@ public class SceneServiceImpl implements ISceneService {
                 sceneVo.setViewCount(fdkkScenePlusVo.getViewCount());
                 sceneVo.setIsLaser(false);
                 sceneVo.setType(fdkkScenePlusVo.getSceneType());
-                if (fdkkScenePlusVo.getUserId() == null) {
-                    sceneVo.setBind(false);
-                }
+//                if (fdkkScenePlusVo.getUserId() == null) {
+//                    sceneVo.setBind(false);
+//                }
                 sceneVoList.add(sceneVo);
             }
         }