无关风月
2025-05-08 9486766c806fe1d9e082b2fd02ea1cc558f1b443
cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
@@ -1,15 +1,23 @@
package com.dsh.competition.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.competition.entity.Participant;
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.JuHeUtil;
import com.dsh.competition.util.ResultUtil;
import com.dsh.competition.util.TokenUtil;
import com.dsh.competition.util.ToolUtil;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -35,46 +43,50 @@
    @Autowired
    private TokenUtil tokenUtil;
    @Resource
    private StudentClient studentClient;
    @Autowired
    private UserCompetitionService userCompetitionService;
    @ResponseBody
    @PostMapping("/api/participant/addParticipant")
    @ApiOperation(value = "添加参赛人员", tags = {"APP-赛事活动列表", ""})
    @ApiOperation(value = "添加参赛人员【2.0】", tags = {"APP-赛事活动列表", "人员管理"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil addParticipant(AddParticipant addParticipant){
    public ResultUtil addParticipant(AddParticipant addParticipant) {
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            return participantService.addParticipant(uid, addParticipant);
        }catch (Exception e){
        } catch (Exception e) {
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/api/participant/queryParticipantList")
    @ApiOperation(value = "获取参赛人员列表", tags = {"APP-赛事活动列表", ""})
    @ApiOperation(value = "获取参赛人员列表", tags = {"APP-赛事活动列表", "我的二维码", "人员管理", "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){
    public ResultUtil<List<ParticipantVo>> queryParticipantList() {
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            List<ParticipantVo> participantVos = participantService.queryParticipantList(uid);
            if (isPre!=null){
//            if (isPre != null) {
                List<ParticipantVo> filteredParticipants = new ArrayList<>();
                for (ParticipantVo participant : participantVos) {
@@ -82,11 +94,11 @@
                        filteredParticipants.add(participant);
                    }
                }
            return ResultUtil.success(filteredParticipants);
            }
                return ResultUtil.success(filteredParticipants);
//            }
            return ResultUtil.success(participantVos);
        }catch (Exception e){
//            return ResultUtil.success(participantVos);
        } catch (Exception e) {
            e.printStackTrace();
            return ResultUtil.runErr();
        }
@@ -94,55 +106,66 @@
   @Resource
   private StudentClient studentClient;
    @ResponseBody
    @PostMapping("/api/participant/editParticipant")
    @ApiOperation(value = "编辑参赛人员", tags = {"APP-赛事活动列表", ""})
    @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){
    public ResultUtil editParticipant(EditParticipant editParticipant) {
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            if (editParticipant.getIsStudent()==0){
            return participantService.editParticipant(uid, editParticipant);}
            else {
                AppUser appUser = new AppUser();
                appUser.setId(editParticipant.getId());
            if (null != editParticipant.getIsStudent() && 0 == editParticipant.getIsStudent()) {
                Participant byId = participantService.getById(editParticipant.getId());
                editParticipant.setName(byId.getName());
                return participantService.editParticipant(uid, editParticipant);
            } else {
                TStudent student = new TStudent();
                student.setId(editParticipant.getId());
                student.setName(editParticipant.getName());
                student.setIdCard(editParticipant.getIdcard());
                student.setHeadImg(editParticipant.getHeadImg());
                if (editParticipant.getHeight() != null) {
                    student.setHeight(Double.valueOf(editParticipant.getHeight()));
                }
                if (editParticipant.getWeight() != null) {
                    student.setWeight(editParticipant.getWeight());
                }
                if (ToolUtil.isNotEmpty(editParticipant.getName()) && ToolUtil.isNotEmpty(student.getIdCard())) {
                    Boolean aBoolean = JuHeUtil.idcardAuthentication(student.getIdCard(), student.getName());
                    if (!aBoolean) {
                        return ResultUtil.error("身份证和姓名不匹配");
                    }
                }
                student.setPhone(editParticipant.getPhone());
                studentClient.updateAppUser(student);
                return ResultUtil.success();
            }
        }catch (Exception e){
        } catch (Exception e) {
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/api/participant/delParticipant")
    @ApiOperation(value = "删除参赛人员", tags = {"APP-赛事活动列表", ""})
    @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){
    public ResultUtil delParticipant(Integer id, Integer isStudent) {
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            return participantService.delParticipant(id);
        }catch (Exception e){
            return participantService.delParticipant(id, isStudent);
        } catch (Exception e) {
            e.printStackTrace();
            return ResultUtil.runErr();
        }
@@ -151,15 +174,32 @@
    /**
     * 保存学员后同步参赛人员信息
     *
     * @param saveParticipant
     */
    @ResponseBody
    @PostMapping("/participant/saveParticipant")
    public void saveParticipant(@RequestBody SaveParticipant saveParticipant){
    public void saveParticipant(@RequestBody SaveParticipant saveParticipant) {
        try {
            participantService.saveParticipant(saveParticipant);
        }catch (Exception e){
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @ResponseBody
    @PostMapping("/participant/counts")
    public Integer counts(@RequestBody Integer stuId) {
        return userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("participantId", stuId));
    }
    @ResponseBody
    @PostMapping("/participant/getParticipant")
    public Participant getParticipant(@RequestBody Long id){
        return participantService.getById(id);
    }
}