package com.fdkankan.ucenter.controller; import com.alibaba.fastjson.JSONObject; import com.dtflys.forest.annotation.Get; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.common.util.JwtUtil; import com.fdkankan.ucenter.common.BaseController; import com.fdkankan.ucenter.common.DownloadStatusEnum; import com.fdkankan.ucenter.common.Result; import com.fdkankan.ucenter.constant.LoginConstant; import com.fdkankan.ucenter.entity.User; import com.fdkankan.ucenter.service.*; import com.fdkankan.ucenter.vo.request.RequestScene; import com.fdkankan.ucenter.vo.request.SceneParam; import com.fdkankan.ucenter.vo.response.DownloadProcessVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** *

* 场景表 前端控制器 *

* * @author * @since 2022-07-04 */ @RestController @RequestMapping("/ucenter/user/scene") public class SceneController extends BaseController { @Autowired ISceneProService sceneProService; @Autowired IUserService userService; @Autowired IDownService downService; @Autowired ISceneUpgradeToV4Service sceneUpgradeToV4Service; @Autowired ISceneCooperationService sceneCooperationService; @Autowired ISceneService sceneService; @Autowired IScenePlusService scenePlusService; @PostMapping("/findSceneNumber") public Result findSceneNumber(){ return Result.success(sceneProService.findSceneNumber(getToken())); } @PostMapping("/getOldSceneList") public Result getOldSceneList(@RequestBody SceneParam param){ User user = userService.getByToken(getToken()); param.setUserId(user.getId()); return Result.success(sceneService.pageList(param)); } @PostMapping(value = "/list") public Result getScenes(@RequestBody RequestScene param) throws Exception { String username = JwtUtil.getUsername(getToken()); return Result.success(sceneProService.getScenes(username, param)); } @PostMapping("/newList") public Result newList(@RequestBody SceneParam param){ String username = JwtUtil.getUsername(getToken()); return Result.success(sceneProService.newList(param,username)); } @PostMapping("/getOnlySceneList") public Result getOnlySceneList(@RequestBody SceneParam param){ String username = JwtUtil.getUsername(getToken()); param.setHasFolder(0); JSONObject jsonObject = sceneProService.newList(param, username); JSONObject pageInfo = jsonObject.getJSONObject("pageInfo"); pageInfo.put("endRow",0); pageInfo.put("firstPage",param.getPageNum()); pageInfo.put("hasNextPage",false); pageInfo.put("isLastPage",0); pageInfo.put("size",pageInfo.get("total")); Integer pages = pageInfo.getInteger("total") / param.getPageSize(); pageInfo.put("pages",pageInfo.getInteger("total") % param.getPageSize() == 0 ? pages : pages + 1); return Result.success(pageInfo); } /** * 获取场景详情 */ @RequestMapping(value = "/detail", method = RequestMethod.POST) public Result getSceneDetail(@RequestBody SceneParam param) throws Exception { return Result.success(sceneProService.getSceneDetail(param.getSceneNum())); } @PostMapping("/copyScene") public Result copyScene(@RequestBody SceneParam param) throws Exception { String username = JwtUtil.getUsername(getToken()); sceneProService.copyScene(param.getSceneNum(),username); return Result.success(); } @PostMapping("/delete") public Result delete(@RequestBody SceneParam param) throws Exception { sceneProService.delete(param.getSceneNum(),getUserId()); return Result.success(); } /** * 校验该场景有无下载资格 */ @PostMapping("/checkDownload") public Result checkDownload(@RequestBody SceneParam param) throws Exception { return Result.success( downService.checkDownLoad(param.getSceneNum(),param.getIsObj()) ); } /** * 校验该场景有无下载资格 * @param param * @return */ @PostMapping("/downloadScene") public Result downloadScene(@RequestBody SceneParam param) throws Exception{ String username = JwtUtil.getUsername(getToken()); return Result.success(downService.down(param.getSceneNum(),username,param.getIsObj())); } /** * 获取下载进度 * @param param * @return */ @PostMapping("/downloadProcess") public Result downloadProcess(@RequestBody SceneParam param) throws Exception{ User user = userService.getByUserName(JwtUtil.getUsername(this.getToken())); DownloadProcessVo downloadProcessVo = downService.downloadProcess(user.getId(), param.getSceneNum(),param.getIsObj()); if(downloadProcessVo.getStatus() == DownloadStatusEnum.DOWNLOAD_FAILED_CODE){ return Result.failure("下载失败!"); } return Result.success(downloadProcessVo); } /** * * 场景升级V4接口 */ @GetMapping("/upgradeToV4") public Result upgradeToV4(String num) throws Exception{ return sceneUpgradeToV4Service.upgrade(num); } /** * * 场景升级进度查询接口 */ @GetMapping("/getUpgradeToV4Progress") public Result getUpgradeToV4Progress(String num) throws Exception{ return sceneUpgradeToV4Service.getUpgradeToV4Progress(num); } /** * * 分页查询存在houseType文件的场景 */ @PostMapping("/pageSceneWithHouseType") public Result pageSceneWithHouseType(@RequestBody RequestScene param){ return scenePlusService.pageSceneWithHouseType(param,this.getToken()); } /** * * 根据场景码返回ar路径 */ @GetMapping("/getArPathByNum") public Result getArPathByNum(@RequestParam(value = "num") String num){ return scenePlusService.getArPathByNum(num); } }