Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
konke-ai-alibaba-mcp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
何金镒
konke-ai-alibaba-mcp
Commits
8011205c
Commit
8011205c
authored
Sep 16, 2025
by
何金镒
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dify聊天,必须一条一条的
parent
8555f0b0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
211 additions
and
220 deletions
+211
-220
src/main/java/com/ikonke/konkeaialibabamcp/config/RedisKeyExpireListener.java
...onke/konkeaialibabamcp/config/RedisKeyExpireListener.java
+0
-28
src/main/java/com/ikonke/konkeaialibabamcp/controller/DifyControllerV2.java
...ikonke/konkeaialibabamcp/controller/DifyControllerV2.java
+17
-6
src/main/java/com/ikonke/konkeaialibabamcp/event/listener/DifyChatSteamEventListener.java
...alibabamcp/event/listener/DifyChatSteamEventListener.java
+25
-24
src/test/java/com/ikonke/konkeaialibabamcp/KonkeAiAlibabaMcpApplicationTests.java
.../konkeaialibabamcp/KonkeAiAlibabaMcpApplicationTests.java
+169
-162
No files found.
src/main/java/com/ikonke/konkeaialibabamcp/config/RedisKeyExpireListener.java
deleted
100644 → 0
View file @
8555f0b0
//package com.ikonke.konkeaialibabamcp.config;
//
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.data.redis.connection.Message;
//import org.springframework.data.redis.listener.KeyExpirationEventMessageListener;
//import org.springframework.data.redis.listener.RedisMessageListenerContainer;
//import org.springframework.stereotype.Component;
//
//@Slf4j
//@Component
//public class RedisKeyExpireListener extends KeyExpirationEventMessageListener {
//
// public RedisKeyExpireListener(RedisMessageListenerContainer listenerContainer) {
// super(listenerContainer);
// }
//
// @Override
// public void doHandleMessage(Message message) {
//
// // 过期的 key
// byte[] body = message.getBody();
//
// // 消息通道
// byte[] channel = message.getChannel();
//
// log.info("redis 过期 ------> message = {}, channel = {}", new String(body), new String(channel));
// }
//}
src/main/java/com/ikonke/konkeaialibabamcp/controller/DifyControllerV2.java
View file @
8011205c
...
@@ -78,12 +78,13 @@ public class DifyControllerV2 {
...
@@ -78,12 +78,13 @@ public class DifyControllerV2 {
@ResponseBody
@ResponseBody
public
JSONObject
bottomSkill
(
@RequestBody
JSONObject
jsonObject
)
{
public
JSONObject
bottomSkill
(
@RequestBody
JSONObject
jsonObject
)
{
Long
timestamp
=
System
.
currentTimeMillis
();
Long
timestamp
=
System
.
currentTimeMillis
();
log
.
info
(
"思必驰 bottomSkill..请求参数:{}"
,
jsonObject
.
toString
());
JSONObject
result
=
jsonObject
.
getJSONObject
(
"request"
);
JSONObject
result
=
jsonObject
.
getJSONObject
(
"request"
);
JSONObject
context
=
jsonObject
.
getJSONObject
(
"context"
);
JSONObject
context
=
jsonObject
.
getJSONObject
(
"context"
);
JSONObject
device
=
context
.
getJSONObject
(
"device"
);
JSONObject
device
=
context
.
getJSONObject
(
"device"
);
String
deviceName
=
device
.
getStr
(
"deviceName"
);
//这是屏端的sn
String
deviceName
=
device
.
getStr
(
"deviceName"
);
//这是屏端的sn
log
.
info
(
"【{}】:思必驰 bottomSkill..请求参数:{}"
,
deviceName
,
jsonObject
.
toString
());
String
type
=
result
.
get
(
"type"
).
toString
();
String
type
=
result
.
get
(
"type"
).
toString
();
String
input
;
//请求文本
String
input
;
//请求文本
String
res
=
"{'version': '1.0','response': {'speak': {'type': 'text','text': '%s','ssml': 'SSML markup text string to speak'}},'shouldEndSession': %b}"
;
//忽略了部分DSK协议字段,shouldEndSession字段决定是否结束本轮对话
String
res
=
"{'version': '1.0','response': {'speak': {'type': 'text','text': '%s','ssml': 'SSML markup text string to speak'}},'shouldEndSession': %b}"
;
//忽略了部分DSK协议字段,shouldEndSession字段决定是否结束本轮对话
...
@@ -104,14 +105,24 @@ public class DifyControllerV2 {
...
@@ -104,14 +105,24 @@ public class DifyControllerV2 {
res
=
String
.
format
(
res
,
"未绑定主机绑定"
,
false
);
res
=
String
.
format
(
res
,
"未绑定主机绑定"
,
false
);
response
=
JSONUtil
.
parseObj
(
res
);
response
=
JSONUtil
.
parseObj
(
res
);
}
}
// 异步执行对话????
eventPublisher
.
publishEvent
(
new
DifyChatSteamEvent
(
this
,
token
.
getSn
(),
input
));
String
cleanedInput
=
input
.
replaceAll
(
"\\[\\s*\\]"
,
""
).
replaceAll
(
"【\\s*】"
,
""
).
trim
();
if
(
cleanedInput
.
isEmpty
()
||
cleanedInput
.
equals
(
"[]"
)
||
cleanedInput
.
equals
(
"【】"
))
{
// 处理空列表的情况
cleanedInput
=
""
;
// 或者设置默认值
}
if
(
StrUtil
.
isNotBlank
(
cleanedInput
)){
// 异步执行对话????
eventPublisher
.
publishEvent
(
new
DifyChatSteamEvent
(
this
,
token
.
getSn
(),
cleanedInput
));
}
res
=
String
.
format
(
res
,
"正在思考中"
,
false
);
res
=
String
.
format
(
res
,
"正在思考中"
,
false
);
response
=
JSONUtil
.
parseObj
(
res
);
response
=
JSONUtil
.
parseObj
(
res
);
}
else
if
(
list
.
size
()
>
1
){
}
else
if
(
list
.
size
()
>
1
){
log
.
error
(
"
获取CDCToken失败,CDCToken数量大于1"
);
log
.
error
(
"
【{}】:获取CDCToken失败,CDCToken数量大于1"
,
deviceName
);
res
=
String
.
format
(
res
,
"绑定异常"
,
false
);
res
=
String
.
format
(
res
,
"绑定异常"
,
false
);
response
=
JSONUtil
.
parseObj
(
res
);
response
=
JSONUtil
.
parseObj
(
res
);
}
else
{
}
else
{
...
@@ -123,7 +134,7 @@ public class DifyControllerV2 {
...
@@ -123,7 +134,7 @@ public class DifyControllerV2 {
response
=
JSONUtil
.
parseObj
(
res
);
response
=
JSONUtil
.
parseObj
(
res
);
e
.
printStackTrace
();
e
.
printStackTrace
();
}
finally
{
}
finally
{
log
.
info
(
"
思必驰 bottomSkill..响应时间="
+
(
System
.
currentTimeMillis
()-
timestamp
));
log
.
info
(
"
【{}】:思必驰 bottomSkill..响应时间={}"
,
deviceName
,
(
System
.
currentTimeMillis
()-
timestamp
));
return
response
;
return
response
;
}
}
}
}
...
@@ -132,7 +143,7 @@ public class DifyControllerV2 {
...
@@ -132,7 +143,7 @@ public class DifyControllerV2 {
@GetMapping
(
"/chatSteamMessages"
)
@GetMapping
(
"/chatSteamMessages"
)
public
Flux
<
String
>
chatSteamMessages
(
@RequestParam
(
name
=
"query"
)
String
query
,
public
Flux
<
String
>
chatSteamMessages
(
@RequestParam
(
name
=
"query"
)
String
query
,
@RequestHeader
(
"sn"
)
String
sn
){
@RequestHeader
(
"sn"
)
String
sn
){
log
.
info
(
"
开始 流式 对话 sn:{}
, query:{}"
,
sn
,
query
);
log
.
info
(
"
【{}】:开始 流式 对话
, query:{}"
,
sn
,
query
);
QueryWrapper
<
CDCToken
>
wrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
CDCToken
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
eq
(
"sn"
,
sn
);
wrapper
.
eq
(
"sn"
,
sn
);
...
...
src/main/java/com/ikonke/konkeaialibabamcp/event/listener/DifyChatSteamEventListener.java
View file @
8011205c
...
@@ -32,37 +32,38 @@ public class DifyChatSteamEventListener {
...
@@ -32,37 +32,38 @@ public class DifyChatSteamEventListener {
@EventListener
@EventListener
public
void
handleUserRegisteredEvent
(
DifyChatSteamEvent
event
)
{
public
void
handleUserRegisteredEvent
(
DifyChatSteamEvent
event
)
{
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
log
.
info
(
"
处理dify 异步 AI 聊天:sn:{}
,input:{}"
,
event
.
getSn
(),
event
.
getInput
());
log
.
info
(
"
【{}】:处理dify 异步 AI 聊天
,input:{}"
,
event
.
getSn
(),
event
.
getInput
());
try
{
try
{
synchronized
(
event
.
getSn
()){
if
(!
webSocketUtil
.
getWebSocket
(
event
.
getSn
()))
{
log
.
error
(
"未找到sn:{}的WebSocket连接,不处理对话"
,
event
.
getSn
());
return
;
}
if
(!
webSocketUtil
.
getWebSocket
(
event
.
getSn
()))
{
QueryWrapper
<
CDCToken
>
wrapper
=
new
QueryWrapper
<>();
log
.
error
(
"未找到sn:{}的WebSocket连接,不处理对话"
,
event
.
getSn
());
wrapper
.
eq
(
"sn"
,
event
.
getSn
());
return
;
List
<
CDCToken
>
list
=
tokenService
.
list
(
wrapper
);
}
CDCToken
token
=
list
.
get
(
0
);
QueryWrapper
<
CDCToken
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
eq
(
"sn"
,
event
.
getSn
());
List
<
CDCToken
>
list
=
tokenService
.
list
(
wrapper
);
CDCToken
token
=
list
.
get
(
0
);
String
url
=
difyChatSteamMessages
+
"/dify/v2/chatSteamMessages?query="
+
event
.
getInput
();
String
url
=
difyChatSteamMessages
+
"/dify/v2/chatSteamMessages?query="
+
event
.
getInput
();
log
.
info
(
"开始 dify 请求:{}"
,
url
);
log
.
info
(
"【{}】:开始 dify 请求:{}"
,
event
.
getSn
()
,
url
);
String
ai_result
=
HttpRequest
.
get
(
url
)
String
ai_result
=
HttpRequest
.
get
(
url
)
.
header
(
"ccuName"
,
token
.
getCcuId
()
)
.
header
(
"ccuName"
,
token
.
getCcuId
()
)
.
header
(
"token"
,
token
.
getAccessToken
())
.
header
(
"token"
,
token
.
getAccessToken
())
.
header
(
"sn"
,
token
.
getSn
())
.
header
(
"sn"
,
token
.
getSn
())
.
timeout
(
600000
)
.
timeout
(
600000
)
.
execute
().
body
();
.
execute
().
body
();
log
.
info
(
"dify请求返回:{}"
,
ai_result
);
log
.
info
(
"【{}】:dify请求返回:{}"
,
event
.
getSn
()
,
ai_result
);
// String result_end = ai_result.replaceAll("(?m)^\\s*$[\r\n]*", "").replaceAll("[\r\n]+", "\n").replaceAll("[\r\n]", "").trim();
// String result_end = ai_result.replaceAll("(?m)^\\s*$[\r\n]*", "").replaceAll("[\r\n]+", "\n").replaceAll("[\r\n]", "").trim();
// log.info("dify请求返回2--->:{}",result_end);
// log.info("dify请求返回2--->:{}",result_end);
// 通过WebSocket发送消息给屏端
// 通过WebSocket发送消息给屏端
webSocketUtil
.
sendToSingle
(
event
.
getSn
(),
ai_result
);
webSocketUtil
.
sendToSingle
(
event
.
getSn
(),
ai_result
);
log
.
info
(
"dify异步请求耗时--->:{}"
,
System
.
currentTimeMillis
()
-
startTime
);
log
.
info
(
"【{}】:dify异步请求耗时--->:{}"
,
event
.
getSn
(),
System
.
currentTimeMillis
()
-
startTime
);
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Thread
.
currentThread
().
interrupt
();
Thread
.
currentThread
().
interrupt
();
e
.
printStackTrace
();
e
.
printStackTrace
();
...
...
src/test/java/com/ikonke/konkeaialibabamcp/KonkeAiAlibabaMcpApplicationTests.java
View file @
8011205c
//package com.ikonke.konkeaialibabamcp;
package
com.ikonke.konkeaialibabamcp
;
//
//import cn.hutool.core.date.DateUnit;
import
cn.hutool.core.date.DateUnit
;
//import cn.hutool.core.date.DateUtil;
import
cn.hutool.core.date.DateUtil
;
//import cn.hutool.http.HttpRequest;
import
cn.hutool.http.HttpRequest
;
//import cn.hutool.json.JSONArray;
import
cn.hutool.json.JSONArray
;
//import cn.hutool.json.JSONObject;
import
cn.hutool.json.JSONObject
;
//import com.ikonke.konkeaialibabamcp.service.cdc.spaces.SpacesService;
import
com.ikonke.konkeaialibabamcp.service.cdc.spaces.SpacesService
;
//import com.ikonke.konkeaialibabamcp.utils.CDCUtils;
import
com.ikonke.konkeaialibabamcp.utils.CDCUtils
;
//import com.ikonke.konkeaialibabamcp.utils.CcuUtils;
import
com.ikonke.konkeaialibabamcp.utils.CcuUtils
;
//import org.junit.jupiter.api.Test;
import
org.junit.jupiter.api.Test
;
//import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Autowired
;
//import org.springframework.boot.test.context.SpringBootTest;
import
org.springframework.boot.test.context.SpringBootTest
;
//
//import java.util.ArrayList;
import
java.util.ArrayList
;
//import java.util.Date;
import
java.util.Date
;
//import java.util.List;
import
java.util.List
;
//import java.util.concurrent.CompletableFuture;
import
java.util.concurrent.CompletableFuture
;
//import java.util.concurrent.CountDownLatch;
import
java.util.concurrent.CountDownLatch
;
//
//@SpringBootTest
@SpringBootTest
//class KonkeAiAlibabaMcpApplicationTests {
class
KonkeAiAlibabaMcpApplicationTests
{
//
// @Autowired
@Autowired
// private SpacesService spacesService;
private
SpacesService
spacesService
;
//
// public static String sn = "00226DA86A12";
public
static
String
sn
=
"00226DA86A12"
;
// public static String date = "2025-08-13";
public
static
String
date
=
"2025-08-13"
;
// public static String roomId = "123309ac482d469c8608ce95e51da65a";
public
static
String
roomId
=
"123309ac482d469c8608ce95e51da65a"
;
// public static String subspaceId = null;
public
static
String
subspaceId
=
null
;
//
//
//
//// @Test
//// void testHttp(){
//// String url = "http://172.17.12.12:9998/dify/chatSteamMessages?query=现在是不是已经秋天了";
//// String body1 = HttpRequest.get(url)
//// .header("ccuName", "CCU_321410" )
//// .header("token", "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoiMDA3NjdkOTAzZDU0NDY1YmE4YjdjMjY3MTMzZmFkZTAiLCJ1c2VyX2tleSI6IjA3MWY5NzE1LTYxZjQtNDYwYS05ZjA5LWY1NDAxYTEwNGM2OCIsInVzZXJuYW1lIjoiSXgrNk5RUno1ZE1vNnFqMndrN2twQT09In0.FbMce1Zoe_Xkeoo9v1S04swrIP3Wb-WZw9FwS3k60UBBM25fbCgZFlUaJo08X4xcxgAbEmYFpXUG2lopFXsCng")
//// .header("sn","00226DA86ABB")
//// .timeout(1000000)
//// .execute().body();
//// System.out.println("====================");
//// System.out.println(body1);
//// System.out.println("=======================");
//// }
//
//// @Test
//// void testThread(){
//// int threadCount = 60;
//// CountDownLatch latch = new CountDownLatch(threadCount);
////
//// for (int i = 0; i < threadCount; i++) {
//// int finalI = i;
//// Thread thread = new Thread(() -> {
//// try {
//// long begin = System.currentTimeMillis();
//// String url = "172.17.12.12:9998/dify/chatSteamMessages?query=小明一天能赚325,那么"+ finalI +"天能赚多少钱?";
//// String ccuName = "CCU_32142"+ finalI;
//// String sn = "00226DA86AD"+ finalI;
//// String token = "11A"+ finalI;
//// String result2 = HttpRequest.get(url)
//// .header("ccuName", ccuName)//头信息,多个头信息多次调用此方法即可
//// .header("sn", sn)
//// .header("token", token)
//// .timeout(2000000)//超时,毫秒
//// .execute().body();
//// System.out.println(finalI +"------->"+result2);
//// System.out.println(finalI +"------->耗时:"+(System.currentTimeMillis()-begin));
//// }finally {
//// latch.countDown();
//// }
//// });
//// thread.start();
//// }
////
//// try {
//// // 等待所有线程执行完成
//// latch.await();
//// System.out.println("所有线程执行完成");
//// } catch (InterruptedException e) {
//// Thread.currentThread().interrupt();
//// e.printStackTrace();
//// }
//// }
//
//// @Test
//// void test(){
//// for(int i = 0; i < 1; i++){
//// long begin = System.currentTimeMillis();
//// String url = "172.17.12.12:9998/dify/chatSteamMessages?query=324252加"+i+"等于几";
//// String ccuName = "CCU_32142"+i;
//// String sn = "00226DA86AD"+i;
//// String token = "11A"+i;
//// String result2 = HttpRequest.get(url)
//// .header("ccuName", ccuName)//头信息,多个头信息多次调用此方法即可
//// .header("sn", sn)
//// .header("token", token)
//// .timeout(20000)//超时,毫秒
//// .execute().body();
//// System.out.println(i+"------->"+result2);
//// System.out.println(i+"------->耗时:"+(System.currentTimeMillis()-begin));
//// }
//// }
//
// @Test
// @Test
// void contextLoads() {
// void testSpacesService() {
//// JSONObject appointmentTimeByRoomId = spacesService.getAppointmentTimeByRoomId(sn, date, roomId, subspaceId);
// String input = "小明一天能赚325,那么1天能赚多少钱?[1]【】【你】[]";
//// System.out.println(appointmentTimeByRoomId);
// String cleanedInput = input.replaceAll("\\[\\s*\\]", "").replaceAll("【\\s*】", "").trim();
//// mcp调用--->getUserSpacesCouponsByTime..获取用户当前预约可用的优惠券..sn:00226DA86A12,roomId:123309ac482d469c8608ce95e51da65a,beginTime:2025-08-15 00:00:00,endTime:2025-08-15 23:59:59
// System.out.println(cleanedInput);
//// JSONArray userSpacesCouponsByBooking = spacesService.getUserSpacesCouponsByTime(sn, roomId, "2025-08-15 00:00:00", "2025-08-15 23:59:59");
//// System.out.println(userSpacesCouponsByBooking);
//
//// Date begin_time = DateUtil.parse("2025-08-15 00:00:00");
//// Date end_time = DateUtil.parse("2025-08-15 23:59:59");
//// long time = DateUtil.beginOfDay(begin_time).getTime();
//// long time1 = DateUtil.endOfDay(begin_time).getTime();
//// System.out.println(time);
//// System.out.println(begin_time.getTime());
//// System.out.println(time1);
//// System.out.println(end_time.toInstant());
//// System.out.println(DateUtil.between(end_time, DateUtil.endOfDay(begin_time), DateUnit.SECOND));
//
//// boolean b = spacesService.bookingOrder2(sn, "2025-08-14 18:00:00", "2025-08-14 21:00:00", "a550c009a8c041c2ba3fa22490583770", null, 1);
//// System.out.println(b);
//
//
//
// }
// }
//
//
//// @Test
// @Test
//// void difyTest(){
// void testHttp(){
//// //workflows/run
// String url = "http://172.17.12.12:9998/dify/chatSteamMessages?query=现在是不是已经秋天了";
//// String url = "http://172.17.12.12:8088/v1/chat-messages";
// String body1 = HttpRequest.get(url)
//// String userId = "00226DA86A12";
// .header("ccuName", "CCU_321410" )
//// String api_key = "app-YHXQcZVzokkdsrQ3mTOFhO9x";
// .header("token", "eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoiMDA3NjdkOTAzZDU0NDY1YmE4YjdjMjY3MTMzZmFkZTAiLCJ1c2VyX2tleSI6IjA3MWY5NzE1LTYxZjQtNDYwYS05ZjA5LWY1NDAxYTEwNGM2OCIsInVzZXJuYW1lIjoiSXgrNk5RUno1ZE1vNnFqMndrN2twQT09In0.FbMce1Zoe_Xkeoo9v1S04swrIP3Wb-WZw9FwS3k60UBBM25fbCgZFlUaJo08X4xcxgAbEmYFpXUG2lopFXsCng")
//// String query = "帮我打开客厅的单路灯控";
// .header("sn","00226DA86ABB")
////
// .timeout(1000000)
//// JSONObject inputs = new JSONObject();
// .execute().body();
//// inputs.set("ccuName","CCU_313858");
// System.out.println("====================");
//// inputs.set("sn",userId);
// System.out.println(body1);
//// inputs.set("token","eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoiMDA3NjdkOTAzZDU0NDY1YmE4YjdjMjY3MTMzZmFkZTAiLCJ1c2VyX2tleSI6IjcwZGUyNmU2LTQyYWQtNGE5MS05ZmY5LTE5ZjAzOWMyYWMyNCIsInVzZXJuYW1lIjoiSXgrNk5RUno1ZE1vNnFqMndrN2twQT09In0.g7dnCLgR_xGPbxu9nmUQJeCW8cGfz946vRyhO6fga783EBjfSQYd8Et8grm3M79Oalhe6ZvEwY5Ii1OHSKHcwQ");
// System.out.println("=======================");
////
// }
//// JSONObject body = new JSONObject();
//// body.set("inputs",inputs);
// @Test
//// body.set("query",query);
// void testThread(){
//// body.set("response_mode","blocking");
// int threadCount = 60;
//// body.set("user",userId);
// CountDownLatch latch = new CountDownLatch(threadCount);
//// body.set("conversation_id","a5597ffd-18c5-430d-af16-60d9ea14ac41");
//
////
// for (int i = 0; i < threadCount; i++) {
//// String body1 = HttpRequest.post(url)
// int finalI = i;
//// .header("Authorization", "Bearer " + api_key)
// Thread thread = new Thread(() -> {
//// .header("Content-Type", "application/json")
// try {
//// .body(body.toString())
// long begin = System.currentTimeMillis();
//// .timeout(1000000)
// String url = "172.17.12.12:9998/dify/chatSteamMessages?query=小明一天能赚325,那么"+ finalI +"天能赚多少钱?";
//// .execute().body();
// String ccuName = "CCU_32142"+ finalI;
////
// String sn = "00226DA86AD"+ finalI;
//// System.out.println(body1);
// String token = "11A"+ finalI;
//// JSONObject jsonObject = new JSONObject(body1);
// String result2 = HttpRequest.get(url)
//// System.out.println(jsonObject.getStr("answer"));
// .header("ccuName", ccuName)//头信息,多个头信息多次调用此方法即可
//// }
// .header("sn", sn)
//
// .header("token", token)
//}
// .timeout(2000000)//超时,毫秒
// .execute().body();
// System.out.println(finalI +"------->"+result2);
// System.out.println(finalI +"------->耗时:"+(System.currentTimeMillis()-begin));
// }finally {
// latch.countDown();
// }
// });
// thread.start();
// }
//
// try {
// // 等待所有线程执行完成
// latch.await();
// System.out.println("所有线程执行完成");
// } catch (InterruptedException e) {
// Thread.currentThread().interrupt();
// e.printStackTrace();
// }
// }
// @Test
// void test(){
// for(int i = 0; i < 1; i++){
// long begin = System.currentTimeMillis();
// String url = "172.17.12.12:9998/dify/chatSteamMessages?query=324252加"+i+"等于几";
// String ccuName = "CCU_32142"+i;
// String sn = "00226DA86AD"+i;
// String token = "11A"+i;
// String result2 = HttpRequest.get(url)
// .header("ccuName", ccuName)//头信息,多个头信息多次调用此方法即可
// .header("sn", sn)
// .header("token", token)
// .timeout(20000)//超时,毫秒
// .execute().body();
// System.out.println(i+"------->"+result2);
// System.out.println(i+"------->耗时:"+(System.currentTimeMillis()-begin));
// }
// }
@Test
void
contextLoads
()
{
// JSONObject appointmentTimeByRoomId = spacesService.getAppointmentTimeByRoomId(sn, date, roomId, subspaceId);
// System.out.println(appointmentTimeByRoomId);
// mcp调用--->getUserSpacesCouponsByTime..获取用户当前预约可用的优惠券..sn:00226DA86A12,roomId:123309ac482d469c8608ce95e51da65a,beginTime:2025-08-15 00:00:00,endTime:2025-08-15 23:59:59
// JSONArray userSpacesCouponsByBooking = spacesService.getUserSpacesCouponsByTime(sn, roomId, "2025-08-15 00:00:00", "2025-08-15 23:59:59");
// System.out.println(userSpacesCouponsByBooking);
// Date begin_time = DateUtil.parse("2025-08-15 00:00:00");
// Date end_time = DateUtil.parse("2025-08-15 23:59:59");
// long time = DateUtil.beginOfDay(begin_time).getTime();
// long time1 = DateUtil.endOfDay(begin_time).getTime();
// System.out.println(time);
// System.out.println(begin_time.getTime());
// System.out.println(time1);
// System.out.println(end_time.toInstant());
// System.out.println(DateUtil.between(end_time, DateUtil.endOfDay(begin_time), DateUnit.SECOND));
// boolean b = spacesService.bookingOrder2(sn, "2025-08-14 18:00:00", "2025-08-14 21:00:00", "a550c009a8c041c2ba3fa22490583770", null, 1);
// System.out.println(b);
}
// @Test
// void difyTest(){
// //workflows/run
// String url = "http://172.17.12.12:8088/v1/chat-messages";
// String userId = "00226DA86A12";
// String api_key = "app-YHXQcZVzokkdsrQ3mTOFhO9x";
// String query = "帮我打开客厅的单路灯控";
//
// JSONObject inputs = new JSONObject();
// inputs.set("ccuName","CCU_313858");
// inputs.set("sn",userId);
// inputs.set("token","eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoiMDA3NjdkOTAzZDU0NDY1YmE4YjdjMjY3MTMzZmFkZTAiLCJ1c2VyX2tleSI6IjcwZGUyNmU2LTQyYWQtNGE5MS05ZmY5LTE5ZjAzOWMyYWMyNCIsInVzZXJuYW1lIjoiSXgrNk5RUno1ZE1vNnFqMndrN2twQT09In0.g7dnCLgR_xGPbxu9nmUQJeCW8cGfz946vRyhO6fga783EBjfSQYd8Et8grm3M79Oalhe6ZvEwY5Ii1OHSKHcwQ");
//
// JSONObject body = new JSONObject();
// body.set("inputs",inputs);
// body.set("query",query);
// body.set("response_mode","blocking");
// body.set("user",userId);
// body.set("conversation_id","a5597ffd-18c5-430d-af16-60d9ea14ac41");
//
// String body1 = HttpRequest.post(url)
// .header("Authorization", "Bearer " + api_key)
// .header("Content-Type", "application/json")
// .body(body.toString())
// .timeout(1000000)
// .execute().body();
//
// System.out.println(body1);
// JSONObject jsonObject = new JSONObject(body1);
// System.out.println(jsonObject.getStr("answer"));
// }
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment