mirror of
https://gitee.com/myxzgzs/boyue-vue-pro.git
synced 2025-08-08 08:22:45 +08:00
fix:【AI 大模型】UserProfileQueryToolFunction 没有参数,会报错
This commit is contained in:
parent
c96f6bb360
commit
e50250449a
@ -7,6 +7,8 @@ import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
|
|||||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||||
import com.fasterxml.jackson.annotation.JsonClassDescription;
|
import com.fasterxml.jackson.annotation.JsonClassDescription;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -17,7 +19,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工具:当前用户信息查询
|
* 工具:用户信息查询
|
||||||
*
|
*
|
||||||
* 同时,也是展示 ToolContext 上下文的使用
|
* 同时,也是展示 ToolContext 上下文的使用
|
||||||
*
|
*
|
||||||
@ -31,8 +33,17 @@ public class UserProfileQueryToolFunction
|
|||||||
private AdminUserApi adminUserApi;
|
private AdminUserApi adminUserApi;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@JsonClassDescription("当前用户信息查询")
|
@JsonClassDescription("用户信息查询")
|
||||||
public static class Request { }
|
public static class Request {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户编号
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "id")
|
||||||
|
@JsonPropertyDescription("用户编号,例如说:1。如果查询自己,则 id 为空")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@ -61,13 +72,19 @@ public class UserProfileQueryToolFunction
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Response apply(Request request, ToolContext toolContext) {
|
public Response apply(Request request, ToolContext toolContext) {
|
||||||
LoginUser loginUser = (LoginUser) toolContext.getContext().get(AiUtils.TOOL_CONTEXT_LOGIN_USER);
|
|
||||||
Long tenantId = (Long) toolContext.getContext().get(AiUtils.TOOL_CONTEXT_TENANT_ID);
|
Long tenantId = (Long) toolContext.getContext().get(AiUtils.TOOL_CONTEXT_TENANT_ID);
|
||||||
if (loginUser == null | tenantId == null) {
|
if (tenantId == null) {
|
||||||
return null;
|
return new Response();
|
||||||
|
}
|
||||||
|
if (request.getId() == null) {
|
||||||
|
LoginUser loginUser = (LoginUser) toolContext.getContext().get(AiUtils.TOOL_CONTEXT_LOGIN_USER);
|
||||||
|
if (loginUser == null) {
|
||||||
|
return new Response();
|
||||||
|
}
|
||||||
|
request.setId(loginUser.getId());
|
||||||
}
|
}
|
||||||
return TenantUtils.execute(tenantId, () -> {
|
return TenantUtils.execute(tenantId, () -> {
|
||||||
AdminUserRespDTO user = adminUserApi.getUser(loginUser.getId());
|
AdminUserRespDTO user = adminUserApi.getUser(request.getId());
|
||||||
return BeanUtils.toBean(user, Response.class);
|
return BeanUtils.toBean(user, Response.class);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user