FdService.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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.RedisKeyUtil;
  7. import com.fdkankan.fusion.entity.TmCamera;
  8. import com.fdkankan.fusion.exception.BusinessException;
  9. import com.fdkankan.fusion.httpClient.client.FdKKClient;
  10. import com.fdkankan.fusion.httpClient.client.TakeLookClient;
  11. import com.fdkankan.fusion.httpClient.request.FdRoomAddParam;
  12. import com.fdkankan.fusion.httpClient.request.FdkkCameraParam;
  13. import com.fdkankan.fusion.httpClient.request.FdkkDelNumParam;
  14. import com.fdkankan.fusion.httpClient.response.FdRoomVo;
  15. import com.fdkankan.fusion.httpClient.response.FdkkLoginVo;
  16. import com.fdkankan.fusion.httpClient.response.FdkkResponse;
  17. import com.fdkankan.fusion.response.CameraVo;
  18. import com.fdkankan.redis.util.RedisUtil;
  19. import org.apache.commons.lang3.StringUtils;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import java.util.ArrayList;
  23. import java.util.Date;
  24. import java.util.List;
  25. import java.util.stream.Collectors;
  26. @Service
  27. public class FdService {
  28. @Autowired
  29. RedisUtil redisUtil;
  30. @Autowired
  31. FdKKClient fdKKClient;
  32. @Autowired
  33. TakeLookClient takeLookClient;
  34. public String getFdToken(String fusionToken){
  35. String jsObj = redisUtil.get(String.format(RedisKeyUtil.fusionLoginToken, fusionToken));
  36. FdkkLoginVo vo = JSONObject.parseObject(jsObj, FdkkLoginVo.class);
  37. if(vo == null){
  38. throw new BusinessException(ResultCode.USER_NOT_LOGIN);
  39. }
  40. return vo.getFdToken();
  41. }
  42. public String getFdToken(){
  43. String jsObj = redisUtil.get(String.format(RedisKeyUtil.fusionLoginToken, StpUtil.getTokenValue()));
  44. FdkkLoginVo vo = JSONObject.parseObject(jsObj, FdkkLoginVo.class);
  45. if(vo == null){
  46. throw new BusinessException(ResultCode.USER_NOT_LOGIN);
  47. }
  48. return vo.getFdToken();
  49. }
  50. public String getFdTokenByUserName(String userName) {
  51. return null;
  52. }
  53. public FdkkResponse fdkkUnbind(List<TmCamera> cameras) {
  54. List<Long> cameraIds = cameras.stream().map(TmCamera::getFdCameraId).collect(Collectors.toList());
  55. String ids = StringUtils.join(cameraIds, ",");
  56. FdkkCameraParam request = new FdkkCameraParam(ids);
  57. return fdKKClient.fdkkUnbind(request,this.getFdToken());
  58. }
  59. public FdkkResponse<CameraVo> getCameraDetail(String snCode) {
  60. FdkkCameraParam request = new FdkkCameraParam(snCode,snCode);
  61. return fdKKClient.fdkkCameraDetail(request,getFdToken());
  62. }
  63. public FdkkResponse<List<CameraVo>> getCameraDetails(List<String> snCodes) {
  64. FdkkCameraParam request = new FdkkCameraParam(snCodes);
  65. return fdKKClient.fdkkCameraDetails(request,getFdToken());
  66. }
  67. public FdkkResponse fdkKBind(String cameraSn,String userName) {
  68. FdkkCameraParam request = new FdkkCameraParam(cameraSn,cameraSn,userName);
  69. return fdKKClient.fdkKBind(request,getFdToken());
  70. }
  71. public Object getFdTokenByNum(String num) {
  72. return fdKKClient.getFdTokenByNum(num,getFdToken());
  73. }
  74. public FdkkResponse<FdRoomAddParam> fdCreateTakeLookRoom(String caseTitle,List<String> numList,String roomId) {
  75. FdRoomAddParam param = new FdRoomAddParam();
  76. param.setRoomTitle(caseTitle);
  77. param.setNumList(numList);
  78. param.setRoomId(roomId);
  79. param.setMaxMan(30);
  80. param.setUseStartTime(new Date());
  81. param.setUseEndTime(DateUtil.parse("2038-01-19 03:14:07","yyyy-MM-dd HH:mm:ss"));
  82. param.setPlatform("fd");
  83. return takeLookClient.roomAddOrUpdate(param,getFdToken());
  84. }
  85. public void fdOpenTakeLookRoom(String takeRoomId) {
  86. takeLookClient.openRoom(takeRoomId,getFdToken());
  87. }
  88. public void deleteNum(String num) {
  89. fdKKClient.deleteNum(new FdkkDelNumParam(num),getFdToken());
  90. }
  91. }