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; /** *
* 场景表 前端控制器 *
* * @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; /** *获取场景详情 *
* @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); } /** *根据场景密码打开场景 *
* @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); } /** *获取数据对接下载信息 *
* @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