SceneCooperationController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package com.fdkankan.scene.controller;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.fdkankan.common.constant.ErrorCode;
  5. import com.fdkankan.common.controller.BaseController;
  6. import com.fdkankan.common.exception.BusinessException;
  7. import com.fdkankan.common.response.ResultData;
  8. import com.fdkankan.common.user.SSOLoginHelper;
  9. import com.fdkankan.common.user.SSOUser;
  10. import com.fdkankan.common.util.JwtUtil;
  11. import com.fdkankan.platform.api.feign.PlatformGoodsClient;
  12. import com.fdkankan.platform.api.vo.Camera;
  13. import com.fdkankan.scene.entity.SceneCooperation;
  14. import com.fdkankan.scene.service.ISceneCooperationService;
  15. import com.fdkankan.scene.vo.SceneCooperationParamVO;
  16. import java.util.ArrayList;
  17. import java.util.Arrays;
  18. import java.util.List;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.util.ObjectUtils;
  21. import org.springframework.web.bind.annotation.PostMapping;
  22. import org.springframework.web.bind.annotation.RequestBody;
  23. import org.springframework.web.bind.annotation.RequestMapping;
  24. import org.springframework.web.bind.annotation.RequestMethod;
  25. import org.springframework.web.bind.annotation.RestController;
  26. /**
  27. * <p>
  28. * 前端控制器
  29. * </p>
  30. *
  31. * @author dengsixing
  32. * @since 2021-12-23
  33. */
  34. @RestController
  35. @RequestMapping("/api/scene/user/cooperation")
  36. public class SceneCooperationController extends BaseController {
  37. @Autowired
  38. private SSOLoginHelper ssoLoginHelper;
  39. @Autowired
  40. private ISceneCooperationService sceneCooperationService;
  41. /**
  42. * 协作者根据场景码获取场景资源集合
  43. * @return
  44. */
  45. @RequestMapping(value = "/sceneResourceBySceneNum")
  46. public ResultData sceneResourceBySceneNum(@RequestBody SceneCooperationParamVO param) throws Exception{
  47. SSOUser ssoUser = ssoLoginHelper.loginCheck(getToken());
  48. if(StrUtil.isEmpty(param.getNum())){
  49. throw new BusinessException(ErrorCode.FAILURE_CODE_3001);
  50. }
  51. // 解密获得username,用于和数据库进行对比
  52. String username = JwtUtil.getUsername(getToken());
  53. param.setUserId(ssoUser.getId());
  54. param.setUserName(username);
  55. return sceneCooperationService.sceneResourceBySceneNum(param);
  56. }
  57. // /**
  58. // * 协作的场景
  59. // * @return
  60. // */
  61. // @ApiOperation("协作的场景--文件夹形式")
  62. // @RequestMapping(value = "/cooperationSceneListNew", method = RequestMethod.POST)
  63. // @ApiImplicitParams({
  64. // @ApiImplicitParam(name = "pageNum", value = "分页", dataType = "number"),
  65. // @ApiImplicitParam(name = "sceneSource", value = "1表示八目,2双目", dataType = "number"),
  66. // @ApiImplicitParam(name = "sceneType", value = "场景类型,0表示其他,1表示文博,2表示地产,3表示电商,4表示餐饮,5表示家居", dataType = "number"),
  67. // @ApiImplicitParam(name = "folderType", value = "文件夹类型:0场景,1协作场景", dataType = "String"),
  68. // @ApiImplicitParam(name = "startTime", value = "开始时间", dataType = "String"),
  69. // @ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "String"),
  70. // @ApiImplicitParam(name = "pageSize", value = "每页大小", dataType = "number")})
  71. // public Result cooperationSceneListNew(@RequestBody RequestScene param) throws Exception{
  72. // SSOUser ssoUser = SSOLoginHelper.loginCheck(getToken());
  73. //
  74. // //查询该用户所有的协作场景
  75. // Condition condition = new Condition(SceneCooperationEntity.class);
  76. // condition.and().andEqualTo("userId", ssoUser.getId());
  77. // condition.orderBy("id").desc();
  78. // List<SceneCooperationEntity> list = sceneCooperationService.findAll(condition, "create_time desc");
  79. //
  80. // //获取所有协作场景的场景码集合
  81. // List<String> sceneNumList = new ArrayList<>();
  82. // for(SceneCooperationEntity cooperationEntity: list){
  83. // sceneNumList.add(cooperationEntity.getSceneNum());
  84. // }
  85. //
  86. // List<Object> result = new ArrayList<>();
  87. // List<SceneProEntity> sceneEntityList = new ArrayList<>();
  88. // List<FolderEntity> folderEntityList = new ArrayList<>();
  89. //
  90. // if(sceneNumList.size() <= 0){
  91. // result.addAll(folderService.convert(folderEntityList));
  92. // PageInfo<Object> data = PageInfoUtils.list2PageInfo(result, param.getPageNum(), param.getPageSize());
  93. // return Result.success(data);
  94. // }
  95. //
  96. // //根目录时,需要排除已经归类的场景
  97. // if(ObjectUtils.isEmpty(param.getFolderId())){
  98. // Condition sceneCondition = new Condition(SceneProEntity.class);
  99. // sceneCondition.and().andNotEqualTo("sceneSource", "11").andIn("num", sceneNumList);
  100. // if(!ObjectUtils.isEmpty(param.getSceneSource())){
  101. // if(param.getSceneSource().contains(",")){
  102. // sceneCondition.and().andIn("sceneSource", Arrays.asList(param.getSceneSource().split(",")));
  103. // }else{
  104. // sceneCondition.and().andEqualTo("sceneSource", param.getSceneSource());
  105. // }
  106. // }
  107. // if(!StringUtil.isNotEmpty(param.getSceneType())){
  108. // sceneCondition.and().andEqualTo("sceneType", param.getSceneType());
  109. // }
  110. // if(!ObjectUtils.isEmpty(param.getStartTime())){
  111. // sceneCondition.and().andGreaterThanOrEqualTo("createTime", param.getStartTime());
  112. // }
  113. // if(!ObjectUtils.isEmpty(param.getEndTime())){
  114. // sceneCondition.and().andLessThanOrEqualTo("createTime", param.getEndTime());
  115. // }
  116. // sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc");
  117. //
  118. // }else {
  119. // //获取文件夹数量
  120. // condition = new Condition(FolderEntity.class);
  121. // condition.and().andEqualTo("userId", ssoUser.getId()).andEqualTo("parentId", param.getFolderId());
  122. // folderEntityList = folderService.findAll(condition, "create_time desc");
  123. // //没有协作场景,直接放回文件夹的列表
  124. // if(sceneNumList.size() <= 0){
  125. // result.addAll(folderService.convert(folderEntityList));
  126. // PageInfo<Object> data = PageInfoUtils.list2PageInfo(result, param.getPageNum(), param.getPageSize());
  127. // return Result.success(data);
  128. // }
  129. //
  130. // //进入目录层级后,根据目录获取当前目录的所有场景
  131. // Condition folderSceneCondition = new Condition(FolderSceneEntity.class);
  132. // folderSceneCondition.and().andEqualTo("folderId", param.getFolderId());
  133. //
  134. // List<Long> sceneIdList = new ArrayList<>();
  135. //
  136. // List<FolderSceneEntity> folderSceneList = folderSceneService.findAll(folderSceneCondition, "create_time desc");
  137. // if(folderSceneList != null && folderSceneList.size() > 0){
  138. // for (FolderSceneEntity folderSceneEntity : folderSceneList) {
  139. // sceneIdList.add(folderSceneEntity.getSceneId());
  140. // }
  141. // }
  142. //
  143. // if(sceneIdList.size() > 0){
  144. // Condition sceneCondition = new Condition(SceneProEntity.class);
  145. // sceneCondition.and().andIn("id", sceneIdList)
  146. // .andNotEqualTo("sceneSource", "11").andIn("num", sceneNumList);
  147. //
  148. // if(param.getSceneSource() != null){
  149. // if(param.getSceneSource().contains(",")){
  150. // sceneCondition.and().andIn("sceneSource", Arrays.asList(param.getSceneSource().split(",")));
  151. // }else{
  152. // sceneCondition.and().andEqualTo("sceneSource", param.getSceneSource());
  153. // }
  154. // }
  155. // if(StringUtil.isNotEmpty(param.getSceneType())){
  156. // sceneCondition.and().andEqualTo("sceneType", param.getSceneType());
  157. // }
  158. // if(param.getStartTime() != null){
  159. // sceneCondition.and().andGreaterThanOrEqualTo("createTime", param.getStartTime());
  160. // }
  161. // if(param.getEndTime() != null){
  162. // sceneCondition.and().andLessThanOrEqualTo("createTime", param.getEndTime());
  163. // }
  164. // sceneEntityList = sceneProService.findAll(sceneCondition, "create_time desc");
  165. // }
  166. // }
  167. // List<ResponseScene> responseScenes = sceneService.convertPro(sceneEntityList);
  168. //
  169. // if(ObjectUtils.isEmpty(param.getSceneSource())&& StringUtil.isEmpty(param.getSceneType()) &&
  170. // param.getStartTime() == null && param.getEndTime() == null){
  171. //
  172. // result.addAll(folderService.convert(folderEntityList));
  173. // }
  174. //
  175. // result.addAll(responseScenes);
  176. //
  177. // PageInfo<Object> data = PageInfoUtils.list2PageInfo(result, param.getPageNum(), param.getPageSize());
  178. // data.getList().parallelStream().filter(object -> object instanceof ResponseScene).forEach(object -> {
  179. // ResponseScene responseScene = (ResponseScene) object;
  180. // if (responseScene.getCameraId() != null) {
  181. // CameraEntity cameraEntity = goodsService.findCameraById(responseScene.getCameraId());
  182. // if (cameraEntity != null) {
  183. // responseScene.setChildName(cameraEntity.getChildName());
  184. // responseScene.setSnCode(cameraEntity.getSnCode());
  185. // }
  186. // }
  187. // // 获取VrThumb
  188. // SceneProEditEntity editEntity = sceneProEditService.findByProId(responseScene.getId());
  189. // if (!ObjectUtils.isEmpty(editEntity)) {
  190. // responseScene.setVrNum(editEntity.getVrNum());
  191. // }
  192. // });
  193. // return Result.success(data);
  194. // }
  195. @PostMapping("/test")
  196. public Page test(int pageNum, int pageSize){
  197. Page<SceneCooperation> page = new Page<>(pageNum, pageSize);
  198. sceneCooperationService.page(page);
  199. return page;
  200. }
  201. }