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.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.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** *
* 场景表 前端控制器 *
* * @author * @since 2022-07-04 */ @RestController @RequestMapping("/user/scene") public class SceneController extends BaseController { @Autowired ISceneProService sceneProService; @Autowired IUserService userService; @Autowired IDownService downService; @Autowired private ISceneUpgradeToV4Service sceneUpgradeToV4Service; @Autowired ISceneCooperationService sceneCooperationService; @PostMapping("/findSceneNumber") public Result findSceneNumber(@RequestHeader String token){ return Result.success(sceneProService.findSceneNumber(token)); } @PostMapping("/newList") public Result newList(@RequestBody SceneParam param,@RequestHeader String token){ String username = JwtUtil.getUsername(token); return Result.success(sceneProService.newList(param,username)); } @PostMapping("/getOnlySceneList") public Result getOnlySceneList(@RequestBody SceneParam param,@RequestHeader String token){ String username = JwtUtil.getUsername(token); param.setHasFolder(0); JSONObject jsonObject = sceneProService.newList(param, username); return Result.success(jsonObject.getJSONObject("pageInfo")); } @PostMapping("/copyScene") public Result copyScene(@RequestBody SceneParam param,@RequestHeader String token) throws Exception { String username = JwtUtil.getUsername(token); sceneProService.copyScene(param.getSceneNum(),username); return Result.success(); } @PostMapping("/delete") public Result delete(@RequestBody SceneParam param) throws Exception { sceneProService.delete(param.getSceneNum()); return Result.success(); } /** * 校验该场景有无下载资格 */ @PostMapping("/checkDownload") public Result checkDownload(@RequestBody SceneParam param) throws Exception { return Result.success( downService.checkDownLoad(param.getSceneNum()) ); } /** * 校验该场景有无下载资格 * @param param * @return */ @PostMapping("/downloadScene") public Result downloadScene(@RequestBody SceneParam param,@RequestHeader String token) throws Exception{ String username = JwtUtil.getUsername(token); return Result.success(downService.down(param.getSceneNum(),username)); } /** * 获取下载进度 * @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()); 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); } /** * * 激光场景生成obj文件 */ @PostMapping(value = "/generateObjFile") public Result generateObjFile(@RequestBody SceneParam requestScene) throws Exception{ String num = requestScene.getSceneNum(); if (StringUtils.isEmpty(num)) { throw new BusinessException(LoginConstant.FAILURE_CODE_3001, LoginConstant.FAILURE_MSG_3001); } sceneProService.generateObjFile(num); return Result.success(); } /** * * 场景升级进度查询接口 */ @GetMapping("/getUpgradeToV4Progress") public Result getUpgradeToV4Progress(String num) throws Exception{ return sceneUpgradeToV4Service.getUpgradeToV4Progress(num); } }