Commit fe63bda4c7afc96dabe9da560777b31089b7c984

Authored by cherishsince
1 parent e7a3f47d

【增加】清空 Chat 对话

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/chat/AiChatConversationController.java
... ... @@ -69,6 +69,13 @@ public class AiChatConversationController {
69 69 return success(true);
70 70 }
71 71  
  72 + @DeleteMapping("/delete-my-all-except-pinned")
  73 + @Operation(summary = "删除所有对话(置顶除外)")
  74 + @Parameter(name = "id", required = true, description = "会话编号", example = "1024")
  75 + public CommonResult<Boolean> deleteMyAllExceptPinned() {
  76 + chatConversationService.deleteMyAllExceptPinned(getLoginUserId());
  77 + return success(true);
  78 + }
72 79 // ========== 会话管理 ==========
73 80  
74 81 }
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationService.java
... ... @@ -62,4 +62,10 @@ public interface AiChatConversationService {
62 62 */
63 63 AiChatConversationDO validateExists(Long id);
64 64  
  65 + /**
  66 + * 删除 - 所有对话,置顶除外
  67 + *
  68 + * @param loginUserId
  69 + */
  70 + void deleteMyAllExceptPinned(Long loginUserId);
65 71 }
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationServiceImpl.java
... ... @@ -4,8 +4,8 @@ import cn.hutool.core.lang.Assert;
4 4 import cn.hutool.core.util.ObjUtil;
5 5 import cn.hutool.core.util.ObjectUtil;
6 6 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
  7 +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
7 8 import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateMyReqVO;
8   -import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationRespVO;
9 9 import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationUpdateMyReqVO;
10 10 import cn.iocoder.yudao.module.ai.dal.dataobject.chat.AiChatConversationDO;
11 11 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
... ... @@ -21,8 +21,9 @@ import org.springframework.validation.annotation.Validated;
21 21 import java.time.LocalDateTime;
22 22 import java.util.List;
23 23  
24   -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.*;
25   -import static cn.iocoder.yudao.module.ai.ErrorCodeConstants.*;
  24 +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  25 +import static cn.iocoder.yudao.module.ai.ErrorCodeConstants.CHAT_CONVERSATION_MODEL_ERROR;
  26 +import static cn.iocoder.yudao.module.ai.ErrorCodeConstants.CHAT_CONVERSATION_NOT_EXISTS;
26 27  
27 28 /**
28 29 * AI 聊天对话 Service 实现类
... ... @@ -124,4 +125,13 @@ public class AiChatConversationServiceImpl implements AiChatConversationService
124 125 return conversation;
125 126 }
126 127  
  128 + @Override
  129 + public void deleteMyAllExceptPinned(Long loginUserId) {
  130 + chatConversationMapper.delete(
  131 + new LambdaQueryWrapperX<AiChatConversationDO>()
  132 + .eq(AiChatConversationDO::getUserId, loginUserId)
  133 + .eq(AiChatConversationDO::getPinned, false)
  134 + );
  135 + }
  136 +
127 137 }
... ...