From 59104028b653a50c0e1cfeb5bb35d82a64ee142f Mon Sep 17 00:00:00 2001 From: ageer Date: Sat, 3 May 2025 10:45:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=9A=E8=AF=9D=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat/ChatSessionController.java | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatSessionController.java 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 00000000..4c5e7dc0 --- /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 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 list = chatSessionService.queryList(bo); + ExcelUtil.exportExcel(list, "会话管理", ChatSessionVo.class, response); + } + + /** + * 获取会话管理详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("system:session:query") + @GetMapping("/{id}") + public R 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 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 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 remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(chatSessionService.deleteWithValidByIds(List.of(ids), true)); + } +}