123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592 |
- 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;
- /**
- * <p>
- 保存场景编辑数据
- * </p>
- * @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);
- }
- /**
- * <p>
- 发布场景数据
- * </p>
- * @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);
- }
- /**
- * <p>
- 保存初始页面
- * </p>
- * @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);
- }
- /**
- * <p>
- 新增或修改场景热点
- * </p>
- * @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);
- }
- /**
- * <p>
- 删除热点
- * </p>
- * @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);
- }
- /**
- * <p>
- 热点列表
- * </p>
- * @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);
- }
- /**
- * <p>
- 删除热点
- * </p>
- * @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);
- }
- /**
- * <p>
- 保存漫游可行
- * </p>
- * @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);
- }
- /**
- * <p>
- 保存热点可见性的数据
- * </p>
- * @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);
- }
- /**
- * <p>
- 模型下载
- * </p>
- * @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);
- }
- /**
- * <p>
- 上传模型
- * </p>
- * @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);
- }
- // /**
- // * <p>
- // 上传后保存
- // * </p>
- // * @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);
- // }
- /**
- * <p>
- 保存户型图
- * </p>
- * @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);
- }
- /**
- * <p>
- 重置户型图
- * </p>
- * @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);
- }
- /**
- * <p>
- 楼层户型重命名
- * </p>
- * @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);
- }
- /**
- * <p>
- 获取场景详情
- * </p>
- * @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);
- }
- /**
- * <p>
- 上传全景图
- * </p>
- * @author dengsixing
- * @date 2022/2/16
- * @param num
- * @param file
- * @return java.util.List<java.lang.String>
- **/
- @CheckCooperationPermit
- @PostMapping(value = "/uploadPanorama")
- public ResultData uploadPanorama(@RequestParam(value = "num") String num,
- @RequestParam("file") MultipartFile file) throws Exception {
- return sceneEditInfoService.uploadPanorama(num, file);
- }
- /**
- * <p>
- 下载全景图
- * </p>
- * @author dengsixing
- * @date 2022/2/16
- * @return java.util.List<java.lang.String>
- **/
- @CheckCooperationPermit
- @PostMapping(value = "/downloadPanorama")
- public ResultData downloadPanorama(@RequestBody @Validated FileParamVO param) throws Exception {
- return sceneEditInfoService.downloadPanorama(param);
- }
- /**
- * <p>
- 保存视频盒子
- * </p>
- * @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);
- }
- /**
- * <p>
- 删除视频盒子
- * </p>
- * @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);
- }
- /**
- * <p>
- 保存空间贴图
- * </p>
- * @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);
- }
- /**
- * <p>
- 删除空间贴图
- * </p>
- * @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);
- }
- /**
- * <p>
- 下载视频
- * </p>
- * @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);
- }
- /**
- * <p>
- 上传视频
- * </p>
- * @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);
- }
- /**
- * <p>
- 上传图片到oss,base64
- * </p>
- * @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);
- }
- /**
- * <p>
- 用户自定义上传文本内容上传
- * </p>
- * @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);
- }
- /**
- * <p>
- 删除文件
- * </p>
- * @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);
- }
- /**
- * <p>
- 场景同步
- * </p>
- * @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);
- }
- /**
- * <p>
- 获取场景权限
- * </p>
- * @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());
- }
- /**
- * <p>
- 上传国际化文件
- * </p>
- * @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);
- }
- /**
- * <p>
- 保存导览
- * </p>
- * @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);
- }
- /**
- * <p>
- 删除导览
- * </p>
- * @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);
- }
- /**
- * <p>
- 添加马赛克
- * </p>
- * @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);
- }
- }
|