master
parent
10d2cc22ba
commit
c33934b107
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue