package com.fdkankan.manage.controller; import com.alibaba.fastjson.JSONObject; import com.fdkankan.common.constant.ErrorCode; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.common.response.ResultData; import com.fdkankan.manage.entity.ScenePlus; import com.fdkankan.manage.entity.ScenePro; import com.fdkankan.manage.httpClient.client.FdKKClient; import com.fdkankan.manage.service.IDownService; import com.fdkankan.manage.service.IScenePlusService; import com.fdkankan.manage.service.ISceneProService; import com.fdkankan.manage.vo.request.SceneParam; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; /** * 相机场景管理 */ @RestController @RequestMapping("/service/manage/scene") public class SceneController { @Autowired ISceneProService sceneProService; @Autowired IScenePlusService scenePlusService; @Autowired IDownService downService; @Resource FdKKClient fdKKClient; @PostMapping("/list") public ResultData list(@RequestBody SceneParam param){ return ResultData.ok(sceneProService.pageList(param)); } /** * 场景迁移 * num 迁移场景码 * snCode 迁移至相机snCode */ @PostMapping("/move") public ResultData move(@RequestBody SceneParam param){ if(StringUtils.isEmpty(param.getNum()) || StringUtils.isEmpty(param.getSnCode())){ throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS); } sceneProService.move(param); return ResultData.ok(); } /** * 场景复制 * num 场景码 */ @PostMapping("/copy") public ResultData copy(@RequestBody SceneParam param) throws Exception { if(StringUtils.isEmpty(param.getNum())){ throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS); } sceneProService.copy(param.getNum()); return ResultData.ok(); } /** * 场景删除 * num 场景码 */ @PostMapping("/delete") public ResultData delete(@RequestBody SceneParam param){ if(StringUtils.isEmpty(param.getNum())){ throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS); } sceneProService.deleteByNum(param.getNum()); return ResultData.ok(); } /** * 检查下载 * num 场景码 */ @GetMapping("/checkDownLoad") public ResultData checkDownLoad(@RequestParam(required = false) String num){ return ResultData.ok(downService.checkDownLoad(num)); } /** * 下载场景 * num 场景码 */ @GetMapping("/downScene") public ResultData downScene(@RequestParam(required = false) String num){ return ResultData.ok(downService.down(num)); } /** * 下载场景进度条 * num 场景码 */ @GetMapping("/downloadProcess") public ResultData downloadProcess(@RequestParam(required = false) String num){ return ResultData.ok(downService.downloadProcess(num)); } /** * 场景重算 * num 场景码 */ @GetMapping("/rebuildScene") public ResultData rebuild(@RequestParam(required = false) String num){ ScenePro scenePro = sceneProService.getByNum(num); if(scenePro!=null){ throw new BusinessException(-1,"V3场景请先升级在重算"); } ScenePlus scenePlus = scenePlusService.getByNum(num); if(scenePlus == null){ throw new BusinessException(-1,"场景不存在"); } HashMap paramMap = new HashMap<>(); paramMap.put("num",num); JSONObject jsonObject = fdKKClient.rebuildScene(paramMap); Integer code = jsonObject.getInteger("code"); if(code != 0){ return ResultData.error(code,jsonObject.getString("msg")); } return ResultData.ok(); } }