39453bbb942c9216e8e9f8457153bc3f2ebf2b91.svn-base 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package cn.com.goldenwater.dcproj.controller.system;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.socket.WebSocketServer;
  5. import cn.com.goldenwater.id.util.UuidUtil;
  6. import io.swagger.annotations.Api;
  7. import io.swagger.annotations.ApiOperation;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.web.bind.annotation.*;
  10. import org.springframework.web.servlet.ModelAndView;
  11. /**
  12. * <p>
  13. * 利用webSocket实现实时打印的功能
  14. * </p>
  15. *
  16. * @author luneyq
  17. * @author liyz
  18. * @date 2019/4/16 14:32
  19. */
  20. @Api(value = "webSocket相关接口", tags = "webSocket相关接口")
  21. @Controller
  22. @RequestMapping("/socket")
  23. public class WebSocketController extends BaseController {
  24. @ApiOperation("推送数据接口")
  25. @ResponseBody
  26. @RequestMapping("/push/{sid}")
  27. public String pushToWeb(@PathVariable String sid, String message) throws InterruptedException {
  28. for (int i = 0; i < 10; i++) {
  29. // sid为空时向所有连接广播群发
  30. WebSocketServer.sendInfo(message + i, i == 5 ? null : sid);
  31. Thread.sleep(1000);
  32. }
  33. return "y";
  34. }
  35. @ApiOperation("页面请求(返回ModelAndView)")
  36. @GetMapping("/view/{sid}")
  37. public ModelAndView socket(@PathVariable String sid) {
  38. ModelAndView mav = new ModelAndView("websocket");
  39. mav.addObject("v1", "test1");
  40. return mav;
  41. }
  42. @ApiOperation("页面请求(直接返回页面)")
  43. @RequestMapping(value = "/view2", method = RequestMethod.GET, produces = "text/html; charset=UTF-8")
  44. public String view() {
  45. return "websocket";
  46. }
  47. @ApiOperation("获取UUID的接口")
  48. @RequestMapping(value = "/uuidStr", method = RequestMethod.GET)
  49. @ResponseBody
  50. public String getUuidStr() {
  51. return UuidUtil.uuid();
  52. }
  53. @ApiOperation("获取UUID的接口")
  54. @RequestMapping(value = "/uuid", method = RequestMethod.GET)
  55. @ResponseBody
  56. public BaseResponse<String> getUuid() {
  57. String uuid = UuidUtil.uuid();
  58. return buildSuccessResponse(uuid);
  59. }
  60. }