LaserController.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package com.fdkankan.ucenter.controller.api;
  2. import com.fdkankan.common.constant.ErrorCode;
  3. import com.fdkankan.common.exception.BusinessException;
  4. import com.fdkankan.common.util.JwtUtil;
  5. import com.fdkankan.ucenter.common.BaseController;
  6. import com.fdkankan.ucenter.common.Result;
  7. import com.fdkankan.ucenter.entity.ScenePlus;
  8. import com.fdkankan.ucenter.entity.ScenePlusExt;
  9. import com.fdkankan.ucenter.entity.ScenePro;
  10. import com.fdkankan.ucenter.entity.User;
  11. import com.fdkankan.ucenter.service.*;
  12. import com.fdkankan.ucenter.vo.LaserSceneVo;
  13. import com.fdkankan.ucenter.vo.response.CameraAppVo;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.springframework.beans.BeanUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RequestMethod;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import java.util.*;
  22. import java.util.stream.Collectors;
  23. /**
  24. * 激光使用接口
  25. */
  26. @RestController
  27. @RequestMapping("/ucenter/laser")
  28. public class LaserController extends BaseController {
  29. @Autowired
  30. ISceneProService sceneProService;
  31. @Autowired
  32. IScenePlusService scenePlusService;
  33. @Autowired
  34. IScenePlusExtService scenePlusExtService;
  35. @Autowired
  36. ICameraService cameraService;
  37. @Autowired
  38. IUserService userService;
  39. @Autowired
  40. ICameraDetailService cameraDetailService;
  41. /**
  42. * 根据手机号码获取 相机 sncode
  43. */
  44. @RequestMapping(value = "/getSnCodeByPhone",method = RequestMethod.GET)
  45. public Result getSnCodeByUserName(@RequestParam(required = false)String phone,
  46. @RequestParam(required = false,defaultValue = "4")String sceneSource) throws Exception {
  47. if(StringUtils.isBlank(phone)){
  48. String token = getToken();
  49. phone = JwtUtil.getUsername(token);
  50. }
  51. if(StringUtils.isBlank(phone)){
  52. throw new BusinessException(ErrorCode.MISSING_REQUIRED_PARAMETERS);
  53. }
  54. List<Long> userIds = userService.getLikeUserName(phone);
  55. HashMap<String,Object> map = new HashMap<>();
  56. Set<String> snCodeSet = new HashSet<>();
  57. map.put("phone",phone);
  58. map.put("snCodes",snCodeSet);
  59. if(userIds.size() <=0){
  60. return Result.success(map);
  61. }
  62. List<CameraAppVo> camera = new ArrayList<>();
  63. if(sceneSource.contains(",")){
  64. String[] split = sceneSource.split(",");
  65. for (String resource : split) {
  66. if("4".equals(resource)){
  67. camera.addAll( cameraDetailService.getListByUserIdsAndType(userIds, 10));
  68. }
  69. if("5".equals(resource)){
  70. camera.addAll(cameraDetailService.getListByUserIdsAndType(userIds, 11));
  71. }
  72. }
  73. }
  74. if("4".equals(sceneSource)){
  75. camera = cameraDetailService.getListByUserIdsAndType(userIds, 10);
  76. }
  77. if("5".equals(sceneSource)){
  78. camera = cameraDetailService.getListByUserIdsAndType(userIds, 11);
  79. }
  80. if(camera.size() >0){
  81. snCodeSet = camera.stream().map(CameraAppVo::getSnCode).collect(Collectors.toSet());
  82. map.put("snCodes",snCodeSet);
  83. }
  84. return Result.success(map);
  85. }
  86. /**
  87. * 获取场景数据
  88. */
  89. @RequestMapping(value = "/getSceneByNum",method = RequestMethod.GET)
  90. public Result getSceneByNum(@RequestParam(required = false)String num) throws Exception {
  91. ScenePro sceneProEntity = sceneProService.getByNum(num);
  92. LaserSceneVo vo = new LaserSceneVo();
  93. Long userId = null;
  94. if(sceneProEntity!= null){
  95. vo.setNum(sceneProEntity.getNum());
  96. userId = sceneProEntity.getUserId();
  97. vo.setShootCount(sceneProEntity.getShootCount());
  98. }
  99. ScenePlus scenePlus = scenePlusService.getByNum(num);
  100. if(scenePlus != null){
  101. vo.setNum(scenePlus.getNum());
  102. userId = scenePlus.getUserId();
  103. ScenePlusExt byPlusId = scenePlusExtService.getByPlusId(scenePlus.getId());
  104. if(byPlusId !=null){
  105. vo.setShootCount(byPlusId.getShootCount());
  106. }
  107. }
  108. if(userId != null){
  109. User user = userService.getById(userId);
  110. if(user!=null){
  111. vo.setUserPhone(user.getUserName());
  112. vo.setUserId(user.getId());
  113. }
  114. }
  115. return Result.success(vo);
  116. }
  117. }