Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
KnowledgePlanet
road-map
xfg-frame-mvc
提交
4c75b5ab
xfg-frame-mvc
项目概览
KnowledgePlanet
/
road-map
/
xfg-frame-mvc
通知
561
Star
28
Fork
25
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
xfg-frame-mvc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
4c75b5ab
编写于
10月 14, 2025
作者:
L
Linnea Lin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
retrofit
上级
70c26a5e
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
252 addition
and
2 deletion
+252
-2
pom.xml
pom.xml
+20
-0
src/main/java/cn/bugstack/xfg/frame/config/Retrofit2Config.java
...in/java/cn/bugstack/xfg/frame/config/Retrofit2Config.java
+52
-0
src/main/java/cn/bugstack/xfg/frame/controller/UserController.java
...java/cn/bugstack/xfg/frame/controller/UserController.java
+23
-2
src/main/java/cn/bugstack/xfg/frame/domain/req/CompletionBaseReq.java
...a/cn/bugstack/xfg/frame/domain/req/CompletionBaseReq.java
+23
-0
src/main/java/cn/bugstack/xfg/frame/domain/req/KeySensorCompletionReq.java
...bugstack/xfg/frame/domain/req/KeySensorCompletionReq.java
+22
-0
src/main/java/cn/bugstack/xfg/frame/domain/res/CompletionRes.java
.../java/cn/bugstack/xfg/frame/domain/res/CompletionRes.java
+42
-0
src/main/java/cn/bugstack/xfg/frame/service/IKnowledgeCenterService.java
...n/bugstack/xfg/frame/service/IKnowledgeCenterService.java
+26
-0
target/classes/application.yml
target/classes/application.yml
+13
-0
target/classes/mybatis/config/mybatis-config.xml
target/classes/mybatis/config/mybatis-config.xml
+9
-0
target/classes/mybatis/mapper/User_Mapper.xml
target/classes/mybatis/mapper/User_Mapper.xml
+22
-0
未找到文件。
pom.xml
浏览文件 @
4c75b5ab
...
...
@@ -60,6 +60,26 @@
<artifactId>
junit
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
com.squareup.retrofit2
</groupId>
<artifactId>
retrofit
</artifactId>
<version>
2.9.0
</version>
</dependency>
<dependency>
<groupId>
com.squareup.retrofit2
</groupId>
<artifactId>
converter-jackson
</artifactId>
<version>
2.9.0
</version>
</dependency>
<dependency>
<groupId>
com.squareup.retrofit2
</groupId>
<artifactId>
adapter-rxjava2
</artifactId>
<version>
2.9.0
</version>
</dependency>
<dependency>
<groupId>
com.squareup.okhttp3
</groupId>
<artifactId>
logging-interceptor
</artifactId>
<version>
4.12.0
</version>
</dependency>
</dependencies>
<build>
...
...
src/main/java/cn/bugstack/xfg/frame/config/Retrofit2Config.java
0 → 100644
浏览文件 @
4c75b5ab
package
cn.bugstack.xfg.frame.config
;
import
cn.bugstack.xfg.frame.service.IKnowledgeCenterService
;
import
lombok.extern.slf4j.Slf4j
;
import
okhttp3.OkHttpClient
;
import
okhttp3.logging.HttpLoggingInterceptor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
retrofit2.Retrofit
;
import
retrofit2.converter.jackson.JacksonConverterFactory
;
import
java.util.concurrent.TimeUnit
;
@Slf4j
@Configuration
public
class
Retrofit2Config
{
private
static
final
String
BASE_URL
=
"https://demo.ragflow.io/"
;
@Bean
public
Retrofit
retrofit
()
{
// 创建日志拦截器
HttpLoggingInterceptor
loggingInterceptor
=
new
HttpLoggingInterceptor
(
new
HttpLoggingInterceptor
.
Logger
()
{
@Override
public
void
log
(
String
message
)
{
// 使用 SLF4J 记录日志,便于与 Spring Boot 日志系统集成
log
.
info
(
"Retrofit: {}"
,
message
);
}
});
// 设置日志级别
loggingInterceptor
.
setLevel
(
HttpLoggingInterceptor
.
Level
.
BODY
);
// 创建 OkHttpClient 并添加拦截器
OkHttpClient
okHttpClient
=
new
OkHttpClient
.
Builder
()
.
addInterceptor
(
loggingInterceptor
)
.
connectTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
readTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
writeTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
build
();
return
new
Retrofit
.
Builder
()
.
baseUrl
(
BASE_URL
)
.
client
(
okHttpClient
)
.
addConverterFactory
(
JacksonConverterFactory
.
create
()).
build
();
}
@Bean
public
IKnowledgeCenterService
knowledgeCenterService
()
{
return
retrofit
().
create
(
IKnowledgeCenterService
.
class
);
}
}
src/main/java/cn/bugstack/xfg/frame/controller/UserController.java
浏览文件 @
4c75b5ab
package
cn.bugstack.xfg.frame.controller
;
import
cn.bugstack.xfg.frame.common.Result
;
import
cn.bugstack.xfg.frame.domain.req.KeySensorCompletionReq
;
import
cn.bugstack.xfg.frame.domain.res.CompletionRes
;
import
cn.bugstack.xfg.frame.domain.res.UserRes
;
import
cn.bugstack.xfg.frame.domain.vo.UserVO
;
import
cn.bugstack.xfg.frame.service.IKnowledgeCenterService
;
import
cn.bugstack.xfg.frame.service.IUserService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
retrofit2.Call
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.List
;
@Slf4j
...
...
@@ -18,13 +23,16 @@ public class UserController {
@Resource
private
IUserService
userService
;
@Resource
private
IKnowledgeCenterService
knowledgeCenterService
;
/**
* http://localhost:8089/queryUserInfo
*/
@RequestMapping
(
"queryUserInfo"
)
@RequestMapping
(
"
/
queryUserInfo"
)
public
UserRes
queryUserInfo
()
{
try
{
log
.
info
(
"查询用户信息"
);
log
.
info
(
"查询用户信息
开始
"
);
List
<
UserVO
>
userVOList
=
userService
.
queryUserList
();
return
UserRes
.
builder
().
userVOList
(
userVOList
).
result
(
Result
.
buildSuccess
()).
build
();
}
catch
(
Exception
e
)
{
...
...
@@ -33,4 +41,17 @@ public class UserController {
}
}
@RequestMapping
(
"/queryAI"
)
public
String
queryAI
()
throws
IOException
{
KeySensorCompletionReq
.
KeySensorCompletionReqBuilder
reqBuilder
=
KeySensorCompletionReq
.
builder
()
.
question
(
"请给我一个5个字"
)
.
style
(
"normal"
);
Call
<
CompletionRes
>
call
=
knowledgeCenterService
.
getCompletions
(
"Bearer ragflow-djN2QwZjc0YTNlNzExZjBiYjBlNDIwMT"
,
reqBuilder
.
build
(),
"56a8f80aa85911f08a8a42010a8e0005"
);
CompletionRes
completionRes
=
call
.
execute
().
body
();
log
.
info
(
"completionRes: {}"
,
completionRes
);
return
"test"
;
}
}
src/main/java/cn/bugstack/xfg/frame/domain/req/CompletionBaseReq.java
0 → 100644
浏览文件 @
4c75b5ab
package
cn.bugstack.xfg.frame.domain.req
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.SuperBuilder
;
/**
* @author Linnea
* @Description xx类
* @Date 2025/10/14
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public
class
CompletionBaseReq
{
private
String
question
;
private
String
style
;
private
String
[]
kb_ids
;
private
boolean
stream
;
}
src/main/java/cn/bugstack/xfg/frame/domain/req/KeySensorCompletionReq.java
0 → 100644
浏览文件 @
4c75b5ab
package
cn.bugstack.xfg.frame.domain.req
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.SuperBuilder
;
/**
* @author Linnea
* @Description xx类
* @Date 2025/10/14
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public
class
KeySensorCompletionReq
extends
CompletionBaseReq
{
private
String
sensorList
;
private
String
session_id
;
private
String
user_id
;
}
src/main/java/cn/bugstack/xfg/frame/domain/res/CompletionRes.java
0 → 100644
浏览文件 @
4c75b5ab
package
cn.bugstack.xfg.frame.domain.res
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
CompletionRes
{
// 主要响应字段
private
String
answer
;
private
String
audioBinary
;
private
Double
createdAt
;
private
String
id
;
private
String
prompt
;
private
String
sessionId
;
// 引用信息相关字段
private
List
<
Chunk
>
chunks
;
private
List
<
DocAgg
>
docAggs
;
private
Integer
total
;
// 内部类 - 文本块
@Data
public
static
class
Chunk
{
private
String
content
;
private
String
datasetId
;
private
String
documentId
;
private
String
documentName
;
private
String
id
;
private
String
imageId
;
private
List
<
Object
>
positions
;
private
String
url
;
}
// 内部类 - 文档聚合
@Data
public
static
class
DocAgg
{
private
Integer
count
;
private
String
docId
;
private
String
docName
;
}
}
\ No newline at end of file
src/main/java/cn/bugstack/xfg/frame/service/IKnowledgeCenterService.java
0 → 100644
浏览文件 @
4c75b5ab
package
cn.bugstack.xfg.frame.service
;
import
cn.bugstack.xfg.frame.domain.req.KeySensorCompletionReq
;
import
cn.bugstack.xfg.frame.domain.res.CompletionRes
;
import
retrofit2.Call
;
import
retrofit2.http.*
;
public
interface
IKnowledgeCenterService
{
/**
* 对接 completion 接口
*
* @param authorization 认证头信息
* @param req 请求参数对象
* @return 响应结果
*/
@POST
(
"api/v1/chats/{chat_id}/completions"
)
Call
<
CompletionRes
>
getCompletions
(
@Header
(
"Authorization"
)
String
authorization
,
@Body
KeySensorCompletionReq
req
,
@Path
(
"chat_id"
)
String
chat_id
);
}
target/classes/application.yml
0 → 100644
浏览文件 @
4c75b5ab
server
:
port
:
8089
spring
:
datasource
:
username
:
root
password
:
123456
url
:
jdbc:mysql://127.0.0.1:3306/road-map?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC&useSSL=true
driver-class-name
:
com.mysql.jdbc.Driver
mybatis
:
mapper-locations
:
classpath:/mybatis/mapper/*.xml
config-location
:
classpath:/mybatis/config/mybatis-config.xml
\ No newline at end of file
target/classes/mybatis/config/mybatis-config.xml
0 → 100644
浏览文件 @
4c75b5ab
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
</typeAliases>
</configuration>
target/classes/mybatis/mapper/User_Mapper.xml
0 → 100644
浏览文件 @
4c75b5ab
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.bugstack.xfg.frame.dao.IUserDao"
>
<resultMap
id=
"userMap"
type=
"cn.bugstack.xfg.frame.domain.po.User"
>
<result
column=
"id"
property=
"id"
/>
<result
column=
"user_id"
property=
"userId"
/>
<result
column=
"user_nickname"
property=
"userNickname"
/>
<result
column=
"user_head"
property=
"userHead"
/>
<result
column=
"user_password"
property=
"userPassword"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
</resultMap>
<select
id=
"queryUserList"
parameterType=
"cn.bugstack.xfg.frame.domain.po.User"
resultMap=
"userMap"
>
SELECT id, user_id, user_nickname, user_head, user_password, create_time, update_time
FROM user
ORDER BY ID DESC
LIMIT 10
</select>
</mapper>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录