CatchTheLettersBackend/src/main/java/com/example/catchTheLetters/controller/LevelController.java

75 lines
2.3 KiB
Java
Raw Normal View History

package com.example.catchTheLetters.controller;
import com.example.catchTheLetters.entity.Level;
2024-04-10 07:03:57 +00:00
import com.example.catchTheLetters.model.vo.RankVo;
import com.example.catchTheLetters.entity.ScoreInfo;
import com.example.catchTheLetters.service.LevelService;
import com.example.catchTheLetters.utils.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 关卡控制器
2024-04-10 07:15:36 +00:00
*
* @author spyn
*/
@RestController
@Slf4j
@Api(tags = "关卡API")
@RequestMapping("/level")
public class LevelController {
@Resource
private LevelService levelService;
@ApiOperation(value = "关卡列表只返回ID、名称和类型")
@GetMapping("/list")
public R<List<Level>> list() {
return levelService.list();
}
@ApiOperation(value = "关卡详情")
@GetMapping("/detail")
@ApiParam(name = "id", value = "关卡ID")
2024-04-12 01:51:21 +00:00
public R<Level> detail(String id) {
return levelService.levelDetail(id);
}
@ApiOperation(value = "关卡创建web前端管理员提交")
@PostMapping("/create")
public R create(@RequestBody Level level) {
2024-04-12 01:51:21 +00:00
return levelService.LevelCreate(level) ? R.ok() : R.fail();
}
@ApiOperation(value = "关卡修改web前端管理员提交")
@PostMapping("/update")
public R update(@RequestBody Level level) {
return null;
}
@ApiOperation(value = "关卡删除web前端管理员提交")
@PostMapping("/delete")
2024-04-12 01:51:21 +00:00
public R delete(String id) {
return null;
}
@ApiOperation(value = "获取某个关卡排行榜数据")
@GetMapping("/rank")
@ApiParam(name = "id", value = "关卡ID")
2024-04-12 01:51:21 +00:00
public R<RankVo> rank(String id, @RequestHeader(value = "token", required = false)String token) {
return R.ok(levelService.getRankInfo(id, token));
}
@ApiOperation(value = "关卡结算游戏结束时提交一定要鉴别token")
@PostMapping("/settle")
2024-04-11 15:13:12 +00:00
public R<ScoreInfo> settle(@RequestBody ScoreInfo scoreInfo, @RequestHeader("token")String token) {
return levelService.settle(scoreInfo, token);
}
}