From acad524bfb7f376c09ff8e6600fab207780156e1 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 23 十一月 2023 18:46:05 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 80 insertions(+), 3 deletions(-)

diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
index 28e64f0..2494018 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
@@ -1,18 +1,31 @@
 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;
 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;
 
 
@@ -59,15 +72,27 @@
     @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(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(){
+    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();
@@ -78,6 +103,11 @@
 
 
 
+   @Resource
+   private StudentClient studentClient;
+
+    @Resource
+    private AppUserClient appUserClient;
     @ResponseBody
     @PostMapping("/api/participant/editParticipant")
     @ApiOperation(value = "编辑参赛人员", tags = {"APP-赛事活动列表", ""})
@@ -90,7 +120,44 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            return participantService.editParticipant(uid, editParticipant);
+            int numDigits = String.valueOf(editParticipant.getId()).length();
+
+
+
+            if (numDigits==9){
+                Participant byId = participantService.getById(editParticipant.getId());
+                editParticipant.setName(byId.getName());
+                return participantService.editParticipant(uid, editParticipant);
+            }
+            else {
+
+
+                TStudent student = new TStudent();
+                student.setId(editParticipant.getId());
+
+                TStudent student1 =   studentClient.queryById(editParticipant.getId());
+                student.setName(student1.getName());
+                student.setIdCard(editParticipant.getIdcard());
+                if (editParticipant.getHeight()!=null) {
+                    student.setHeight(Double.valueOf(editParticipant.getHeight()));
+                }
+
+                if (editParticipant.getWeight()!=null) {
+                    student.setWeight(editParticipant.getWeight());
+                }
+
+                if(ToolUtil.isNotEmpty(student.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){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -132,4 +199,14 @@
             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));
+    }
 }

--
Gitblit v1.7.1