FdService.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.fdkankan.fusion.httpClient;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import cn.hutool.core.date.DateUtil;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.fdkankan.fusion.common.ResultCode;
  6. import com.fdkankan.fusion.common.util.DateUtils;
  7. import com.fdkankan.fusion.common.util.RedisKeyUtil;
  8. import com.fdkankan.fusion.entity.TmCamera;
  9. import com.fdkankan.fusion.exception.BusinessException;
  10. import com.fdkankan.fusion.httpClient.client.FdKKClient;
  11. import com.fdkankan.fusion.httpClient.client.LaserClient;
  12. import com.fdkankan.fusion.httpClient.client.TakeLookClient;
  13. import com.fdkankan.fusion.httpClient.request.FdRoomAddParam;
  14. import com.fdkankan.fusion.httpClient.request.FdkkCameraParam;
  15. import com.fdkankan.fusion.httpClient.request.FdkkDelNumParam;
  16. import com.fdkankan.fusion.httpClient.request.LaserSceneParam;
  17. import com.fdkankan.fusion.httpClient.response.FdRoomVo;
  18. import com.fdkankan.fusion.httpClient.response.FdkkLoginVo;
  19. import com.fdkankan.fusion.httpClient.response.FdkkResponse;
  20. import com.fdkankan.fusion.response.CameraVo;
  21. import com.fdkankan.redis.util.RedisUtil;
  22. import org.apache.commons.lang3.StringUtils;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.stereotype.Service;
  25. import java.util.ArrayList;
  26. import java.util.Date;
  27. import java.util.List;
  28. import java.util.stream.Collectors;
  29. @Service
  30. public class FdService {
  31. @Autowired
  32. RedisUtil redisUtil;
  33. @Autowired
  34. FdKKClient fdKKClient;
  35. @Autowired
  36. LaserClient laserClient;
  37. @Autowired
  38. TakeLookClient takeLookClient;
  39. public String getFdToken(String fusionToken){
  40. String jsObj = redisUtil.get(String.format(RedisKeyUtil.fusionLoginToken, fusionToken));
  41. FdkkLoginVo vo = JSONObject.parseObject(jsObj, FdkkLoginVo.class);
  42. if(vo == null){
  43. throw new BusinessException(ResultCode.USER_NOT_LOGIN);
  44. }
  45. return vo.getFdToken();
  46. }
  47. public String getFdToken(){
  48. String jsObj = redisUtil.get(String.format(RedisKeyUtil.fusionLoginToken, StpUtil.getTokenValue()));
  49. FdkkLoginVo vo = JSONObject.parseObject(jsObj, FdkkLoginVo.class);
  50. if(vo == null){
  51. throw new BusinessException(ResultCode.USER_NOT_LOGIN);
  52. }
  53. return vo.getFdToken();
  54. }
  55. public String getFdTokenByUserName(String userName) {
  56. return null;
  57. }
  58. public FdkkResponse fdkkUnbind(List<TmCamera> cameras) {
  59. List<Long> cameraIds = cameras.stream().map(TmCamera::getFdCameraId).collect(Collectors.toList());
  60. String ids = StringUtils.join(cameraIds, ",");
  61. FdkkCameraParam request = new FdkkCameraParam(ids);
  62. return fdKKClient.fdkkUnbind(request,this.getFdToken());
  63. }
  64. public FdkkResponse<CameraVo> getCameraDetail(String snCode) {
  65. FdkkCameraParam request = new FdkkCameraParam(snCode,snCode);
  66. return fdKKClient.fdkkCameraDetail(request,getFdToken());
  67. }
  68. public FdkkResponse<List<CameraVo>> getCameraDetails(List<String> snCodes) {
  69. FdkkCameraParam request = new FdkkCameraParam(snCodes);
  70. return fdKKClient.fdkkCameraDetails(request,getFdToken());
  71. }
  72. public FdkkResponse fdkKBind(String cameraSn,String userName) {
  73. FdkkCameraParam request = new FdkkCameraParam(cameraSn,cameraSn,userName);
  74. return fdKKClient.fdkKBind(request,getFdToken());
  75. }
  76. public Object getFdTokenByNum(String num) {
  77. return fdKKClient.getFdTokenByNum(num,getFdToken());
  78. }
  79. public FdkkResponse<FdRoomAddParam> fdCreateTakeLookRoom(String caseTitle,List<String> numList,String roomId) {
  80. FdRoomAddParam param = new FdRoomAddParam();
  81. param.setRoomTitle(caseTitle);
  82. param.setNumList(numList);
  83. param.setRoomId(roomId);
  84. param.setMaxMan(30);
  85. param.setUseStartTime(new Date());
  86. param.setUseEndTime(DateUtils.getHoursTime(new Date()));
  87. param.setPlatform("fd");
  88. return takeLookClient.roomAddOrUpdate(param,getFdToken());
  89. }
  90. public void fdOpenTakeLookRoom(String takeRoomId) {
  91. takeLookClient.openRoom(takeRoomId,getFdToken());
  92. }
  93. public void deleteNum(String num) {
  94. fdKKClient.deleteNum(new FdkkDelNumParam(num),getFdToken());
  95. }
  96. public void buildSceneObj(LaserSceneParam param) {
  97. FdkkResponse fdkkResponse = laserClient.buildSceneObj(param, getFdToken());
  98. if(fdkkResponse.getCode() != 200){
  99. throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
  100. }
  101. }
  102. public Object sceneDetail(LaserSceneParam param) {
  103. FdkkResponse fdkkResponse = laserClient.sceneDetail(param, getFdToken());
  104. if(fdkkResponse.getCode() != 200){
  105. throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
  106. }
  107. return fdkkResponse.getData();
  108. }
  109. }