From 312f9c4ad8b51c682fc00d2ffb160667a0fa2e4d Mon Sep 17 00:00:00 2001 From: Ethereal <1498117283@qq.com> Date: Thu, 11 Apr 2024 23:13:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B3=E5=8D=A1=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LevelController.java | 4 ++-- .../catchTheLetters/service/LevelService.java | 3 +++ .../service/impl/LevelServiceImpl.java | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/catchTheLetters/controller/LevelController.java b/src/main/java/com/example/catchTheLetters/controller/LevelController.java index 99d91f4..289acc1 100644 --- a/src/main/java/com/example/catchTheLetters/controller/LevelController.java +++ b/src/main/java/com/example/catchTheLetters/controller/LevelController.java @@ -68,7 +68,7 @@ public class LevelController { @ApiOperation(value = "关卡结算(游戏结束时提交,一定要鉴别token)") @PostMapping("/settle") - public R settle(@RequestBody ScoreInfo scoreInfo) { - return null; + public R settle(@RequestBody ScoreInfo scoreInfo, @RequestHeader("token")String token) { + return levelService.settle(scoreInfo, token); } } diff --git a/src/main/java/com/example/catchTheLetters/service/LevelService.java b/src/main/java/com/example/catchTheLetters/service/LevelService.java index b5a8e00..dc8d863 100644 --- a/src/main/java/com/example/catchTheLetters/service/LevelService.java +++ b/src/main/java/com/example/catchTheLetters/service/LevelService.java @@ -1,6 +1,7 @@ package com.example.catchTheLetters.service; import com.example.catchTheLetters.entity.Level; +import com.example.catchTheLetters.entity.ScoreInfo; import com.example.catchTheLetters.utils.R; import java.util.List; @@ -16,4 +17,6 @@ public interface LevelService { R levelDetail(Long id); R> list(); + + R settle(ScoreInfo scoreInfo, String token); } diff --git a/src/main/java/com/example/catchTheLetters/service/impl/LevelServiceImpl.java b/src/main/java/com/example/catchTheLetters/service/impl/LevelServiceImpl.java index c37d3e1..97ddf0d 100644 --- a/src/main/java/com/example/catchTheLetters/service/impl/LevelServiceImpl.java +++ b/src/main/java/com/example/catchTheLetters/service/impl/LevelServiceImpl.java @@ -1,7 +1,9 @@ package com.example.catchTheLetters.service.impl; import com.example.catchTheLetters.entity.Level; +import com.example.catchTheLetters.entity.ScoreInfo; import com.example.catchTheLetters.service.LevelService; +import com.example.catchTheLetters.utils.JwtUtil; import com.example.catchTheLetters.utils.R; import jakarta.annotation.Resource; import org.springframework.data.annotation.QueryAnnotation; @@ -40,4 +42,21 @@ public class LevelServiceImpl implements LevelService { List levels = mongoTemplate.find(query, Level.class); return R.ok(levels); } + + @Override + public R settle(ScoreInfo scoreInfo, String token) { + var map = JwtUtil.getPayload(token); + String id = null; + if (map != null) { + id = map.get("id").asString().replaceAll("\"", ""); + } + if (id == null){ + return R.fail("token解析失败"); + } + if (id.equals(scoreInfo.getUserId().toString())){ + ScoreInfo insert = mongoTemplate.insert(scoreInfo); + return R.ok(insert); + } + return R.fail("添加失败,请重试"); + } }