diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java index 375f312..d571350 100644 --- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java +++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java @@ -1,6 +1,6 @@ package com.zsc.edu.dify.modules.dify.controller; -import com.zsc.edu.dify.modules.dify.repo.AppEntityRepository; +import com.zsc.edu.dify.modules.dify.service.AppEntityService; import com.zsc.edu.dify.modules.operationLog.entity.OperationLogAnnotation; import io.github.guoshiqiufeng.dify.chat.DifyChat; import io.github.guoshiqiufeng.dify.chat.dto.request.ChatMessageSendRequest; @@ -27,7 +27,7 @@ public class V1ChatController { @Resource private DifyChat difyChat; @Resource - private AppEntityRepository appEntityRepository; + private AppEntityService appEntityService; /** * 发送消息 @@ -36,15 +36,14 @@ public class V1ChatController { * 用户 id可以改为从上下文(token)获取, * apikey 建议在数据库进行存储,前端调用时传智能体 id,从数据库查询 */ - @PostMapping("/completions/{appid}") + @PostMapping("/completions/{appId}") @PreAuthorize("hasAuthority('dify:chat:query')") @OperationLogAnnotation(content = "'dify对话'", operationType = "发送") public ChatMessageSendResponse sendChatMessage( @RequestBody ChatMessageSendRequest sendRequest, - @PathVariable String appid + @PathVariable String appId ) { - String apiKey = appEntityRepository.selectApiKey(appid); - sendRequest.setApiKey(apiKey); + sendRequest.setApiKey(appEntityService.getApikeyByRedis(appId)); return difyChat.send(sendRequest); } @@ -62,8 +61,7 @@ public class V1ChatController { @RequestBody ChatMessageSendRequest sendRequest, @PathVariable String appid ) { - String apiKey = appEntityRepository.selectApiKey(appid); - sendRequest.setApiKey(apiKey); + sendRequest.setApiKey(appEntityService.getApikeyByRedis(appid)); return difyChat.sendChatMessageStream(sendRequest); } @@ -73,14 +71,13 @@ public class V1ChatController { * @param request 请求参数 * @return 会话列表 */ - @PostMapping("/conversations/{appid}") + @PostMapping("/conversations/{appId}") @PreAuthorize("hasAuthority('dify:chat:query')") public DifyPageResult conversations( @RequestBody MessageConversationsRequest request, - @PathVariable String appid + @PathVariable String appId ) { - String apiKey = appEntityRepository.selectApiKey(appid); - request.setApiKey(apiKey); + request.setApiKey(appEntityService.getApikeyByRedis(appId)); return difyChat.conversations(request); } @@ -91,8 +88,8 @@ public class V1ChatController { * @param userId 用户id */ @PatchMapping("/stream/stop") - public void stopMessagesStream(@RequestParam String taskId, @RequestParam String userId, @RequestParam String appid) { - String apiKey = appEntityRepository.selectApiKey(appid); + public void stopMessagesStream(@RequestParam String taskId, @RequestParam String userId, @RequestParam String appId) { + String apiKey = appEntityService.getApikeyByRedis(appId); difyChat.stopMessagesStream(apiKey, taskId, userId); } @@ -105,8 +102,10 @@ public class V1ChatController { @DeleteMapping("/conversation") @PreAuthorize("hasAuthority('dify:chat:delete')") @OperationLogAnnotation(content = "'dify对话", operationType = "删除") - public void deleteConversation(@RequestParam String conversationId, @RequestParam String userId, @RequestParam String appid) { - String apiKey = appEntityRepository.selectApiKey(appid); + public void deleteConversation(@RequestParam String conversationId, @RequestParam String userId, @RequestParam String appId) { + String apiKey = appEntityService.getApikeyByRedis(appId); difyChat.deleteConversation(conversationId, apiKey, userId); } + + } \ No newline at end of file diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java index a2d9a23..992d156 100644 --- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java +++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1DatasetController.java @@ -12,7 +12,6 @@ import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -//TODO 操作日志 @RestController @RequestMapping("/api/v1/dataset") public class V1DatasetController { @@ -35,7 +34,6 @@ public class V1DatasetController { return difyDataset.page(request); } - //TODO 接口报错 /** * 通过文件创建文档 * diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java index cd3183f..520b4bb 100644 --- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java +++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ServerController.java @@ -1,16 +1,14 @@ package com.zsc.edu.dify.modules.dify.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.zsc.edu.dify.modules.dify.entity.AppEntity; -import com.zsc.edu.dify.modules.dify.service.DifyServerService; +import com.zsc.edu.dify.modules.dify.service.AppEntityService; import com.zsc.edu.dify.modules.operationLog.entity.OperationLogAnnotation; import io.github.guoshiqiufeng.dify.server.DifyServer; import io.github.guoshiqiufeng.dify.server.dto.response.ApiKeyResponseVO; import io.github.guoshiqiufeng.dify.server.dto.response.AppsResponseVO; import io.github.guoshiqiufeng.dify.server.dto.response.DatasetApiKeyResponseVO; import jakarta.annotation.Resource; -import org.apache.ibatis.annotations.Param; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -23,7 +21,7 @@ public class V1ServerController { @Resource private DifyServer difyServer; @Resource - private DifyServerService difyServerService; + private AppEntityService appEntityService; /** * 获取应用列表 @@ -34,7 +32,7 @@ public class V1ServerController { @GetMapping("/apps") @PreAuthorize("hasAuthority('dify:server:query')") public List getApps(String mode, String name) { - return difyServerService.getApps(mode, name); + return appEntityService.getApps(mode, name); } /** @@ -100,7 +98,7 @@ public class V1ServerController { @PreAuthorize("hasAuthority('dify:server:update')") @OperationLogAnnotation(content = "'dify服务启用状态'", operationType = "更新") public boolean enabledApp(@PathVariable String id) { - return difyServerService.enabledApp(id); + return appEntityService.enabledApp(id); } /** @@ -112,7 +110,7 @@ public class V1ServerController { public List getEnableApps() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(AppEntity::isEnabled, true); - return difyServerService.list(queryWrapper); + return appEntityService.list(queryWrapper); } } diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java index 8e13bad..9f14a27 100644 --- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java +++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1WorkflowController.java @@ -3,6 +3,7 @@ package com.zsc.edu.dify.modules.dify.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zsc.edu.dify.modules.dify.entity.WorkflowData; import com.zsc.edu.dify.modules.dify.repo.AppEntityRepository; +import com.zsc.edu.dify.modules.dify.service.AppEntityService; import com.zsc.edu.dify.modules.dify.service.DifyWorkflowService; import com.zsc.edu.dify.modules.operationLog.entity.OperationLogAnnotation; import io.github.guoshiqiufeng.dify.core.pojo.DifyPageResult; @@ -25,7 +26,7 @@ public class V1WorkflowController { private DifyWorkflow difyWorkflow; @Resource - private AppEntityRepository appEntityRepository; + private AppEntityService appEntityService; @Resource private DifyWorkflowService difyWorkflowService; @@ -63,7 +64,7 @@ public class V1WorkflowController { */ @PatchMapping("/stop/{appId}") public WorkflowStopResponse stopWorkflowStream(String taskId, String userId, @PathVariable String appId) { - String apiKey = appEntityRepository.selectApiKey(appId); + String apiKey =appEntityService.getApikeyByRedis(appId); return difyWorkflow.stopWorkflowStream(apiKey, taskId, userId); } @@ -76,7 +77,7 @@ public class V1WorkflowController { @GetMapping("/info/{appId}") @PreAuthorize("hasAuthority('dify:workflow:info')") public WorkflowInfoResponse info(String workflowRunId, @PathVariable String appId) { - String apiKey = appEntityRepository.selectApiKey(appId); + String apiKey =appEntityService.getApikeyByRedis(appId); return difyWorkflow.info(workflowRunId, apiKey); } @@ -89,7 +90,7 @@ public class V1WorkflowController { @PostMapping("/logs/{appId}") @PreAuthorize("hasAuthority('dify:workflow:log')") public DifyPageResult logs(@RequestBody WorkflowLogsRequest request, @PathVariable String appId) { - String apiKey = appEntityRepository.selectApiKey(appId); + String apiKey = appEntityService.getApikeyByRedis(appId); request.setApiKey(apiKey); final DifyPageResult logs = difyWorkflow.logs(request); return logs; diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/service/DifyServerService.java b/src/main/java/com/zsc/edu/dify/modules/dify/service/AppEntityService.java similarity index 77% rename from src/main/java/com/zsc/edu/dify/modules/dify/service/DifyServerService.java rename to src/main/java/com/zsc/edu/dify/modules/dify/service/AppEntityService.java index 2aca2a6..5a8a97c 100644 --- a/src/main/java/com/zsc/edu/dify/modules/dify/service/DifyServerService.java +++ b/src/main/java/com/zsc/edu/dify/modules/dify/service/AppEntityService.java @@ -6,8 +6,10 @@ import io.github.guoshiqiufeng.dify.server.dto.response.AppsResponseVO; import java.util.List; -public interface DifyServerService extends IService { +public interface AppEntityService extends IService { List getApps(String mode, String name); boolean enabledApp(String id); + + String getApikeyByRedis(String appId); } diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/service/Impl/DifyServerServiceImpl.java b/src/main/java/com/zsc/edu/dify/modules/dify/service/Impl/AppEntityServiceImpl.java similarity index 84% rename from src/main/java/com/zsc/edu/dify/modules/dify/service/Impl/DifyServerServiceImpl.java rename to src/main/java/com/zsc/edu/dify/modules/dify/service/Impl/AppEntityServiceImpl.java index 13b9f54..d4da030 100644 --- a/src/main/java/com/zsc/edu/dify/modules/dify/service/Impl/DifyServerServiceImpl.java +++ b/src/main/java/com/zsc/edu/dify/modules/dify/service/Impl/AppEntityServiceImpl.java @@ -6,12 +6,13 @@ import com.zsc.edu.dify.exception.ConstraintException; import com.zsc.edu.dify.modules.dify.entity.AppEntity; import com.zsc.edu.dify.modules.dify.mapper.AppEntityMapper; import com.zsc.edu.dify.modules.dify.repo.AppEntityRepository; -import com.zsc.edu.dify.modules.dify.service.DifyServerService; +import com.zsc.edu.dify.modules.dify.service.AppEntityService; import io.github.guoshiqiufeng.dify.server.DifyServer; import io.github.guoshiqiufeng.dify.server.dto.response.ApiKeyResponseVO; import io.github.guoshiqiufeng.dify.server.dto.response.AppsResponseVO; import jakarta.annotation.Resource; import lombok.AllArgsConstructor; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.*; @@ -21,11 +22,13 @@ import java.util.*; */ @AllArgsConstructor @Service -public class DifyServerServiceImpl extends ServiceImpl implements DifyServerService { +public class AppEntityServiceImpl extends ServiceImpl implements AppEntityService { @Resource private AppEntityMapper appEntityMapper; @Resource private DifyServer difyServer; + @Resource + private AppEntityRepository appEntityRepository; @Override public List getApps(String mode, String name) { @@ -65,4 +68,10 @@ public class DifyServerServiceImpl extends ServiceImpl