From 59104028b653a50c0e1cfeb5bb35d82a64ee142f Mon Sep 17 00:00:00 2001 From: ageer <ageerle@163.com> Date: 星期六, 03 五月 2025 10:45:29 +0800 Subject: [PATCH] feat: 会话管理 --- ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatSessionController.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 105 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatSessionController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatSessionController.java new file mode 100644 index 0000000..4c5e7dc --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatSessionController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatSessionBo; +import org.ruoyi.domain.vo.ChatSessionVo; +import org.ruoyi.service.IChatSessionService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 浼氳瘽绠$悊 + * + * @author ageerle + * @date 2025-05-03 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/session") +public class ChatSessionController extends BaseController { + + private final IChatSessionService chatSessionService; + + /** + * 鏌ヨ浼氳瘽绠$悊鍒楄〃 + */ + @SaCheckPermission("system:session:list") + @GetMapping("/list") + public TableDataInfo<ChatSessionVo> list(ChatSessionBo bo, PageQuery pageQuery) { + return chatSessionService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭浼氳瘽绠$悊鍒楄〃 + */ + @SaCheckPermission("system:session:export") + @Log(title = "浼氳瘽绠$悊", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatSessionBo bo, HttpServletResponse response) { + List<ChatSessionVo> list = chatSessionService.queryList(bo); + ExcelUtil.exportExcel(list, "浼氳瘽绠$悊", ChatSessionVo.class, response); + } + + /** + * 鑾峰彇浼氳瘽绠$悊璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:session:query") + @GetMapping("/{id}") + public R<ChatSessionVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatSessionService.queryById(id)); + } + + /** + * 鏂板浼氳瘽绠$悊 + */ + @SaCheckPermission("system:session:add") + @Log(title = "浼氳瘽绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatSessionBo bo) { + return toAjax(chatSessionService.insertByBo(bo)); + } + + /** + * 淇敼浼氳瘽绠$悊 + */ + @SaCheckPermission("system:session:edit") + @Log(title = "浼氳瘽绠$悊", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatSessionBo bo) { + return toAjax(chatSessionService.updateByBo(bo)); + } + + /** + * 鍒犻櫎浼氳瘽绠$悊 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:session:remove") + @Log(title = "浼氳瘽绠$悊", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatSessionService.deleteWithValidByIds(List.of(ids), true)); + } +} -- Gitblit v1.9.3