1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package com.aizuda.boot.modules.system.controller;
- import com.aizuda.boot.modules.system.service.ISysSSEService;
- import com.aizuda.core.api.ApiController;
- import com.aizuda.service.web.UserSession;
- import com.baomidou.kisso.annotation.Permission;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import lombok.AllArgsConstructor;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
- /**
- * SSE消息推送 前端控制器
- *
- * @author 青苗
- * @since 2024-09-05
- */
- @Tag(name = "SSE消息推送")
- @RestController
- @AllArgsConstructor
- @RequestMapping("/sys/sse")
- public class SysSSEController extends ApiController {
- private ISysSSEService sseService;
- @Operation(summary = "连接")
- @Permission("sys:sse:connect")
- @RequestMapping("/connect")
- public SseEmitter connect() {
- return sseService.connect();
- }
- @Operation(summary = "测试发送数据给当前用户")
- @Permission("sys:sse:testSend")
- @RequestMapping("/test-send")
- public boolean sendTest(String message) {
- sseService.send(UserSession.getLoginInfo().getId(), "message", message);
- return true;
- }
- }
|