package com.fdkankan.scene.controller; import com.fdkankan.common.constant.ErrorCode; import com.fdkankan.common.constant.SceneInfoReqType; import com.fdkankan.web.controller.BaseController; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.common.response.ResultData; import com.fdkankan.scene.annotation.CheckCooperationPermit; import com.fdkankan.scene.service.ISceneEditInfoService; import com.fdkankan.scene.service.ISceneEditService; import com.fdkankan.scene.service.ISceneProService; import com.fdkankan.scene.service.ISceneUploadService; import com.fdkankan.scene.vo.BallScreenVideoParamVO; import com.fdkankan.scene.vo.BaseDataParamVO; import com.fdkankan.scene.vo.BaseSceneParamVO; import com.fdkankan.scene.vo.DeleteFileParamVO; import com.fdkankan.scene.vo.DeleteHotIconParamVO; import com.fdkankan.scene.vo.DeleteHotParamVO; import com.fdkankan.scene.vo.DeleteSidParamVO; import com.fdkankan.scene.vo.DownloadVO; import com.fdkankan.scene.vo.FileNameAndDataParamVO; import com.fdkankan.scene.vo.FileParamVO; import com.fdkankan.scene.vo.LocalesParamVO; import com.fdkankan.scene.vo.RenameCadParamVO; import com.fdkankan.scene.vo.SaveTagsParamVO; import com.fdkankan.scene.vo.SaveTagsVisibleParamVO; import com.fdkankan.scene.vo.SaveUploadParamVO; import com.fdkankan.scene.vo.SceneAuthVO; import com.fdkankan.scene.vo.SceneEditInfoParamVO; import com.fdkankan.scene.vo.SceneEditInfoVO; import com.fdkankan.scene.vo.SceneInfoParamVO; import com.fdkankan.scene.vo.SceneInfoVO; import com.fdkankan.scene.vo.UploadContentParamVO; import java.io.IOException; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; /** * 场景编辑管理 */ @Log4j2 @RestController @RequestMapping("/service/scene/edit") public class SceneEditController extends BaseController { @Autowired private ISceneProService sceneProService; @Autowired private ISceneEditInfoService sceneEditInfoService; @Autowired private ISceneUploadService sceneUploadService; @Autowired private ISceneEditService sceneEditService; @Value("${spring.profiles.active}") private String env; /** *
保存场景编辑数据 *
* @author dengsixing * @date 2022/1/12 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/base/save") public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){ return sceneEditInfoService.saveScene(param); } /** *发布场景数据 *
* @author dengsixing * @date 2022/1/12 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/publicScene") public ResultData publicScene(@RequestBody @Validated SceneEditInfoParamVO param) throws Exception { return sceneEditInfoService.publicScene(param); } /** *保存初始页面 *
* @author dengsixing * @date 2022/1/12 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/saveInitialPage") public ResultData saveInitialPage(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception { return sceneProService.saveInitialPage(param); } /** *新增或修改场景热点 *
* @author dengsixing * @date 2022/1/12 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/tag/save") public ResultData saveTag(@RequestBody @Validated SaveTagsParamVO param) throws Exception { return sceneProService.addOrUpdateTag(param); } /** *删除热点 *
* @author dengsixing * @date 2022/2/16 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/tag/delete") public ResultData deleteTag(@RequestBody @Validated DeleteHotParamVO param) throws Exception { return sceneProService.deleteTag(param); } /** *热点列表 *
* @author dengsixing * @date 2022/7/1 * @param num * @return com.fdkankan.common.response.ResultData **/ @PostMapping(value = "/tag/list") public ResultData listTags(@RequestParam(value = "num") String num) throws Exception { return sceneProService.listTags(num); } /** *删除热点 *
* @author dengsixing * @date 2022/2/16 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/icons/delete") public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception { return sceneProService.deleteIcons(param); } /** *保存漫游可行 *
* @author dengsixing * @date 2022/1/12 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/saveRoam") public ResultData saveRoam(@RequestBody @Validated BaseDataParamVO param) throws Exception { return sceneProService.saveRoam(param); } /** *保存热点可见性的数据 *
* @author dengsixing * @date 2022/7/1 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/saveTagsVisible") public ResultData saveTagsVisible(@RequestBody @Validated SaveTagsVisibleParamVO param) throws Exception { return sceneProService.saveTagsVisible(param); } /** *模型下载 *
* @author dengsixing * @date 2022/7/1 * @param num * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/downloadModel") public ResultData downloadTexData(@RequestParam("num") String num) throws Exception { return sceneProService.downloadTexData(num); } /** *上传模型 *
* @author dengsixing * @date 2022/7/1 * @param num * @param file * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/uploadModel") public ResultData uploadObjAndImg(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception { return sceneProService.uploadObjAndImg(num, file); } // /** // *// 上传后保存 // *
// * @author dengsixing // * @date 2022/1/20 // * @param param // * @return com.fdkankan.common.response.ResultData // **/ // @PostMapping(value = "/saveUpload") // public ResultData saveUpload(@RequestBody @Validated SaveUploadParamVO param) throws Exception{ // return sceneEditInfoService.saveUpload(param); // } /** *保存户型图 *
* @author dengsixing * @date 2022/1/20 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/cad/save") public ResultData saveCad(@RequestBody @Validated BaseDataParamVO param) throws Exception{ return sceneEditInfoService.saveCad(param); } /** *重置户型图 *
* @author dengsixing * @date 2022/2/16 * @param num * @return **/ @CheckCooperationPermit @PostMapping(value = "/cad/reset") public ResultData resetCad(@RequestParam(value = "num") String num){ return sceneEditInfoService.resetCad(num); } /** *楼层户型重命名 *
* @author dengsixing * @date 2022/2/16 * @return **/ @CheckCooperationPermit @PostMapping(value = "/cad/rename") public ResultData renameCad(@RequestBody @Validated RenameCadParamVO param) throws IOException { return sceneEditInfoService.renameCad(param); } /** *获取场景详情 *
* @author dengsixing * @date 2022/7/1 * @param param * @return com.fdkankan.scene.vo.SceneInfoVO **/ @GetMapping(value = "/getInfo") public SceneInfoVO getInfo(@Validated SceneInfoParamVO param) throws Exception{ param.setReqType(SceneInfoReqType.EDIT.code()); return sceneEditInfoService.getSceneInfo(param); } /** *上传全景图 *
* @author dengsixing * @date 2022/2/16 * @param num * @param file * @return java.util.List下载全景图 *
* @author dengsixing * @date 2022/2/16 * @return java.util.List保存视频盒子 *
* @author dengsixing * @date 2022/2/18 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/video/box/save") public ResultData saveVideoBox(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception { return sceneEditInfoService.saveVideoBox(param); } /** *删除视频盒子 *
* @author dengsixing * @date 2022/2/18 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/video/box/delete") public ResultData deleteVideoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception { return sceneEditInfoService.deleteVideoBox(param); } /** *保存空间贴图 *
* @author dengsixing * @date 2022/2/18 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/photo/box/save") public ResultData savePhotoBox(@RequestBody @Validated BaseDataParamVO param) throws Exception { return sceneEditInfoService.saveBoxPhoto(param); } /** *删除空间贴图 *
* @author dengsixing * @date 2022/2/18 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/photo/box/delete") public ResultData deletePhotoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception { return sceneEditInfoService.deleteBoxPhoto(param); } /** *下载视频 *
* @author dengsixing * @date 2022/2/23 * @param param * @return com.fdkankan.scene.vo.DownloadVO **/ @CheckCooperationPermit @PostMapping(value = "/downloadBallScreenVideo") public DownloadVO downloadBallScreenVideo(@RequestBody @Validated BallScreenVideoParamVO param){ return sceneEditInfoService.downloadBallScreenVideo(param); } /** *上传视频 *
* @author dengsixing * @date 2022/2/23 * @param num * @param fileName * @param file * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/uploadBallScreenVideo") public ResultData uploadBallScreenVideo( @RequestParam("num") String num, @RequestParam("fileName") String fileName, @RequestParam("file") MultipartFile file) throws Exception { return sceneEditInfoService.uploadBallScreenVideo(num, fileName, file); } /** *上传图片到oss,base64 *
* @author dengsixing * @date 2022/7/1 * @param base64 图片base64 * @param fileName 文件名称 * @param bizType 业务类型 * @param files 文件 * @param num 场景码 * @param type 操作类型 0添加,1替换 * @param uploadPath 上传路径,此字段为扩展字段,前端可自定义上传路径,注意是完全的文件路径 * @return java.lang.String **/ @CheckCooperationPermit @RequestMapping(value = "/upload/files", method = RequestMethod.POST) public String uploads(@RequestParam(value = "base64",required = false) String base64, @RequestParam(value = "fileName",required = false) String fileName, @RequestParam(value = "bizType",required = false) String bizType, @RequestParam(value = "files",required = false) MultipartFile[] files, @RequestParam(value = "num",required = false) String num, @RequestParam(value = "type",required = false,defaultValue = "1") Integer type, @RequestParam(value = "uploadPath",required = false) String uploadPath) throws Exception { return sceneUploadService.uploads(base64,fileName,bizType,files,num,type,getToken(),uploadPath); } /** *用户自定义上传文本内容上传 *
* @author dengsixing * @date 2022/7/1 * @param param * @return java.lang.String **/ @RequestMapping(value = "/upload/content", method = RequestMethod.POST) public String uploadContent(@RequestBody @Validated UploadContentParamVO param) throws Exception { return sceneUploadService.uploadContent(param); } /** *删除文件 *
* @author dengsixing * @date 2022/2/23 * @param paramVO * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping("/delete/file") public ResultData delete(@RequestBody @Validated DeleteFileParamVO paramVO) throws Exception{ return sceneUploadService.delete(paramVO); } /** *场景同步 *
* @author dengsixing * @date 2022/7/1 * @param num * @param type * @param floorPlanJson * @param ajkJson * @param cameraJson * @param files * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/sceneSync") public ResultData sceneSync( @RequestParam("num") String num, @RequestParam(value = "type", defaultValue = "ajk") String type, @RequestParam("floorPlanJson") String floorPlanJson, @RequestParam("ajkJson") String ajkJson, @RequestParam("cameraJson") String cameraJson, @RequestParam("files") MultipartFile[] files) throws Exception{ return sceneEditInfoService.sceneSync(num, type, floorPlanJson, ajkJson, cameraJson, files); } /** *获取场景权限 *
* @author dengsixing * @date 2022/7/1 * @param num * @return com.fdkankan.scene.vo.SceneAuthVO **/ @CheckCooperationPermit @PostMapping(value = "/getAuth") public SceneAuthVO getAuth(@RequestParam("num") String num) throws Exception{ return sceneEditService.getAuth(num, this.getSsoUser()); } /** *上传国际化文件 *
* @author dengsixing * @date 2022/4/11 * @param param * @return com.fdkankan.common.response.ResultData **/ @PostMapping(value = "/locales") public ResultData locales(@RequestBody @Validated LocalesParamVO param) throws Exception { if("pro".equals(env)){ throw new BusinessException(ErrorCode.HAVE_NO_RIGHT); } return sceneEditService.locales(param); } /** *保存导览 *
* @author dengsixing * @date 2022/7/1 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/tour/save") public ResultData saveTour(@RequestBody @Validated BaseDataParamVO param) throws Exception{ return sceneEditService.saveTour(param); } /** *删除导览 *
* @author dengsixing * @date 2022/7/1 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/tour/delete") public ResultData deleteTour(@RequestBody @Validated BaseSceneParamVO param) throws Exception{ return sceneEditService.deleteTour(param); } /** *添加马赛克 *
* @author dengsixing * @date 2022/7/1 * @param param * @return com.fdkankan.common.response.ResultData **/ @CheckCooperationPermit @PostMapping(value = "/mosaics/add") public ResultData addMosaics(@RequestBody @Validated BaseDataParamVO param) throws Exception{ return sceneEditInfoService.addMosaics(param); } }