125 lines
4.8 KiB
Java
125 lines
4.8 KiB
Java
package xin.merlin.myplayerbackend.controller;
|
||
|
||
|
||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||
import lombok.RequiredArgsConstructor;
|
||
import org.springframework.web.bind.annotation.*;
|
||
import xin.merlin.myplayerbackend.entity.PlayroomInfo;
|
||
import xin.merlin.myplayerbackend.entity.Playrooms;
|
||
import xin.merlin.myplayerbackend.entity.UserInfo;
|
||
import xin.merlin.myplayerbackend.service.impl.PlayroomServiceImpl;
|
||
import xin.merlin.myplayerbackend.service.impl.PlayroomsServiceImpl;
|
||
import xin.merlin.myplayerbackend.utils.JwtUtil;
|
||
import xin.merlin.myplayerbackend.utils.result.Response;
|
||
import xin.merlin.myplayerbackend.utils.result.ResultCode;
|
||
|
||
import static com.baomidou.mybatisplus.extension.ddl.DdlScriptErrorHandler.PrintlnLogErrorHandler.log;
|
||
|
||
@RestController
|
||
@RequestMapping("/playroom")
|
||
@RequiredArgsConstructor
|
||
public class PlayroomController {
|
||
|
||
private final JwtUtil jwtUtil;
|
||
|
||
private final PlayroomServiceImpl playroomService;
|
||
|
||
private final PlayroomsServiceImpl playroomsService;
|
||
|
||
private Boolean isAdmin(Integer id,Integer r_id){
|
||
return playroomsService.playroomIsAdmin(id,r_id)==0;
|
||
}
|
||
|
||
@PostMapping("/create")
|
||
Response createPlayroom(@RequestHeader("Authorization")String token, @RequestBody PlayroomInfo playroomInfo) {
|
||
try {
|
||
token = token.substring(7);
|
||
Integer id = jwtUtil.getId(token);
|
||
return Response.success(ResultCode.SUCCESS, playroomService.createPlayroom(id,playroomInfo));
|
||
} catch (Exception e) {
|
||
log.error(e.getMessage());
|
||
return Response.fail(ResultCode.SERVER_ERROR);
|
||
}
|
||
}
|
||
|
||
@GetMapping("/get")
|
||
Response getPlayroom(@RequestHeader("Authorization")String token){
|
||
try {
|
||
token = token.substring(7);
|
||
Integer id = jwtUtil.getId(token);
|
||
|
||
return Response.success(ResultCode.SUCCESS,playroomService.getPlayrooms(id));
|
||
} catch (Exception e) {
|
||
log.error(e.getMessage());
|
||
return Response.fail(ResultCode.SERVER_ERROR);
|
||
}
|
||
|
||
}
|
||
|
||
@PostMapping("/search")
|
||
Response searchPlayroom(@RequestBody PlayroomInfo playroomInfo) {
|
||
// TODO:视情况开放api参数currentPage和 pageSize
|
||
try {
|
||
Integer currentPage = 1;
|
||
Integer pageSize = 10;
|
||
|
||
return Response.success(ResultCode.SUCCESS,playroomService.searchPlayroom(playroomInfo,currentPage,pageSize));
|
||
} catch (Exception e) {
|
||
log.error(e.getMessage());
|
||
return Response.fail(ResultCode.SERVER_ERROR);
|
||
}
|
||
}
|
||
|
||
@PostMapping("/update")
|
||
Response updatePlayroom(@RequestHeader("Authorization")String token, @RequestBody PlayroomInfo playroomInfo) {
|
||
try {
|
||
token = token.substring(7);
|
||
Integer id = jwtUtil.getId(token);
|
||
if(!isAdmin(id,playroomInfo.getR_id())) return Response.success(ResultCode.ACCOUNT_PERMISSION_DENY);
|
||
playroomService.updateById(playroomInfo);
|
||
return Response.success(ResultCode.SUCCESS);
|
||
} catch (Exception e) {
|
||
log.error(e.getMessage());
|
||
return Response.fail(ResultCode.SERVER_ERROR);
|
||
}
|
||
}
|
||
|
||
@PostMapping("/delete")
|
||
Response deletePlayroom(@RequestHeader("Authorization")String token, @RequestBody PlayroomInfo playroomInfo) {
|
||
try {
|
||
token = token.substring(7);
|
||
Integer id = jwtUtil.getId(token);
|
||
if(!isAdmin(id,playroomInfo.getR_id())) return Response.success(ResultCode.ACCOUNT_PERMISSION_DENY);
|
||
return Response.success(ResultCode.SUCCESS,playroomService.deletePlayroom(playroomInfo));
|
||
} catch (Exception e) {
|
||
log.error(e.getMessage());
|
||
return Response.fail(ResultCode.SERVER_ERROR);
|
||
}
|
||
}
|
||
|
||
@GetMapping("/member/{r_id}")
|
||
Response getMember(@PathVariable("r_id")Integer r_id,@RequestParam Integer currentPage,@RequestParam Integer pageSize){
|
||
try {
|
||
return Response.success(ResultCode.SUCCESS,playroomService.getMember(r_id,currentPage,pageSize));
|
||
} catch (Exception e) {
|
||
log.error(e.getMessage());
|
||
return Response.fail(ResultCode.SERVER_ERROR);
|
||
}
|
||
}
|
||
|
||
@PostMapping("/member/delete/{r_id}")
|
||
Response deleteMember(@RequestHeader("Authorization")String token, @PathVariable("r_id")Integer r_id, @RequestBody UserInfo userInfo){
|
||
try {
|
||
token = token.substring(7);
|
||
Integer id = jwtUtil.getId(token);
|
||
if(!isAdmin(id,r_id)) return Response.success(ResultCode.ACCOUNT_PERMISSION_DENY);
|
||
playroomsService.remove(Wrappers.<Playrooms>lambdaQuery().eq(Playrooms::getR_id,r_id).eq(Playrooms::getId,userInfo.getId()));
|
||
return Response.success(ResultCode.SUCCESS);
|
||
} catch (Exception e) {
|
||
log.error(e.getMessage());
|
||
return Response.fail(ResultCode.SERVER_ERROR);
|
||
}
|
||
}
|
||
|
||
}
|