package com.dsh.competition.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.dsh.competition.entity.UserCompetition;
|
import com.dsh.competition.feignclient.account.AppUserClient;
|
import com.dsh.competition.feignclient.account.StudentClient;
|
import com.dsh.competition.feignclient.account.model.AppUser;
|
import com.dsh.competition.feignclient.account.model.Student;
|
import com.dsh.competition.feignclient.account.model.TStudent;
|
import com.dsh.competition.model.AddParticipant;
|
import com.dsh.competition.model.EditParticipant;
|
import com.dsh.competition.model.ParticipantVo;
|
import com.dsh.competition.model.SaveParticipant;
|
import com.dsh.competition.service.IParticipantService;
|
import com.dsh.competition.service.UserCompetitionService;
|
import com.dsh.competition.util.ResultUtil;
|
import com.dsh.competition.util.TokenUtil;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
/**
|
* @author zhibing.pu
|
* @date 2023/7/7 9:43
|
*/
|
@RestController
|
@RequestMapping("")
|
public class ParticipantController {
|
|
@Autowired
|
private IParticipantService participantService;
|
|
@Autowired
|
private TokenUtil tokenUtil;
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/participant/addParticipant")
|
@ApiOperation(value = "添加参赛人员", tags = {"APP-赛事活动列表", ""})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil addParticipant(AddParticipant addParticipant){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return participantService.addParticipant(uid, addParticipant);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
@ResponseBody
|
@PostMapping("/api/participant/queryParticipantList")
|
@ApiOperation(value = "获取参赛人员列表", tags = {"APP-赛事活动列表", ""})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(value = "isPre(1过滤)", name = "是否过滤未实名", required = true, dataType = "int")
|
})
|
public ResultUtil<List<ParticipantVo>> queryParticipantList(Integer isPre){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
List<ParticipantVo> participantVos = participantService.queryParticipantList(uid);
|
if (isPre!=null){
|
List<ParticipantVo> filteredParticipants = new ArrayList<>();
|
|
for (ParticipantVo participant : participantVos) {
|
if (participant.getIdcard() != null && !participant.getIdcard().isEmpty()) {
|
filteredParticipants.add(participant);
|
}
|
}
|
return ResultUtil.success(filteredParticipants);
|
}
|
|
return ResultUtil.success(participantVos);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
@Resource
|
private StudentClient studentClient;
|
|
@Resource
|
private AppUserClient appUserClient;
|
@ResponseBody
|
@PostMapping("/api/participant/editParticipant")
|
@ApiOperation(value = "编辑参赛人员", tags = {"APP-赛事活动列表", ""})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil editParticipant(EditParticipant editParticipant){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
int numDigits = String.valueOf(editParticipant.getId()).length();
|
|
|
|
if (numDigits==9){
|
return participantService.editParticipant(uid, editParticipant);
|
}
|
else {
|
|
|
TStudent student = new TStudent();
|
student.setId(editParticipant.getId());
|
student.setName(editParticipant.getName());
|
student.setIdCard(editParticipant.getIdcard());
|
student.setHeight(Double.valueOf(editParticipant.getHeight()));
|
student.setWeight(editParticipant.getWeight());
|
student.setPhone(editParticipant.getPhone());
|
studentClient.updateAppUser(student);
|
return ResultUtil.success();
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
@ResponseBody
|
@PostMapping("/api/participant/delParticipant")
|
@ApiOperation(value = "删除参赛人员", tags = {"APP-赛事活动列表", ""})
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
|
})
|
public ResultUtil delParticipant(Integer id){
|
try {
|
Integer uid = tokenUtil.getUserIdFormRedis();
|
if(null == uid){
|
return ResultUtil.tokenErr();
|
}
|
return participantService.delParticipant(id);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 保存学员后同步参赛人员信息
|
* @param saveParticipant
|
*/
|
@ResponseBody
|
@PostMapping("/participant/saveParticipant")
|
public void saveParticipant(@RequestBody SaveParticipant saveParticipant){
|
try {
|
participantService.saveParticipant(saveParticipant);
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
@Autowired
|
private UserCompetitionService userCompetitionService;
|
|
|
@ResponseBody
|
@PostMapping("/participant/counts")
|
public Integer counts(@RequestBody Integer stuId){
|
return userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("participantId",stuId));
|
}
|
}
|