|
@@ -1,53 +1,50 @@
|
|
package cn.iocoder.yudao.module.ai.controller.admin.chat;
|
|
package cn.iocoder.yudao.module.ai.controller.admin.chat;
|
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
-import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateReqVO;
|
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateMyReqVO;
|
|
import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationRespVO;
|
|
import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationRespVO;
|
|
-import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationUpdateReqVO;
|
|
|
|
-import cn.iocoder.yudao.module.ai.service.AiChatConversationService;
|
|
|
|
|
|
+import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationUpdateMyReqVO;
|
|
|
|
+import cn.iocoder.yudao.module.ai.service.chat.AiChatConversationService;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
|
+import jakarta.annotation.Resource;
|
|
import jakarta.validation.Valid;
|
|
import jakarta.validation.Valid;
|
|
-import lombok.AllArgsConstructor;
|
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
|
-import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
|
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
|
|
|
|
-@Slf4j
|
|
|
|
-@Tag(name = "管理后台 - 聊天会话")
|
|
|
|
|
|
+@Tag(name = "管理后台 - AI 聊天会话")
|
|
@RestController
|
|
@RestController
|
|
@RequestMapping("/ai/chat/conversation")
|
|
@RequestMapping("/ai/chat/conversation")
|
|
-@AllArgsConstructor
|
|
|
|
|
|
+@Validated
|
|
public class AiChatConversationController {
|
|
public class AiChatConversationController {
|
|
|
|
|
|
- private final AiChatConversationService aiChatConversationService;
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private AiChatConversationService chatConversationService;
|
|
|
|
|
|
- // TODO done @fan:实现一下
|
|
|
|
- @PostMapping("/create")
|
|
|
|
- @Operation(summary = "创建聊天会话")
|
|
|
|
- @PreAuthorize("@ss.hasPermission('ai:chat-conversation:create')")
|
|
|
|
- public CommonResult<Long> createConversation(@RequestBody @Valid AiChatConversationCreateReqVO createReqVO) {
|
|
|
|
- return success(aiChatConversationService.createConversation(createReqVO));
|
|
|
|
|
|
+ @PostMapping("/create-my")
|
|
|
|
+ @Operation(summary = "创建【我的】聊天会话")
|
|
|
|
+ public CommonResult<Long> createChatConversationMy(@RequestBody @Valid AiChatConversationCreateMyReqVO createReqVO) {
|
|
|
|
+ return success(chatConversationService.createChatConversationMy(createReqVO, getLoginUserId()));
|
|
}
|
|
}
|
|
|
|
|
|
- // TODO done @fan:实现一下
|
|
|
|
- @PutMapping("/update")
|
|
|
|
- @Operation(summary = "更新聊天会话")
|
|
|
|
- @PreAuthorize("@ss.hasPermission('ai:chat-conversation:create')")
|
|
|
|
- public CommonResult<Boolean> updateConversation(@RequestBody @Valid AiChatConversationUpdateReqVO updateReqVO) {
|
|
|
|
- return success(aiChatConversationService.updateConversation(updateReqVO));
|
|
|
|
|
|
+ @PutMapping("/update-my")
|
|
|
|
+ @Operation(summary = "更新【我的】聊天会话")
|
|
|
|
+ public CommonResult<Boolean> updateChatConversationMy(@RequestBody @Valid AiChatConversationUpdateMyReqVO updateReqVO) {
|
|
|
|
+ chatConversationService.updateChatConversationMy(updateReqVO, getLoginUserId());
|
|
|
|
+ return success(true);
|
|
}
|
|
}
|
|
|
|
|
|
// TODO done @fan:实现一下
|
|
// TODO done @fan:实现一下
|
|
- @GetMapping("/list")
|
|
|
|
|
|
+ @GetMapping("/my-list")
|
|
@Operation(summary = "获得聊天会话列表")
|
|
@Operation(summary = "获得聊天会话列表")
|
|
public CommonResult<List<AiChatConversationRespVO>> getConversationList() {
|
|
public CommonResult<List<AiChatConversationRespVO>> getConversationList() {
|
|
- return success(aiChatConversationService.listConversation());
|
|
|
|
|
|
+ return success(chatConversationService.listConversation());
|
|
}
|
|
}
|
|
|
|
|
|
// TODO @fan:实现一下
|
|
// TODO @fan:实现一下
|
|
@@ -55,7 +52,7 @@ public class AiChatConversationController {
|
|
@Operation(summary = "获得聊天会话")
|
|
@Operation(summary = "获得聊天会话")
|
|
@Parameter(name = "id", required = true, description = "会话编号", example = "1024")
|
|
@Parameter(name = "id", required = true, description = "会话编号", example = "1024")
|
|
public CommonResult<AiChatConversationRespVO> getConversation(@RequestParam("id") Long id) {
|
|
public CommonResult<AiChatConversationRespVO> getConversation(@RequestParam("id") Long id) {
|
|
- return success(aiChatConversationService.getConversationOfValidate(id));
|
|
|
|
|
|
+ return success(chatConversationService.getConversationOfValidate(id));
|
|
}
|
|
}
|
|
|
|
|
|
// TODO @fan:实现一下
|
|
// TODO @fan:实现一下
|
|
@@ -63,7 +60,9 @@ public class AiChatConversationController {
|
|
@Operation(summary = "删除聊天会话")
|
|
@Operation(summary = "删除聊天会话")
|
|
@Parameter(name = "id", required = true, description = "会话编号", example = "1024")
|
|
@Parameter(name = "id", required = true, description = "会话编号", example = "1024")
|
|
public CommonResult<Boolean> deleteConversation(@RequestParam("id") Long id) {
|
|
public CommonResult<Boolean> deleteConversation(@RequestParam("id") Long id) {
|
|
- return success(aiChatConversationService.deleteConversation(id));
|
|
|
|
|
|
+ return success(chatConversationService.deleteConversation(id));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // ========== 会话管理 ==========
|
|
|
|
+
|
|
}
|
|
}
|