| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- package com.fdkankan.scene.controller;
- import cn.hutool.core.lang.UUID;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.fdkankan.common.constant.SceneInfoReqType;
- import com.fdkankan.fyun.face.FYunFileServiceInterface;
- import com.fdkankan.model.constants.UploadFilePath;
- import com.fdkankan.scene.annotation.CheckPermit;
- import com.fdkankan.scene.entity.SceneEditInfo;
- import com.fdkankan.scene.entity.ScenePlus;
- import com.fdkankan.scene.service.ISceneDynamicPanelService;
- import com.fdkankan.scene.service.ISceneService;
- import com.fdkankan.web.response.ResultData;
- import com.fdkankan.scene.service.ISceneEditInfoService;
- import com.fdkankan.scene.service.IScenePlusService;
- import com.fdkankan.scene.vo.BaseSceneParamVO;
- import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
- import com.fdkankan.scene.vo.SceneInfoParamVO;
- import com.fdkankan.scene.vo.SceneInfoVO;
- import com.fdkankan.web.controller.BaseController;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.websocket.server.PathParam;
- import java.util.List;
- /**
- * <p>
- * 场景表 前端控制器
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
- @RestController
- @RequestMapping("/service/scene")
- public class SceneController extends BaseController {
- @Autowired
- private ISceneEditInfoService sceneEditInfoService;
- @Autowired
- private IScenePlusService scenePlusService;
- @Autowired
- private ISceneService sceneService;
- @Autowired
- private FYunFileServiceInterface fYunFileService;
- @Autowired
- private ISceneDynamicPanelService sceneDynamicPanelService;
- /**
- * <p>
- 获取场景详情
- * </p>
- * @author dengsixing
- * @date 2022/8/1
- * @param param
- * @return com.fdkankan.scene.vo.SceneInfoVO
- **/
- @GetMapping(value = "/getInfo")
- public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{
- param.setReqType(SceneInfoReqType.VIEW.code());
- return sceneEditInfoService.getSceneInfo(param);
- }
- /**
- * <p>
- 根据场景密码打开场景
- * </p>
- * @author dengsixing
- * @date 2022/8/1
- * @param param
- * @return com.fdkankan.web.response.ResultData
- **/
- @PostMapping(value = "/check/key")
- public ResultData checkKey(@RequestBody @Validated SceneCheckKeyParamVO param) throws Exception {
- return sceneEditInfoService.checkKey(param);
- }
- /**
- * <p>
- 获取数据对接下载信息
- * </p>
- * @author dengsixing
- * @date 2022/8/1
- * @return com.fdkankan.web.response.ResultData
- **/
- @GetMapping(value = "/downLoadZSData")
- public ResultData downLoadZSData(String sceneNum) throws Exception{
- return scenePlusService.downLoadZSData(sceneNum);
- }
- /**
- * 上传人体抠图原图
- * @param num
- * @param file
- * @return
- * @throws Exception
- */
- @PostMapping(value = "/uploadBodySegment")
- public ResultData uploadBodySegment(@RequestParam("file") MultipartFile file,
- @RequestParam(value = "rotate", required = false) Integer rotate) throws Exception {
- return sceneService.uploadBodySegment(file, rotate);
- }
- /**
- * 获取人体抠图提取状态
- * @return ResultData
- * @throws Exception
- */
- @PostMapping(value = "/getBodySegmentStatus")
- public ResultData getBodySegmentStatus(@RequestParam(value = "serialNum") String uuid) throws Exception {
- return sceneService.getBodySegmentStatus(uuid);
- }
- @GetMapping("/jd")
- public ResultData jd(String path){
- fYunFileService.restoreFolder("test-4dkk-bak", path, 2);
- return ResultData.ok();
- }
- @GetMapping("/dj")
- public ResultData dj(String path){
- fYunFileService.copyFileToArchive("test-4dkankan", path, "test-4dkk-bak", path);
- return ResultData.ok();
- }
- @GetMapping("/checkGd")
- public ResultData checkGd(String path){
- return ResultData.ok(fYunFileService.checkStore("test-4dkk-bak", path));
- }
- /**
- * 查询是否有动态面板数据
- * @param num
- * @return
- */
- @GetMapping("/checkDynamicPanel")
- public ResultData checkDynamicPanel(@RequestParam("num") String num){
- return ResultData.ok(sceneDynamicPanelService.checkDynamicPanel(num));
- }
- @GetMapping("copyBoxModel/{num}/{count}")
- public ResultData copyBoxModel(@PathVariable("num") String num, @PathVariable("count") int count){
- ScenePlus scenePlusByNum = scenePlusService.getScenePlusByNum(num);
- SceneEditInfo byScenePlusId = sceneEditInfoService.getByScenePlusId(scenePlusByNum.getId());
- String boxModels = byScenePlusId.getBoxModels();
- List<JSONObject> boxModelList = JSON.parseObject(boxModels, List.class);
- JSONObject jsonObject = boxModelList.get(0);
- String sid= jsonObject.getString("sid");
- String glbKYE = String.format(UploadFilePath.USER_EDIT_PATH, num) + "boxModels/" + sid + ".glb";
- for (int i = 0; i < count; i++){
- String newSid = UUID.randomUUID().toString().replace("-","");
- String newglbKYE = String.format(UploadFilePath.USER_EDIT_PATH, num) + "boxModels/" + newSid.concat(".glb");
- fYunFileService.copyFileInBucket(glbKYE, newglbKYE);
- String jsonString = JSON.toJSONString(jsonObject).replace(sid, newSid);
- JSONObject jsonObject1 = JSON.parseObject(jsonString);
- boxModelList.add(jsonObject1);
- }
- byScenePlusId.setBoxModels(JSON.toJSONString(boxModelList));
- sceneEditInfoService.updateById(byScenePlusId);
- return ResultData.ok();
- }
- }
|