From fb2128a3bf8d5a6f1e91ba735241af5924e74ffe Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 21 六月 2024 14:07:36 +0800 Subject: [PATCH] 修改websocket bug --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java | 9 ++ /dev/null | 22 ----- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java | 8 + ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java | 11 +- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/WebsocketMessageDTO.java | 32 ++++++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java | 1 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 17 ++-- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java | 14 +++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketController.java | 43 ++++++++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 19 ++-- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java | 8 + 12 files changed, 133 insertions(+), 53 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/WebsocketMessageDTO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/WebsocketMessageDTO.java new file mode 100644 index 0000000..75c9c16 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/WebsocketMessageDTO.java @@ -0,0 +1,32 @@ +package com.ruoyi.system.api.domain; + +import com.ruoyi.common.core.enums.ClientTypeEnum; +import io.swagger.annotations.ApiModel; +import java.io.Serializable; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author mitao + * @date 2024/6/21 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "websocket消息传输对象", description = "websocket消息传输对象") +public class WebsocketMessageDTO implements Serializable { + + private static final long serialVersionUID = 5118829583970565292L; + + /** + * 客户端类型 + */ + private ClientTypeEnum clientType; + /** + * 消息 + */ + private String message; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java index fb51e6d..391d19c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java @@ -5,6 +5,7 @@ import com.ruoyi.system.api.domain.DelayTask; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.domain.WebsocketMessageDTO; import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO; import com.ruoyi.system.api.feignClient.SysUserClient; import java.util.List; @@ -94,6 +95,19 @@ public R<MgtAfterSaleSettingDTO> getAfterSaleSetting() { return R.fail("获取售后设置失败:" + cause.getMessage()); } + + + @Override + public R<?> pushByClientType(WebsocketMessageDTO dto, String source) { + return R.fail("向" + dto.getClientType().getDesc() + "发送websocket消息失败:" + + cause.getMessage()); + } + + @Override + public R<?> pushAll(String message, String source) { + return R.fail("向所有用户发送websocket消息失败:" + + cause.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java index 240b60e..5109722 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java @@ -7,6 +7,7 @@ import com.ruoyi.system.api.domain.DelayTask; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.domain.WebsocketMessageDTO; import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO; import com.ruoyi.system.api.factory.SysUserFallbackFactory; import java.util.List; @@ -100,4 +101,12 @@ @GetMapping("/custom-config/get-after-sale-setting") R<MgtAfterSaleSettingDTO> getAfterSaleSetting(); + + @PostMapping("/websocket/push-by-client-type") + R<?> pushByClientType(@RequestBody WebsocketMessageDTO dto, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @GetMapping("/websocket/push-all/{message}") + R<?> pushAll(@PathVariable("message") String message, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java index cbd7b2a..82f5b98 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java @@ -45,6 +45,7 @@ import com.ruoyi.system.api.domain.MemberAddress; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.OrderAuctionBond; +import com.ruoyi.system.api.domain.WebsocketMessageDTO; import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO; import com.ruoyi.system.api.domain.dto.AuctionGoodsListPageDTO; import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; @@ -59,7 +60,6 @@ import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.SysUserClient; -import com.ruoyi.system.api.util.WebSocketUsers; import io.seata.spring.annotation.GlobalTransactional; import java.time.LocalDateTime; import java.util.ArrayList; @@ -608,7 +608,8 @@ map.put("target_id", id); map.put("message_type", "end"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); log.info("===================>发送websocket通知,消息体{}", msg); } } @@ -627,7 +628,8 @@ map.put("target_id", id); map.put("message_type", "start"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); log.info("===================>发送websocket通知,消息体{}", msg); } } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java index 9212419..448aff0 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java @@ -20,8 +20,8 @@ import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.AuctionStartStatusEnum; import com.ruoyi.common.core.enums.BidStatusEnum; -import com.ruoyi.common.core.enums.ClientTypeEnum; import com.ruoyi.common.core.enums.OrderFromEnum; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.system.api.constants.NotificationTypeConstant; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.CustomConfig; @@ -46,7 +46,6 @@ import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.SysUserClient; -import com.ruoyi.system.api.util.WebSocketUsers; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; @@ -337,7 +336,7 @@ msg = objectMapper.writeValueAsString(map); } catch (JsonProcessingException e) { } - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushAll(msg, SecurityConstants.INNER); } @@ -401,7 +400,7 @@ msg = objectMapper.writeValueAsString(map); } catch (JsonProcessingException e) { } - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushAll(msg, SecurityConstants.INNER); } @@ -447,7 +446,7 @@ } catch (JsonProcessingException e) { throw new RuntimeException(e); } - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushAll(msg, SecurityConstants.INNER); } @@ -517,7 +516,7 @@ } catch (JsonProcessingException e) { throw new RuntimeException(e); } - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushAll(msg, SecurityConstants.INNER); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index ea82965..9da3265 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -53,7 +53,6 @@ import com.ruoyi.common.core.utils.page.Checker; import com.ruoyi.common.core.utils.page.CollUtils; import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.RemoteFileService; import com.ruoyi.system.api.constants.NotificationTypeConstant; import com.ruoyi.system.api.domain.AppMiniLoginVO; @@ -64,6 +63,7 @@ import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.PromotionVideo; import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.domain.WebsocketMessageDTO; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO; import com.ruoyi.system.api.domain.dto.BidDTO; @@ -85,7 +85,6 @@ import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.PromotionClient; import com.ruoyi.system.api.feignClient.SysUserClient; -import com.ruoyi.system.api.util.WebSocketUsers; import io.seata.spring.annotation.GlobalTransactional; import java.io.IOException; import java.math.BigDecimal; @@ -103,8 +102,6 @@ import java.util.function.Function; import java.util.stream.Collectors; import javax.annotation.Resource; - -import lombok.Data; import org.apache.http.HttpResponse; import org.apache.http.client.config.RequestConfig; import org.apache.http.util.EntityUtils; @@ -655,7 +652,8 @@ Thread socketSender=new Thread(()->{ try { Thread.sleep(1000);//先休眠1秒 - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), finalMsg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(finalMsg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); } catch (Exception e) { e.printStackTrace(); } @@ -724,7 +722,8 @@ Thread socketSender=new Thread(()->{ try { Thread.sleep(1000);//先休眠1秒 - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), finalMsg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(finalMsg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); } catch (Exception e) { e.printStackTrace(); } @@ -1368,7 +1367,8 @@ map.put("auctionSalesroomId", auctionSalesroom.getId()); map.put("message_type", "start"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.AUCTIONEER).build(), SecurityConstants.INNER); } @Override @@ -1418,7 +1418,8 @@ map.put("auctionSalesroomId", auctionSalesroom.getId()); map.put("message_type", "end"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.AUCTIONEER).build(), SecurityConstants.INNER); } @Override diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java index 5fcea94..0f12e35 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java @@ -33,6 +33,7 @@ import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Order; +import com.ruoyi.system.api.domain.WebsocketMessageDTO; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; import com.ruoyi.system.api.domain.dto.OrderUpdDTO; @@ -41,13 +42,12 @@ import com.ruoyi.system.api.domain.vo.OrderVO; import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO; import com.ruoyi.system.api.feignClient.OrderClient; -import com.ruoyi.system.api.util.WebSocketUsers; +import com.ruoyi.system.api.feignClient.SysUserClient; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; -import javax.annotation.Resource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -65,14 +65,12 @@ @RequiredArgsConstructor public class GoodsGroupPurchaseServiceImpl extends ServiceImpl<GoodsGroupPurchaseMapper, GoodsGroupPurchase> implements IGoodsGroupPurchaseService { - @Resource - private OrderClient orderClient; + private final OrderClient orderClient; private final IGoodsSkuService goodsSkuService; private final AsyncMethodService asyncMethodService; private final RedisService redisService; - - @Resource - private IMemberGoodsCollectionService iMemberGoodsCollectionService; + private final IMemberGoodsCollectionService iMemberGoodsCollectionService; + private final SysUserClient sysUserClient; // 创建一个静态共享的ObjectMapper实例以重用 private static final ObjectMapper objectMapper = new ObjectMapper(); /** @@ -216,7 +214,9 @@ map.put("target_id", groupPurchaseId); map.put("message_type", "start"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); log.info("===================>发送websocket通知,消息体{}", msg); } } @@ -240,7 +240,8 @@ map.put("target_id", groupPurchaseId); map.put("message_type", "end"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); log.info("===================>发送websocket通知,消息体{}", msg); } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java index 5307822..2ba2951 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java @@ -36,6 +36,7 @@ import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.GoodsSeries; import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.WebsocketMessageDTO; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; import com.ruoyi.system.api.domain.vo.HomeGoodsSeckillInfoVO; @@ -43,7 +44,6 @@ import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.SysUserClient; -import com.ruoyi.system.api.util.WebSocketUsers; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -221,7 +221,8 @@ map.put("target_id", seckillId); map.put("message_type", "start"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); log.info("===================>发送websocket通知,消息体{}", msg); } @@ -248,7 +249,8 @@ map.put("target_id", seckillId); map.put("message_type", "end"); String msg = objectMapper.writeValueAsString(map); - WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.MEMBER.getCode(), msg); + sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) + .clientType(ClientTypeEnum.MEMBER).build(), SecurityConstants.INNER); log.info("===================>发送websocket通知,消息体{}", msg); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketController.java new file mode 100644 index 0000000..8a721a0 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketController.java @@ -0,0 +1,43 @@ +package com.ruoyi.system.controller; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.system.api.domain.WebsocketMessageDTO; +import com.ruoyi.system.websocket.WebSocketUsers; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/websocket") +public class WebSocketController { + + @GetMapping("/push") + public R<?> push() { + WebSocketUsers.sendMessageToUsersByText("长江长江,我是黄河!"); + return R.ok(); + } + + @GetMapping("/push/{type}/{msg}") + public R<?> push(@PathVariable("type") Integer type, @PathVariable("msg") String msg) { + WebSocketUsers.sendMessageToUsersByType(type, msg); + return R.ok(); + } + + @InnerAuth + @PostMapping("/push-by-client-type") + public R<?> pushByClientType(@RequestBody WebsocketMessageDTO dto) { + WebSocketUsers.sendMessageToUsersByType(dto.getClientType().getCode(), dto.getMessage()); + return R.ok(); + } + + @InnerAuth + @GetMapping("/push-all/{message}") + public R<?> pushAll(@PathVariable("message") String message) { + WebSocketUsers.sendMessageToUsersByText(message); + return R.ok(); + } +} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketTestController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketTestController.java deleted file mode 100644 index 4108fb6..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WebSocketTestController.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.system.controller; - -import com.ruoyi.system.api.util.WebSocketUsers; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/websocket") -public class WebSocketTestController { - - @GetMapping("/push") - public void push() { - WebSocketUsers.sendMessageToUsersByText("长江长江,我是黄河!"); - } - - @GetMapping("/push/{type}/{msg}") - public void push(@PathVariable("type") Integer type, @PathVariable("msg") String msg) { - WebSocketUsers.sendMessageToUsersByType(type, msg); - } -} \ No newline at end of file diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java index 009af79..ee679e8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketServer.java @@ -1,6 +1,5 @@ package com.ruoyi.system.websocket; -import com.ruoyi.system.api.util.WebSocketUsers; import java.util.concurrent.Semaphore; import javax.websocket.OnClose; import javax.websocket.OnError; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java similarity index 98% rename from ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java rename to ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java index 1b546e3..9b162c2 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/WebSocketUsers.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/websocket/WebSocketUsers.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.api.util; +package com.ruoyi.system.websocket; import java.io.IOException; import java.util.Collection; -- Gitblit v1.7.1