package com.fdkankan.scene.controller; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.common.constant.ErrorCode; import com.fdkankan.common.controller.BaseController; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.common.response.ResultData; import com.fdkankan.common.user.SSOLoginHelper; import com.fdkankan.common.user.SSOUser; import com.fdkankan.common.util.JwtUtil; import com.fdkankan.platform.api.feign.PlatformGoodsClient; import com.fdkankan.platform.api.vo.Camera; import com.fdkankan.scene.entity.SceneCooperation; import com.fdkankan.scene.service.ISceneCooperationService; import com.fdkankan.scene.vo.SceneCooperationParamVO; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; 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.RestController; /** *

* 前端控制器 *

* * @author dengsixing * @since 2021-12-23 */ @RestController @RequestMapping("/api/scene/user/cooperation") public class SceneCooperationController extends BaseController { @Autowired private SSOLoginHelper ssoLoginHelper; @Autowired private ISceneCooperationService sceneCooperationService; /** * 协作者根据场景码获取场景资源集合 * @return */ @RequestMapping(value = "/sceneResourceBySceneNum") public ResultData sceneResourceBySceneNum(@RequestBody SceneCooperationParamVO param) throws Exception{ SSOUser ssoUser = ssoLoginHelper.loginCheck(getToken()); if(StrUtil.isEmpty(param.getNum())){ throw new BusinessException(ErrorCode.FAILURE_CODE_3001); } // 解密获得username,用于和数据库进行对比 String username = JwtUtil.getUsername(getToken()); param.setUserId(ssoUser.getId()); param.setUserName(username); return sceneCooperationService.sceneResourceBySceneNum(param); } // /** // * 协作的场景 // * @return // */ // @ApiOperation("协作的场景--文件夹形式") // @RequestMapping(value = "/cooperationSceneListNew", method = RequestMethod.POST) // @ApiImplicitParams({ // @ApiImplicitParam(name = "pageNum", value = "分页", dataType = "number"), // @ApiImplicitParam(name = "sceneSource", value = "1表示八目,2双目", dataType = "number"), // @ApiImplicitParam(name = "sceneType", value = "场景类型,0表示其他,1表示文博,2表示地产,3表示电商,4表示餐饮,5表示家居", dataType = "number"), // @ApiImplicitParam(name = "folderType", value = "文件夹类型:0场景,1协作场景", dataType = "String"), // @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "String"), // @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "String"), // @ApiImplicitParam(name = "pageSize", value = "每页大小", dataType = "number")}) // public Result cooperationSceneListNew(@RequestBody RequestScene param) throws Exception{ // SSOUser ssoUser = SSOLoginHelper.loginCheck(getToken()); // // //查询该用户所有的协作场景 // Condition condition = new Condition(SceneCooperationEntity.class); // condition.and().andEqualTo("userId", ssoUser.getId()); // condition.orderBy("id").desc(); // List list = sceneCooperationService.findAll(condition, "create_time desc"); // // //获取所有协作场景的场景码集合 // List sceneNumList = new ArrayList<>(); // for(SceneCooperationEntity cooperationEntity: list){ // sceneNumList.add(cooperationEntity.getSceneNum()); // } // // List result = new ArrayList<>(); // List sceneEntityList = new ArrayList<>(); // List folderEntityList = new ArrayList<>(); // // if(sceneNumList.size() <= 0){ // result.addAll(folderService.convert(folderEntityList)); // PageInfo data = PageInfoUtils.list2PageInfo(result, param.getPageNum(), param.getPageSize()); // return Result.success(data); // } // // //根目录时,需要排除已经归类的场景 // if(ObjectUtils.isEmpty(param.getFolderId())){ // Condition sceneCondition = new Condition(SceneProEntity.class); // sceneCondition.and().andNotEqualTo("sceneSource", "11").andIn("num", sceneNumList); // if(!ObjectUtils.isEmpty(param.getSceneSource())){ // if(param.getSceneSource().contains(",")){ // sceneCondition.and().andIn("sceneSource", Arrays.asList(param.getSceneSource().split(","))); // }else{ // sceneCondition.and().andEqualTo("sceneSource", param.getSceneSource()); // } // } // if(!StringUtil.isNotEmpty(param.getSceneType())){ // sceneCondition.and().andEqualTo("sceneType", param.getSceneType()); // } // if(!ObjectUtils.isEmpty(param.getStartTime())){ // sceneCondition.and().andGreaterThanOrEqualTo("createTime", param.getStartTime()); // } // if(!ObjectUtils.isEmpty(param.getEndTime())){ // sceneCondition.and().andLessThanOrEqualTo("createTime", param.getEndTime()); // } // sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc"); // // }else { // //获取文件夹数量 // condition = new Condition(FolderEntity.class); // condition.and().andEqualTo("userId", ssoUser.getId()).andEqualTo("parentId", param.getFolderId()); // folderEntityList = folderService.findAll(condition, "create_time desc"); // //没有协作场景,直接放回文件夹的列表 // if(sceneNumList.size() <= 0){ // result.addAll(folderService.convert(folderEntityList)); // PageInfo data = PageInfoUtils.list2PageInfo(result, param.getPageNum(), param.getPageSize()); // return Result.success(data); // } // // //进入目录层级后,根据目录获取当前目录的所有场景 // Condition folderSceneCondition = new Condition(FolderSceneEntity.class); // folderSceneCondition.and().andEqualTo("folderId", param.getFolderId()); // // List sceneIdList = new ArrayList<>(); // // List folderSceneList = folderSceneService.findAll(folderSceneCondition, "create_time desc"); // if(folderSceneList != null && folderSceneList.size() > 0){ // for (FolderSceneEntity folderSceneEntity : folderSceneList) { // sceneIdList.add(folderSceneEntity.getSceneId()); // } // } // // if(sceneIdList.size() > 0){ // Condition sceneCondition = new Condition(SceneProEntity.class); // sceneCondition.and().andIn("id", sceneIdList) // .andNotEqualTo("sceneSource", "11").andIn("num", sceneNumList); // // if(param.getSceneSource() != null){ // if(param.getSceneSource().contains(",")){ // sceneCondition.and().andIn("sceneSource", Arrays.asList(param.getSceneSource().split(","))); // }else{ // sceneCondition.and().andEqualTo("sceneSource", param.getSceneSource()); // } // } // if(StringUtil.isNotEmpty(param.getSceneType())){ // sceneCondition.and().andEqualTo("sceneType", param.getSceneType()); // } // if(param.getStartTime() != null){ // sceneCondition.and().andGreaterThanOrEqualTo("createTime", param.getStartTime()); // } // if(param.getEndTime() != null){ // sceneCondition.and().andLessThanOrEqualTo("createTime", param.getEndTime()); // } // sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc"); // } // } // List responseScenes = sceneService.convertPro(sceneEntityList); // // if(ObjectUtils.isEmpty(param.getSceneSource())&& StringUtil.isEmpty(param.getSceneType()) && // param.getStartTime() == null && param.getEndTime() == null){ // // result.addAll(folderService.convert(folderEntityList)); // } // // result.addAll(responseScenes); // // PageInfo data = PageInfoUtils.list2PageInfo(result, param.getPageNum(), param.getPageSize()); // data.getList().parallelStream().filter(object -> object instanceof ResponseScene).forEach(object -> { // ResponseScene responseScene = (ResponseScene) object; // if (responseScene.getCameraId() != null) { // CameraEntity cameraEntity = goodsService.findCameraById(responseScene.getCameraId()); // if (cameraEntity != null) { // responseScene.setChildName(cameraEntity.getChildName()); // responseScene.setSnCode(cameraEntity.getSnCode()); // } // } // // 获取VrThumb // SceneProEditEntity editEntity = sceneProEditService.findByProId(responseScene.getId()); // if (!ObjectUtils.isEmpty(editEntity)) { // responseScene.setVrNum(editEntity.getVrNum()); // } // }); // return Result.success(data); // } @PostMapping("/test") public Page test(int pageNum, int pageSize){ Page page = new Page<>(pageNum, pageSize); sceneCooperationService.page(page); return page; } }