From de8653e1a3c9a2c03b0e97a0e3936e250f402241 Mon Sep 17 00:00:00 2001 From: wangsiyuan <2392948297@qq.com> Date: Fri, 8 Dec 2023 18:09:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=20HeartbeatController.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HeartbeatController.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/java/com/kimgo/wepush/controller/HeartbeatController.java diff --git a/src/main/java/com/kimgo/wepush/controller/HeartbeatController.java b/src/main/java/com/kimgo/wepush/controller/HeartbeatController.java new file mode 100644 index 0000000..05c1515 --- /dev/null +++ b/src/main/java/com/kimgo/wepush/controller/HeartbeatController.java @@ -0,0 +1,32 @@ +package com.kimgo.wepush.controller; + +import com.kimgo.wepush.model.CallInfo; +import com.kimgo.wepush.model.DeviceInfo; +import com.kimgo.wepush.response.ServerResponseEntity; +import com.kimgo.wepush.service.HeartBeatService; +import jakarta.validation.Valid; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class HeartbeatController { + @Autowired + private HeartBeatService heartBeatService; + + @PostMapping("/heartbeat") + public ServerResponseEntity receiveHeartbeat(@RequestHeader("accessToken") String accessToken, + @RequestBody @Valid DeviceInfo deviceInfo) { + // 处理心跳请求 + // 更新客户端的“最后活跃时间” + if(accessToken == null){ + return ServerResponseEntity.fail("accessToken cannot be empty."); + } + if (deviceInfo == null || deviceInfo.hasInvalidFields()){ + return ServerResponseEntity.fail("json body value error."); + } + return heartBeatService.handleHeartbeatSignal(accessToken,deviceInfo); + } +} \ No newline at end of file