lyhzzz 2 месяцев назад
Родитель
Сommit
c762adf599

+ 11 - 2
src/main/java/com/fdkankan/fusion/controller/CaseLiveController.java

@@ -4,7 +4,9 @@ package com.fdkankan.fusion.controller;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.CaseLive;
+import com.fdkankan.fusion.httpClient.FdService;
 import com.fdkankan.fusion.service.ICaseLiveService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -22,10 +24,17 @@ public class CaseLiveController {
 
     @Autowired
     ICaseLiveService caseLiveService;
-
+    @Autowired
+    FdService fdService;
     @PostMapping("/getTakeLookRoom")
     public ResultData getTakeLookRoom(@RequestBody CaseLive caseLive){
-        return ResultData.ok(caseLiveService.getByCaseId(caseLive.getCaseId()));
+        if (StringUtils.isNotBlank(caseLive.getNum())){
+            return ResultData.ok(caseLiveService.getByNum(caseLive.getNum()));
+        }
+        if(caseLive.getCaseId() != null){
+            return ResultData.ok(caseLiveService.getByCaseId(caseLive.getCaseId()));
+        }
+        return ResultData.ok();
     }
 }
 

+ 15 - 4
src/main/java/com/fdkankan/fusion/httpClient/FdService.java

@@ -25,10 +25,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -102,6 +99,20 @@ public class FdService {
         return takeLookClient.roomAddOrUpdate(param,getFdToken());
     }
 
+    public FdRoomVo getRoomIdByNum(String num,String title) {
+        ResultData<FdRoomAddParam> response = takeLookClient.getRoomIdByNum(num, getFdToken());
+        if(response.getCode() !=0){
+            ResultData<FdRoomAddParam> fdRoomAddParamResultData = fdCreateTakeLookRoom(title, Arrays.asList(num), null);
+            if(fdRoomAddParamResultData.getCode() !=0){
+                throw new BusinessException(fdRoomAddParamResultData.getCode(),fdRoomAddParamResultData.getMessage());
+            }
+            return fdRoomAddParamResultData.getData();
+        }else {
+            return response.getData();
+        }
+
+    }
+
     public void fdOpenTakeLookRoom(String takeRoomId) {
         takeLookClient.openRoom(takeRoomId,getFdToken());
     }

+ 4 - 0
src/main/java/com/fdkankan/fusion/httpClient/client/TakeLookClient.java

@@ -18,4 +18,8 @@ public interface TakeLookClient {
 
     @Get("/takelook/openTheRoom")
     void openRoom(@Query("roomId") String takeRoomId, @Header("token") String fdToken);
+
+
+    @Get("/takelook/getRoomIdByNum")
+    ResultData<FdRoomAddParam> getRoomIdByNum(@Query("num") String num, @Header("token") String fdToken);
 }

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ICaseLiveService.java

@@ -14,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface ICaseLiveService extends IService<CaseLive> {
 
     Object getByCaseId(Integer caseId);
+
+    Object getByNum(String num);
 }

+ 19 - 0
src/main/java/com/fdkankan/fusion/service/impl/CaseLiveServiceImpl.java

@@ -15,6 +15,7 @@ import com.fdkankan.fusion.common.util.NumTypeUtils;
 import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.CaseLive;
 import com.fdkankan.fusion.entity.CaseNumEntity;
+import com.fdkankan.fusion.entity.ScenePlus;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.httpClient.FdService;
 import com.fdkankan.fusion.httpClient.request.FdRoomAddParam;
@@ -25,6 +26,7 @@ import com.fdkankan.fusion.service.ICaseLiveService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.fusion.service.ICaseNumService;
 import com.fdkankan.fusion.service.ICaseService;
+import com.fdkankan.fusion.service.IScenePlusService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.ListUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -88,6 +90,23 @@ public class CaseLiveServiceImpl extends ServiceImpl<ICaseLiveMapper, CaseLive>
         return caseLive.getTakeRoomId();
     }
 
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Override
+    public Object getByNum(String num) {
+        ScenePlus scenePlus = scenePlusService.getByNum(num);
+        if(scenePlus  == null){
+            throw new BusinessException(ResultCode.SYSTEM_ERROR);
+        }
+        if(scenePlus.getSceneStatus() != -2){
+            throw new BusinessException(ResultCode.SYSTEM_ERROR);
+        }
+
+        FdRoomVo fdRoomVo = fdService.getRoomIdByNum(num, scenePlus.getTitle());
+        fdService.fdOpenTakeLookRoom(fdRoomVo.getRoomId());
+        return fdRoomVo.getRoomId();
+    }
+
     private Boolean getCheckCreateRoom(JSONArray array,List<String> numList) {
         if(array == null || array.isEmpty() ){
             return false;