diff --git a/holiday03-GTP/src/main/java/com/sikadi/user/service/impl/GTPServiceImpl.java b/holiday03-GTP/src/main/java/com/sikadi/user/service/impl/GTPServiceImpl.java index 1ff7c68..191d4cd 100644 --- a/holiday03-GTP/src/main/java/com/sikadi/user/service/impl/GTPServiceImpl.java +++ b/holiday03-GTP/src/main/java/com/sikadi/user/service/impl/GTPServiceImpl.java @@ -8,7 +8,6 @@ import com.sikadi.user.mapper.XfXhConfig; import com.sikadi.user.service.GTPService; import lombok.extern.log4j.Log4j2; import okhttp3.WebSocket; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -16,54 +15,51 @@ import java.util.Collections; import java.util.UUID; -/** - * @description: 修改 - * @author: (扭曲)(爬行)(抽搐) - * @date: 2023/10/7 14:36 - * @param: - * @return: - **/ + @Service @Log4j2 public class GTPServiceImpl implements GTPService { - @Autowired + @Resource private XfXhStreamClient xfXhStreamClient; - @Autowired + @Resource private XfXhConfig xfXhConfig; @Override public String send(String ques) { - - MsgDTO mag = MsgDTO.createUserMsg(ques); - XfXhWebSocketListener xfx = new XfXhWebSocketListener(); - WebSocket web = xfXhStreamClient. - sendMsg( - UUID.randomUUID(). - toString(). - substring(0, 10), - Collections.singletonList(mag), xfx); - if ( null == web) { + if (StrUtil.isBlank(ques)) { + return "被玩坏了"; + } + MsgDTO msg = MsgDTO.createUserMsg(ques); + XfXhWebSocketListener listener = new XfXhWebSocketListener(); + WebSocket web = xfXhStreamClient.sendMsg( + UUID.randomUUID().toString().substring(0, 10), + Collections.singletonList(msg), + listener); + if (web == null) { xfXhStreamClient.operateToken(XfXhStreamClient.BACK_TOKEN_STATUS); return "错误"; } try { - int a = 0; - - int b = xfXhConfig.getMaxResponseTime() * 5; + int b = xfXhConfig.getMaxResponseTime() * 5; while (a <= b) { Thread.sleep(200); - if (xfx.isWsCloseFlag()) { break; } - + if (listener.isWsCloseFlag()) { + break; + } a++; } - return xfx.getAnswer().toString(); + if (a > b) { + return "超时"; + } + return listener.getAnswer().toString(); } catch (InterruptedException e) { - return "错误"; + log.error("错:" + e.getMessage()); + return "错"; } finally { - web.close(100, ""); + web.close(1000, ""); xfXhStreamClient.operateToken(XfXhStreamClient.BACK_TOKEN_STATUS); } }