From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期四, 26 十月 2023 18:04:58 +0800
Subject: [PATCH] 修改bug

---
 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 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 eab7639..f90ee7a 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
@@ -1,19 +1,27 @@
 package com.dsh.competition.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.competition.entity.Participant;
+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.course.CoursePackagePaymentClient;
+import com.dsh.competition.feignclient.model.CompetitionUser;
 import com.dsh.competition.mapper.ParticipantMapper;
 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.util.JuHeUtil;
 import com.dsh.competition.util.ResultUtil;
 import com.dsh.competition.util.ToolUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -25,6 +33,15 @@
  */
 @Service
 public class ParticipantServiceImpl extends ServiceImpl<ParticipantMapper, Participant> implements IParticipantService {
+
+    @Resource
+    private CoursePackagePaymentClient coursePackagePaymentClient;
+
+    @Resource
+    private StudentClient studentClient;
+
+
+
 
 
     /**
@@ -40,8 +57,21 @@
         if(null != one){
             return ResultUtil.error("电话号码重复");
         }
+        if(ToolUtil.isNotEmpty(addParticipant.getName()) && ToolUtil.isNotEmpty(addParticipant.getIdcard())){
+            Boolean aBoolean = JuHeUtil.idcardAuthentication(addParticipant.getIdcard(), addParticipant.getName());
+            if(!aBoolean){
+                return ResultUtil.error("身份证和姓名不匹配");
+            }
+        }
+
         Participant participant = new Participant();
         BeanUtils.copyProperties(addParticipant, participant);
+        participant.setHeight(Double.valueOf(addParticipant.getHeight()).intValue());
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        if(ToolUtil.isNotEmpty(addParticipant.getBirthday())){
+            Date parse = sdf.parse(addParticipant.getBirthday());
+            participant.setBirthday(parse);
+        }
         participant.setAppUserId(uid);
         participant.setState(1);
         participant.setInsertTime(new Date());
@@ -68,6 +98,22 @@
             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()==null?"0":participant.getPhone());
+            if(null != student){
+                Integer integer = coursePackagePaymentClient.queryResidueClassHour(student.getId());
+                participantVo.setResidueClassHour(integer);
+            }else{
+                participantVo.setResidueClassHour(0);
+            }
+            participantVo.setPhone(participant.getPhone());
+            participantVo.setHeight(participant.getHeight());
+            participantVo.setWeight(participant.getWeight());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            if(null != participant.getBirthday()){
+                String format = sdf.format(participant.getBirthday());
+                participantVo.setBirthday(format);
+            }
+            participantVo.setGender(participant.getGender());
             listVo.add(participantVo);
         }
         return listVo;
@@ -86,10 +132,23 @@
         if(null != one && one.getId().compareTo(editParticipant.getId()) != 0){
             return ResultUtil.error("电话号码重复");
         }
+        if(ToolUtil.isNotEmpty(editParticipant.getName()) && ToolUtil.isNotEmpty(editParticipant.getIdcard())){
+            Boolean aBoolean = JuHeUtil.idcardAuthentication(editParticipant.getIdcard(), editParticipant.getName());
+            if(!aBoolean){
+                return ResultUtil.error("身份证和姓名不匹配");
+            }
+        }
         Participant participant = this.getById(editParticipant.getId());
         participant.setHeight(editParticipant.getHeight());
         participant.setWeight(editParticipant.getWeight());
         participant.setPhone(editParticipant.getPhone());
+        participant.setGender(editParticipant.getGender());
+        participant.setIdcard(editParticipant.getIdcard());
+        participant.setName(editParticipant.getName());
+        if(ToolUtil.isNotEmpty(editParticipant.getBirthday())){
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            participant.setBirthday(sdf.parse(editParticipant.getBirthday()));
+        }
         this.updateById(participant);
         return ResultUtil.success();
     }
@@ -142,4 +201,9 @@
             this.save(one);
         }
     }
+
+    @Override
+    public Page<CompetitionUser> getPeopleFromId(Page<UserCompetition> participantPage, Integer id, Integer state) {
+        return this.baseMapper.getPeopleFromId(participantPage,id,state);
+    }
 }

--
Gitblit v1.7.1