lyhzzz 8 months ago
parent
commit
e5e5fc1b9c

+ 29 - 0
src/main/java/com/fdkankan/fusion/controller/CaseFilesController.java

@@ -22,6 +22,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -81,6 +82,34 @@ public class CaseFilesController extends BaseController{
         caseFilesService.saveOrUpdate(caseFiles);
         return ResultData.ok(caseFiles);
     }
+    @PostMapping("/addByMediaLibrarys")
+    public ResultData addByMediaLibrarys(@RequestBody AddByMediaLibraryParam param)  {
+        if(param.getCaseId() == null  || param.getFilesTypeId() == null || param.getUploadIds().isEmpty()){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        List<CaseFiles> caseFilesList = new ArrayList<>();
+        for (Integer uploadId : param.getUploadIds()) {
+            CommonUpload commonUpload = commonUploadService.getById(uploadId);
+            if(commonUpload == null || StringUtils.isBlank(commonUpload.getFileUrl())){
+                throw new BusinessException(ResultCode.MEDIO_NOT_EXIT);
+            }
+            CaseFiles caseFiles = new CaseFiles();
+            if(param.getFilesId() != null){
+                caseFiles = caseFilesService.getById(param.getFilesId());
+            }
+            caseFiles.setCaseId(param.getCaseId());
+            caseFiles.setFilesTypeId(param.getFilesTypeId());
+            caseFiles.setFilesTitle(commonUpload.getFileName());
+            caseFiles.setFilesUrl(commonUpload.getFileUrl());
+            caseFiles.setContent(param.getContent());
+            caseFiles.setImgType(param.getImgType());
+            caseFilesList.add(caseFiles);
+        }
+        if(!caseFilesList.isEmpty()){
+            caseFilesService.saveOrUpdateBatch(caseFilesList);
+        }
+        return ResultData.ok(caseFilesList);
+    }
 
     @PostMapping("/updateFileType")
     public ResultData updateFileType(@RequestBody AddByMediaLibraryParam param){

+ 8 - 1
src/main/java/com/fdkankan/fusion/controller/CaseLiveController.java

@@ -5,6 +5,7 @@ import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.CaseLive;
 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.*;
 
@@ -25,7 +26,13 @@ public class CaseLiveController extends BaseController{
 
     @PostMapping("/getTakeLookRoom")
     public ResultData getTakeLookRoom(@RequestBody CaseLive caseLive){
-        return ResultData.ok(caseLiveService.getByCaseId(caseLive.getCaseId(),getUserName()));
+        if (StringUtils.isNotBlank(caseLive.getNum())){
+            return ResultData.ok(caseLiveService.getByNum(caseLive.getNum(),getUserName()));
+        }
+        if(caseLive.getCaseId() != null){
+            return ResultData.ok(caseLiveService.getByCaseId(caseLive.getCaseId(),getUserName()));
+        }
+        return ResultData.ok();
     }
 }
 

+ 2 - 0
src/main/java/com/fdkankan/fusion/entity/CaseLive.java

@@ -57,4 +57,6 @@ public class CaseLive implements Serializable {
     private Date updateTime;
 
 
+    @TableField(exist = false)
+    private String num;
 }

+ 16 - 5
src/main/java/com/fdkankan/fusion/httpClient/FdService.java

@@ -26,10 +26,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
@@ -101,10 +98,24 @@ public class FdService {
         param.setNumList(numList);
         param.setRoomId(roomId);
         param.setMaxMan(30);
-        param.setPlatform("fd");
+        param.setPlatform("ucenter");
         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);
 }

+ 5 - 0
src/main/java/com/fdkankan/fusion/request/AddByMediaLibraryParam.java

@@ -3,6 +3,8 @@ package com.fdkankan.fusion.request;
 import lombok.Data;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import java.util.List;
+
 @Data
 public class AddByMediaLibraryParam {
     private Integer caseId;
@@ -13,4 +15,7 @@ public class AddByMediaLibraryParam {
 
     private Integer imgType ;
     private String content;
+
+    private List<Integer> uploadIds;
+
 }

+ 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,String userName);
+
+    Object getByNum(String num, String userName);
 }

+ 20 - 1
src/main/java/com/fdkankan/fusion/service/impl/CaseLiveServiceImpl.java

@@ -14,6 +14,7 @@ import com.fdkankan.fusion.common.ResultData;
 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;
@@ -24,6 +25,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;
@@ -84,7 +86,24 @@ public class CaseLiveServiceImpl extends ServiceImpl<ICaseLiveMapper, CaseLive>
         return caseLive.getTakeRoomId();
     }
 
-    private Boolean getCheckCreateRoom(JSONArray array,List<String> numList) {
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Override
+    public Object getByNum(String num, String userName) {
+        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;
         }