|
|
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());
|
|
|
}
|
|
|
} |