Commit fe63bda4c7afc96dabe9da560777b31089b7c984
1 parent
e7a3f47d
【增加】清空 Chat 对话
Showing
3 changed files
with
26 additions
and
3 deletions
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,6 +69,13 @@ public class AiChatConversationController { | ||
| 69 | return success(true); | 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,4 +62,10 @@ public interface AiChatConversationService { | ||
| 62 | */ | 62 | */ |
| 63 | AiChatConversationDO validateExists(Long id); | 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,8 +4,8 @@ import cn.hutool.core.lang.Assert; | ||
| 4 | import cn.hutool.core.util.ObjUtil; | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | import cn.hutool.core.util.ObjectUtil; | 5 | import cn.hutool.core.util.ObjectUtil; |
| 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 7 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateMyReqVO; | 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 | import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationUpdateMyReqVO; | 9 | import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationUpdateMyReqVO; |
| 10 | import cn.iocoder.yudao.module.ai.dal.dataobject.chat.AiChatConversationDO; | 10 | import cn.iocoder.yudao.module.ai.dal.dataobject.chat.AiChatConversationDO; |
| 11 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; | 11 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; |
| @@ -21,8 +21,9 @@ import org.springframework.validation.annotation.Validated; | @@ -21,8 +21,9 @@ import org.springframework.validation.annotation.Validated; | ||
| 21 | import java.time.LocalDateTime; | 21 | import java.time.LocalDateTime; |
| 22 | import java.util.List; | 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 | * AI 聊天对话 Service 实现类 | 29 | * AI 聊天对话 Service 实现类 |
| @@ -124,4 +125,13 @@ public class AiChatConversationServiceImpl implements AiChatConversationService | @@ -124,4 +125,13 @@ public class AiChatConversationServiceImpl implements AiChatConversationService | ||
| 124 | return conversation; | 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 | } |