You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wx-dump-MeiFox/wx-dump-admin/src/main/java/com/xcs/wx/controller/ChatRoomController.java

66 lines
3.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.xcs.wx.controller; // 定义了控制器所在的包名
import com.xcs.wx.domain.dto.ChatRoomDTO; // 导入群聊数据传输对象
import com.xcs.wx.domain.vo.ChatRoomDetailVO; // 导入群聊详情视图对象
import com.xcs.wx.domain.vo.ChatRoomVO; // 导入群聊视图对象
import com.xcs.wx.domain.vo.PageVO; // 导入分页视图对象
import com.xcs.wx.domain.vo.ResponseVO; // 导入响应视图对象
import com.xcs.wx.service.ChatRoomService; // 导入群聊服务接口
import lombok.RequiredArgsConstructor; // 导入Lombok提供的注解用于自动生成final字段的构造器
import org.springframework.web.bind.annotation.GetMapping; // 导入用于定义GET请求的注解
import org.springframework.web.bind.annotation.RequestMapping; // 导入用于定义请求映射的注解
import org.springframework.web.bind.annotation.RequestParam; // 导入用于定义请求参数的注解
import org.springframework.web.bind.annotation.RestController; // 导入用于定义REST控制器的注解
import java.util.List; // 导入List接口
/**
* 群聊 Controller
*
* @author xcs
* @date 2024年01月08日 16时03分
**/
@RestController // 定义一个REST风格的控制器返回的数据会自动转换为JSON格式
@RequiredArgsConstructor // 使用Lombok注解自动生成包含所有final字段的构造函数
@RequestMapping("/api/chatroom") // 定义类级别的请求映射所有方法的URL都会以/api/chatroom开头
public class ChatRoomController {
private final ChatRoomService chatRoomService; // 注入ChatRoomService用于业务逻辑处理
/**
* 查询群聊列表
*
* @param chatRoomDTO 查询参数
* @return ChatRoomVO列表的响应对象
*/
@GetMapping("/list") // 定义GET请求的映射访问路径为/api/chatroom/list
public ResponseVO<List<ChatRoomVO>> list(ChatRoomDTO chatRoomDTO) {
// 调用chatRoomService的方法查询群聊列表
PageVO<ChatRoomVO> pageVO = chatRoomService.queryChatRoom(chatRoomDTO);
// 返回包含群聊列表和分页信息的响应对象
return ResponseVO.ok(pageVO.getRecords(), pageVO.getCurrent(), pageVO.getTotal());
}
/**
* 查询群聊详情
*
* @param chatRoomName 群聊名称
* @return ChatRoomDetailVO的响应对象
*/
@GetMapping("/detail") // 定义GET请求的映射访问路径为/api/chatroom/detail
public ResponseVO<ChatRoomDetailVO> detail(@RequestParam String chatRoomName) {
// 调用chatRoomService的方法查询群聊详情并返回响应对象
return ResponseVO.ok(chatRoomService.queryChatRoomDetail(chatRoomName));
}
/**
* 导出群聊
*
* @return ResponseVO的响应对象
*/
@GetMapping("/export") // 定义GET请求的映射访问路径为/api/chatroom/export
public ResponseVO<String> export() {
// 调用chatRoomService的方法导出群聊并返回响应对象
return ResponseVO.ok(chatRoomService.exportChatRoom());
}
}