diff --git a/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java b/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java index 351c7fc31a1b41fb970f90fbf88bb72d81b85847..7e23cb19b1989c877d7aeb5221fae586d27cd2d8 100644 --- a/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java +++ b/src/main/java/io/github/yubincloud/fairywiki/service/DocService.java @@ -18,10 +18,11 @@ import io.github.yubincloud.fairywiki.utils.CopyUtil; import io.github.yubincloud.fairywiki.utils.RedisUtil; import io.github.yubincloud.fairywiki.utils.RequestContext; import io.github.yubincloud.fairywiki.utils.SnowFlake; -import org.apache.commons.lang3.ObjectUtils; +import io.github.yubincloud.fairywiki.websocket.WebSocketServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.List; @@ -46,6 +47,9 @@ public class DocService { @Resource private RedisUtil redisUtil; + @Resource + private WebSocketServer webSocketServer; + /** * 获取全部 Doc */ @@ -143,7 +147,9 @@ public class DocService { } else { throw new BusinessException(BusinessExceptionCode.VOTE_REPEAT); } - docMapperCustom.increaseVoteCount(docId); + // 向 ws 推送消息 + Doc docInDb = docMapper.selectByPrimaryKey(docId); + webSocketServer.sendInfo("【" + docInDb.getName() + "】被点赞!"); } /** diff --git a/web/src/components/the-footer.vue b/web/src/components/the-footer.vue index 41bd5f16f17c2d35e436b5783ec9346a8e2a28c4..b84fc035ca584304ca614f33fd550895aabf05b6 100644 --- a/web/src/components/the-footer.vue +++ b/web/src/components/the-footer.vue @@ -9,6 +9,8 @@ import {computed, defineComponent, onMounted} from "vue"; import store from "@/store"; import { Tool } from "@/util/tool"; +import { notification } from 'ant-design-vue'; + export default defineComponent({ name: 'the-footer', @@ -22,6 +24,10 @@ export default defineComponent({ }; const onMessage = (event: any) => { console.log('WebSocket收到消息:', event.data); + notification['info']({ + message: '收到消息', + description: event.data, + }); }; const onError = () => { console.log('WebSocket连接错误,状态码:', websocket.readyState)