UserSceenFeign.java 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. package com.fdkankan.scene.feign;
  2. import com.aliyuncs.utils.StringUtils;
  3. import com.fdkankan.common.response.ResultData;
  4. import com.fdkankan.scene.api.dto.SceneCntDTO;
  5. import com.fdkankan.scene.api.dto.SceneInfoDTO;
  6. import com.fdkankan.scene.api.dto.ScenePODTO;
  7. import com.fdkankan.scene.api.dto.SceneProDTO;
  8. import com.fdkankan.scene.entity.SceneCooperation;
  9. import com.fdkankan.scene.entity.ScenePO;
  10. import com.fdkankan.scene.entity.SceneProPO;
  11. import com.fdkankan.scene.service.*;
  12. import com.fdkankan.scene.vo.SceneInfoParamVO;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.util.CollectionUtils;
  17. import org.springframework.web.bind.annotation.PostMapping;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import java.util.ArrayList;
  22. import java.util.List;
  23. import java.util.stream.Collectors;
  24. /**
  25. * 提供计算调用
  26. */
  27. @RestController
  28. @RequestMapping("/feign/user/scene")
  29. @Slf4j
  30. public class UserSceenFeign {
  31. @Autowired
  32. IUserSceneService userSceneService;
  33. @Autowired
  34. ISceneDownloadLogService sceneDownloadLogService;
  35. @Autowired
  36. ISceneEditInfoService sceneEditInfoService;
  37. @Autowired
  38. ISceneService sceneService;
  39. @Autowired
  40. ISceneProService sceneProService;
  41. @Autowired
  42. ISceneResourceCameraService sceneResourceCameraService;
  43. @Autowired
  44. ISceneResourceCooperationService sceneResourceCooperationService;
  45. @Autowired
  46. ISceneCooperationService sceneCooperationService;
  47. @Autowired
  48. IFdkkLaserService fdkkLaserService;
  49. @Autowired
  50. ISceneProEditService sceneProEditService;
  51. @Autowired
  52. ISceneResourceService sceneResourceService;
  53. @PostMapping("/getSceneCnt")
  54. ResultData<SceneCntDTO> getSceneCnt(@RequestParam(value = "userId") Long userId, Long cameraId){
  55. SceneCntDTO sceneCntDTO = userSceneService.getSceneCnt(userId, cameraId);
  56. return ResultData.ok(sceneCntDTO);
  57. }
  58. @PostMapping("/getSceneNumByCameraId")
  59. public ResultData<Integer> getSceneNumByCameraId(@RequestParam(value = "cameraId") Long cameraId){
  60. Integer sceneNum = userSceneService.getSceneNumByCameraId(cameraId);
  61. return ResultData.ok(sceneNum);
  62. }
  63. @PostMapping("/getLastSceneByCameraId")
  64. ResultData<SceneProDTO> getLastSceneByCameraId(@RequestParam(value = "cameraId") Long cameraId){
  65. return ResultData.ok(userSceneService.getLastSceneByCameraId(cameraId));
  66. }
  67. @PostMapping("/updateSceneDownloadLog")
  68. ResultData updateSceneDownloadLog(@RequestParam(value = "num") String num,
  69. @RequestParam(value = "status") Integer status, String url, String reason){
  70. sceneDownloadLogService.updateSceneDownloadLog(num, status, url, reason);
  71. return ResultData.ok();
  72. }
  73. @PostMapping("/getSceneViewInfo")
  74. ResultData<SceneInfoDTO> getSceneViewInfo(@RequestParam(value = "num") String num) throws Exception{
  75. return ResultData.ok(
  76. sceneEditInfoService.getSceneInfo4Download(
  77. SceneInfoParamVO.builder().num(num).build()));
  78. }
  79. @Autowired
  80. private ISceneProAppService sceneProAppService;
  81. @PostMapping("/lockBeyondSpaceScenes")
  82. ResultData lockBeyondSpaceScenes(@RequestParam(value = "usedSpace")Long usedSpace,
  83. @RequestParam(value = "totalSpace")Long totalSpace,
  84. @RequestParam(value = "cameraId")Long cameraId) throws Exception{
  85. sceneProAppService.lockBeyondSpaceScenes(usedSpace,totalSpace,cameraId);
  86. return ResultData.ok();
  87. }
  88. @PostMapping("/unlockBeyondSpaceScenes")
  89. ResultData unlockBeyondSpaceScenes(@RequestParam(value = "usedSpace")Long usedSpace,
  90. @RequestParam(value = "cameraId")Long cameraId) throws Exception{
  91. sceneProAppService.unlockBeyondSpaceScenes(usedSpace,cameraId);
  92. return ResultData.ok();
  93. }
  94. @PostMapping("/findAllByYesterday")
  95. ResultData<List<ScenePO>> findAllByYesterday() throws Exception{
  96. List<ScenePO> allByYesterday = sceneService.findAllByYesterday();
  97. List<ScenePODTO> List = new ArrayList<>();
  98. for (ScenePO scenePO : allByYesterday) {
  99. ScenePODTO scenePODTO = new ScenePODTO();
  100. BeanUtils.copyProperties(scenePO,scenePODTO);
  101. List.add(scenePODTO);
  102. }
  103. return ResultData.ok(List);
  104. }
  105. @PostMapping("/updatePayStatus")
  106. ResultData updatePayStatus(@RequestParam(value = "num")String num ,
  107. @RequestParam(value = "payStatus")Integer payStatus){
  108. sceneService.updatePayStatus(num,payStatus);
  109. return ResultData.ok();
  110. }
  111. @PostMapping("/updateUserIdByCameraId")
  112. ResultData updateUserIdByCameraId(@RequestParam(value = "userId")Long userId,
  113. @RequestParam(value = "cameraId")Long cameraId) throws Exception{
  114. sceneService.updateUserIdByCameraId(userId,cameraId);
  115. sceneProService.updateUserIdByCameraId(userId,cameraId);
  116. return ResultData.ok();
  117. }
  118. @PostMapping("/getSceneCount")
  119. ResultData getSceneCount(@RequestParam(value = "cameraId")Long cameraId,
  120. @RequestParam(value = "userId")Long userId ,
  121. @RequestParam(value = "cameraType")Integer cameraType ) throws Exception{
  122. if(cameraId!=null){
  123. return ResultData.ok(sceneProService.getSceneCount(cameraId,null));
  124. }
  125. if(cameraType == null || cameraType != 4){
  126. return ResultData.ok(sceneService.getSceneCount(null,userId));
  127. }
  128. return ResultData.ok(sceneProService.getSceneCount(null,userId));
  129. }
  130. @PostMapping("/disableCooperation")
  131. ResultData disableCooperation(@RequestParam(value = "cameraId")Long cameraId,
  132. @RequestParam(value = "snCode")String snCode,
  133. @RequestParam(value = "cooperationUserName")String cooperationUserName){
  134. sceneResourceCameraService.deleteByCameraId(cameraId);
  135. deleteCooperation(cameraId);
  136. if(StringUtils.isEmpty(snCode)){
  137. fdkkLaserService.disableCooperation(snCode,cooperationUserName);
  138. }
  139. return ResultData.ok();
  140. }
  141. @PostMapping("/saveCooperation")
  142. ResultData saveCooperation(@RequestParam(value = "cameraId") Long cameraId,
  143. @RequestParam(value = "resourceIds") String resourceIds,
  144. @RequestParam(value = "userId") Long userId,
  145. @RequestParam(value = "snCode")String snCode,
  146. @RequestParam(value = "cooperationUserName")String cooperationUserName){
  147. sceneResourceCameraService.saveByResourceIds(cameraId,resourceIds);
  148. List<SceneProPO> sceneProPOS = deleteCooperation(cameraId);
  149. sceneCooperationService.saveByResourceIds(sceneProPOS,cameraId,resourceIds,userId);
  150. if(StringUtils.isEmpty(snCode)){
  151. fdkkLaserService.disableCooperation(snCode,cooperationUserName);
  152. fdkkLaserService.enableCameraCooperation(snCode,cooperationUserName);
  153. }
  154. return ResultData.ok();
  155. }
  156. private List<SceneProPO> deleteCooperation(Long cameraId){
  157. List<SceneProPO> sceneProList = sceneProService.findByCameraIdPro(cameraId);
  158. if(!CollectionUtils.isEmpty(sceneProList)) {
  159. List<String> numList = sceneProList.stream().map(SceneProPO::getNum).collect(Collectors.toList());
  160. List<SceneCooperation> list = sceneCooperationService.getListByNums(numList);
  161. List<Long> cooIds = list.parallelStream().map(SceneCooperation::getId).collect(Collectors.toList());
  162. if(cooIds.size() >0){
  163. //删除相机下每个场景的关联关系
  164. sceneResourceCooperationService.deleteByCooperationIds(cooIds);
  165. sceneCooperationService.updateRecStatusList(cooIds);
  166. }
  167. }
  168. return sceneProList;
  169. }
  170. @PostMapping("/updateImageVersionFromSceneProEdit")
  171. ResultData updateImageVersionFromSceneProEdit(@RequestParam(value = "num" ) String num){
  172. sceneProEditService.updateImageVersionByNum(num);
  173. return ResultData.ok();
  174. }
  175. @PostMapping("/getSceneResourceByCameraId")
  176. ResultData getSceneResourceByCameraId(@RequestParam(value = "cameraId" ) Long cameraId){
  177. return ResultData.ok(sceneResourceService.findByCameraId(cameraId));
  178. }
  179. @PostMapping("/checkDownLoad")
  180. ResultData checkDownLoad(@RequestParam(value = "sceneNum") String sceneNum){
  181. return sceneProService.checkDownLoad(sceneNum);
  182. }
  183. }