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/service/impl/ParticipantServiceImpl.java |   84 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 77 insertions(+), 7 deletions(-)

diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
index 292229c..2d1d64e 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
@@ -7,6 +7,7 @@
 import com.dsh.competition.entity.UserCompetition;
 import com.dsh.competition.feignclient.account.StudentClient;
 import com.dsh.competition.feignclient.account.model.Student;
+import com.dsh.competition.feignclient.account.model.TStudent;
 import com.dsh.competition.feignclient.course.CoursePackagePaymentClient;
 import com.dsh.competition.feignclient.model.CompetitionUser;
 import com.dsh.competition.mapper.ParticipantMapper;
@@ -15,6 +16,7 @@
 import com.dsh.competition.model.ParticipantVo;
 import com.dsh.competition.model.SaveParticipant;
 import com.dsh.competition.service.IParticipantService;
+import com.dsh.competition.util.CodeGenerateUtils;
 import com.dsh.competition.util.JuHeUtil;
 import com.dsh.competition.util.ResultUtil;
 import com.dsh.competition.util.ToolUtil;
@@ -23,9 +25,7 @@
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author zhibing.pu
@@ -72,6 +72,9 @@
             Date parse = sdf.parse(addParticipant.getBirthday());
             participant.setBirthday(parse);
         }
+        String s = CodeGenerateUtils.generateOrderSn();
+        String substring = s.substring(1);
+        participant.setId(Integer.valueOf(substring));
         participant.setAppUserId(uid);
         participant.setState(1);
         participant.setInsertTime(new Date());
@@ -80,6 +83,9 @@
     }
 
 
+
+   
+    
     /**
      * 获取参赛人员列表
      * @param uid
@@ -88,9 +94,21 @@
      */
     @Override
     public List<ParticipantVo> queryParticipantList(Integer uid) throws Exception {
+        //拿到学员列表
+        List<TStudent> tStudents = studentClient.queryStudentList(uid);
+
+        List<ParticipantVo> listVo1 = new ArrayList<>();
+
+        //利用HashMap去重身份证
+        LinkedHashMap<String,ParticipantVo> linkedHashMap =new LinkedHashMap<>();
+        SimpleDateFormat sdf_year = new SimpleDateFormat("yyyy");
+
+
+
+
+        //查出临时表里的数据,也去重
         List<Participant> list = this.list(new QueryWrapper<Participant>().eq("appUserId", uid).eq("state", 1));
         List<ParticipantVo> listVo = new ArrayList<>();
-        SimpleDateFormat sdf_year = new SimpleDateFormat("yyyy");
         for (Participant participant : list) {
             ParticipantVo participantVo = new ParticipantVo();
             participantVo.setId(participant.getId());
@@ -98,10 +116,16 @@
             participantVo.setIdcard(participant.getIdcard());
             Integer age = Integer.valueOf(sdf_year.format(new Date())) - Integer.valueOf(sdf_year.format(participant.getBirthday()));
             participantVo.setAge(age);
-            Student student = studentClient.queryStudentByPhone(participant.getPhone());
+            Student student = studentClient.queryStudentByPhone(participant.getPhone()==null?"0":participant.getPhone());
+
+            //设为不是学员
+            participantVo.setIsStudent(0);
+
             if(null != student){
                 Integer integer = coursePackagePaymentClient.queryResidueClassHour(student.getId());
                 participantVo.setResidueClassHour(integer);
+                participantVo.setIsStudent(1);
+
             }else{
                 participantVo.setResidueClassHour(0);
             }
@@ -114,9 +138,50 @@
                 participantVo.setBirthday(format);
             }
             participantVo.setGender(participant.getGender());
-            listVo.add(participantVo);
+            if (participant.getIdcard()==null|| participant.getIdcard().isEmpty()){
+                listVo1.add(participantVo);
+                continue;
+            }
+            linkedHashMap.put(participant.getIdcard(),participantVo);
+//            listVo.add(participantVo);
+
         }
-        return listVo;
+
+        for (TStudent tStudent : tStudents) {
+            ParticipantVo participantVo = new ParticipantVo();
+            participantVo.setId(tStudent.getId());
+            participantVo.setName(tStudent.getName());
+            participantVo.setIdcard(tStudent.getIdCard());
+            Integer age = Integer.valueOf(sdf_year.format(new Date())) - Integer.valueOf(sdf_year.format(tStudent.getBirthday()));
+            participantVo.setAge(age);
+            Integer integer = coursePackagePaymentClient.queryResidueClassHour(tStudent.getId());
+            participantVo.setResidueClassHour(integer);
+            participantVo.setPhone(tStudent.getPhone());
+            participantVo.setHeight(tStudent.getHeight().intValue());
+            participantVo.setWeight(tStudent.getWeight());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            if(null != tStudent.getBirthday()){
+                String format = sdf.format(tStudent.getBirthday());
+                participantVo.setBirthday(format);
+            }
+            participantVo.setGender(tStudent.getSex());
+            participantVo.setIsStudent(1);
+            if (tStudent.getIdCard()==null|| tStudent.getIdCard().isEmpty()){
+                listVo1.add(participantVo);
+                continue;
+            }
+            linkedHashMap.put(tStudent.getIdCard(),participantVo);
+        }
+
+
+
+        listVo1.addAll(linkedHashMap.values());
+
+
+//        List<ParticipantVo> listVo1 = new ArrayList<>(linkedHashMap.values());
+
+
+        return listVo1;
     }
 
 
@@ -206,4 +271,9 @@
     public Page<CompetitionUser> getPeopleFromId(Page<UserCompetition> participantPage, Integer id, Integer state) {
         return this.baseMapper.getPeopleFromId(participantPage,id,state);
     }
+
+    @Override
+    public List<CompetitionUser> getPeoples(Integer id, Integer state) {
+        return this.baseMapper.getPeoples(id,state);
+    }
 }

--
Gitblit v1.7.1