Commit 9194eb97 authored by liming's avatar liming

团练接口

parent 86a23ac7
package com.antai.sport.http.server.server.api.business.teamtraining.controller;
import com.antai.sport.http.server.common.base.Result;
import com.antai.sport.http.server.server.api.business.simplematch.dto.ReqSimpleMatchRegist;
import com.antai.sport.http.server.server.api.business.teamtraining.dto.TeamTrainingBannerResponseDTO;
import com.antai.sport.http.server.server.api.business.teamtraining.dto.TeamTrainingForListResponseDTO;
import com.antai.sport.http.server.server.api.business.teamtraining.dto.TeamTrainingRegistRequestDTO;
import com.antai.sport.http.server.server.api.business.teamtraining.service.TeamTrainingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import static com.antai.sport.http.server.common.util.ResultUtil.success;
@RequestMapping("/team/training")
@RestController
@Api(tags = {"团练接口"})
public class TeamTrainingController {
@Resource
private TeamTrainingService teamTrainingService;
@ApiOperation("获取banner地址")
@GetMapping("/banner/list")
public ResponseEntity<Result<List<TeamTrainingBannerResponseDTO>>> getSimpleMatchBannerList() {
return success(teamTrainingService.getTeamTrainingBannerList());
}
@ApiOperation("查询所有未完团练列表")
@GetMapping("/list")
public ResponseEntity<Result<List<TeamTrainingForListResponseDTO>>> getUnFinishedTeamTrainingForServer() {
return success(teamTrainingService.getUnFinishedTeamTrainingForServer());
}
@ApiOperation("通过用户id查询未完团练列表")
@GetMapping("/list/user/{userId}")
public ResponseEntity<Result<List<TeamTrainingForListResponseDTO>>> getUnFinishedTeamTrainingForUser(@PathVariable("userId") Long userId) {
return success(teamTrainingService.getUnFinishedTeamTrainingForUser(userId));
}
@ApiOperation("团练报名报名")
@PostMapping("/regist")
public ResponseEntity<Result> register(@RequestBody TeamTrainingRegistRequestDTO param) {
teamTrainingService.regist(param);
return success();
}
}
package com.antai.sport.http.server.server.api.business.teamtraining.service;
import com.antai.sport.http.server.common.exception.BusinessException;
import com.antai.sport.http.server.constants.DeleteStatus;
import com.antai.sport.http.server.repository.teamtraining.entity.TeamTrainingBanner;
import com.antai.sport.http.server.repository.teamtraining.entity.TeamTrainingPlayerRegistLog;
import com.antai.sport.http.server.repository.teamtraining.mapper.TeamTrainingBannerMapper;
import com.antai.sport.http.server.repository.teamtraining.mapper.TeamTrainingPlayerRegistLogMapper;
import com.antai.sport.http.server.server.api.business.teamtraining.converter.TeamTrainingConverter;
import com.antai.sport.http.server.server.api.business.teamtraining.dto.TeamTrainingBannerResponseDTO;
import com.antai.sport.http.server.server.api.business.teamtraining.dto.TeamTrainingForListResponseDTO;
import com.antai.sport.http.server.server.api.business.teamtraining.dto.TeamTrainingRegistRequestDTO;
import com.antai.sport.http.server.server.api.business.teamtraining.mapper.TeamTrainingBusinessMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class TeamTrainingService {
@Resource
private TeamTrainingConverter teamTrainingConverter;
@Resource
private TeamTrainingBannerMapper teamTrainingBannerMapper;
@Resource
private TeamTrainingPlayerRegistLogMapper teamTrainingPlayerRegistLogMapper;
@Resource
private TeamTrainingBusinessMapper teamTrainingBusinessMapper;
/**
* 获取日常赛banner列表
*
* @return
*/
public List<TeamTrainingBannerResponseDTO> getTeamTrainingBannerList() {
QueryWrapper<TeamTrainingBanner> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("deleted", DeleteStatus.UNDELETED).orderBy(true, true, "show_order");
List<TeamTrainingBanner> bannerList = teamTrainingBannerMapper.selectList(queryWrapper);
return teamTrainingConverter.toTeamTrainingBannerResponseDTO(bannerList);
}
/**
* 通过用户id查看未完赛团练列表
*
* @param userId
* @return
*/
public List<TeamTrainingForListResponseDTO> getUnFinishedTeamTrainingForUser(Long userId) {
return teamTrainingBusinessMapper.getUnFinishedTeamTrainingForUser(userId, LocalDateTime.now());
}
/**
* 查询所有未完团练列表
*
* @return
*/
public List<TeamTrainingForListResponseDTO> getUnFinishedTeamTrainingForServer() {
return teamTrainingBusinessMapper.getUnFinishedTeamTrainingForServer(LocalDateTime.now());
}
/**
* 团练报名
*
* @param param
*/
public void regist(TeamTrainingRegistRequestDTO param) {
QueryWrapper<TeamTrainingPlayerRegistLog> countQuery = new QueryWrapper<>();
countQuery.eq("team_training_id", param.getTeamTrainingId()).eq("player_id", param.getPlayerId());
Integer count = teamTrainingPlayerRegistLogMapper.selectCount(countQuery);
if (count > 0) {
throw new BusinessException("不成重复报名");
}
TeamTrainingPlayerRegistLog registLog = new TeamTrainingPlayerRegistLog();
registLog.setTeamTrainingId(param.getTeamTrainingId());
registLog.setPlayerId(param.getPlayerId());
registLog.setCreateTime(LocalDateTime.now());
teamTrainingPlayerRegistLogMapper.insert(registLog);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment