|
@@ -7,7 +7,6 @@ import com.alibaba.nacos.shaded.com.google.gson.JsonElement;
|
|
|
import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
|
|
|
import com.alibaba.nacos.shaded.com.google.gson.JsonParser;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
-import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.http.client.config.RequestConfig;
|
|
|
import org.apache.http.client.methods.CloseableHttpResponse;
|
|
|
import org.apache.http.client.methods.HttpGet;
|
|
@@ -15,18 +14,21 @@ import org.apache.http.client.methods.HttpPost;
|
|
|
import org.apache.http.entity.StringEntity;
|
|
|
import org.apache.http.impl.client.CloseableHttpClient;
|
|
|
import org.apache.http.impl.client.HttpClientBuilder;
|
|
|
-import org.apache.http.impl.client.HttpClients;
|
|
|
import org.apache.http.util.EntityUtils;
|
|
|
+import org.springblade.common.constant.WebsocketMsgConstant;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
+import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.jackson.JsonUtil;
|
|
|
import org.springblade.dingding.service.MeetingService;
|
|
|
import org.springblade.dingding.vo.MeetingSchedule;
|
|
|
import org.springblade.dingding.vo.MeetingVo;
|
|
|
import org.springblade.dingding.vo.ScheduleItem;
|
|
|
+import org.springblade.websocket.feign.WebSocketClient;
|
|
|
+import org.springblade.websocket.vo.MsgVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.*;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.web.client.HttpClientErrorException;
|
|
|
-import org.springframework.web.client.HttpServerErrorException;
|
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
import org.springframework.web.util.UriComponentsBuilder;
|
|
|
|
|
@@ -52,6 +54,8 @@ public class MeetingServiceImpl implements MeetingService {
|
|
|
private static final String APP_KEY = "ding6mvrzcxcbdggel0h";
|
|
|
private static final String APP_SECRET = "TctTp-Qmyh9r20bdeHcLWZ8qfxSEP8R29qo53GZH2elWV-yDZMqgqFKEjp5PtlXZ";
|
|
|
private static final String USER_ID = "01141506681633389467";
|
|
|
+ @Autowired
|
|
|
+ private WebSocketClient webSocketClient;
|
|
|
|
|
|
// 缓存用户信息,避免重复调用
|
|
|
private final Map<String, Object> userInfoCache = new ConcurrentHashMap<>();
|
|
@@ -94,8 +98,9 @@ public class MeetingServiceImpl implements MeetingService {
|
|
|
|
|
|
// 等待所有完成,设置超时
|
|
|
CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]))
|
|
|
- .get(25, TimeUnit.SECONDS); // 25秒总超时
|
|
|
-
|
|
|
+ .get(25, TimeUnit.SECONDS);
|
|
|
+ // 25秒总超时
|
|
|
+ webSocketClient.sendDingDingMsg(null);
|
|
|
return vos;
|
|
|
} catch (Exception e) {
|
|
|
throw new ServiceException("获取会议室信息失败: " + e.getMessage());
|