From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java |  182 ++++++++++++++++++++++++++++-----------------
 1 files changed, 112 insertions(+), 70 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 051c02a..b8b31e8 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
@@ -4,6 +4,7 @@
 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.PaymentCompetition;
 import com.dsh.competition.entity.UserCompetition;
 import com.dsh.competition.feignclient.account.StudentClient;
 import com.dsh.competition.feignclient.account.model.Student;
@@ -16,16 +17,20 @@
 import com.dsh.competition.model.ParticipantVo;
 import com.dsh.competition.model.SaveParticipant;
 import com.dsh.competition.service.IParticipantService;
+import com.dsh.competition.service.IPaymentCompetitionService;
+import com.dsh.competition.service.UserCompetitionService;
 import com.dsh.competition.util.CodeGenerateUtils;
 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.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
@@ -40,12 +45,16 @@
     @Resource
     private StudentClient studentClient;
 
+    @Autowired
+    private UserCompetitionService userCompetitionService;
 
-
+    @Autowired
+    private IPaymentCompetitionService paymentCompetitionService;
 
 
     /**
      * 添加参赛人员信息
+     *
      * @param uid
      * @param addParticipant
      * @return
@@ -54,12 +63,12 @@
     @Override
     public ResultUtil addParticipant(Integer uid, AddParticipant addParticipant) throws Exception {
         Participant one = this.getOne(new QueryWrapper<Participant>().eq("appUserId", uid).eq("phone", addParticipant.getPhone()).eq("state", 1));
-        if(null != one){
+        if (null != one) {
             return ResultUtil.error("电话号码重复");
         }
-        if(ToolUtil.isNotEmpty(addParticipant.getName()) && ToolUtil.isNotEmpty(addParticipant.getIdcard())){
+        if (ToolUtil.isNotEmpty(addParticipant.getName()) && ToolUtil.isNotEmpty(addParticipant.getIdcard())) {
             Boolean aBoolean = JuHeUtil.idcardAuthentication(addParticipant.getIdcard(), addParticipant.getName());
-            if(!aBoolean){
+            if (!aBoolean) {
                 return ResultUtil.error("身份证和姓名不匹配");
             }
         }
@@ -68,7 +77,7 @@
         BeanUtils.copyProperties(addParticipant, participant);
         participant.setHeight(Double.valueOf(addParticipant.getHeight()).intValue());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        if(ToolUtil.isNotEmpty(addParticipant.getBirthday())){
+        if (ToolUtil.isNotEmpty(addParticipant.getBirthday())) {
             Date parse = sdf.parse(addParticipant.getBirthday());
             participant.setBirthday(parse);
         }
@@ -83,11 +92,9 @@
     }
 
 
-
-   
-    
     /**
      * 获取参赛人员列表
+     *
      * @param uid
      * @return
      * @throws Exception
@@ -100,8 +107,51 @@
         List<ParticipantVo> listVo1 = new ArrayList<>();
 
         //利用HashMap去重身份证
-        LinkedHashMap<String,ParticipantVo> linkedHashMap =new LinkedHashMap<>();
+        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<>();
+        for (Participant participant : list) {
+            ParticipantVo participantVo = new ParticipantVo();
+            participantVo.setId(participant.getId());
+            participantVo.setName(participant.getName());
+            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());
+
+            //设为不是学员
+            participantVo.setIsStudent(0);
+
+            if (null != student) {
+                Integer integer = coursePackagePaymentClient.queryResidueClassHour(student.getId());
+                participantVo.setResidueClassHour(integer);
+                participantVo.setIsStudent(1);
+
+            } 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());
+            if (participant.getIdcard() == null || participant.getIdcard().isEmpty()) {
+                listVo1.add(participantVo);
+                continue;
+            }
+            linkedHashMap.put(participant.getIdcard(), participantVo);
+//            listVo.add(participantVo);
+
+        }
+
         for (TStudent tStudent : tStudents) {
             ParticipantVo participantVo = new ParticipantVo();
             participantVo.setId(tStudent.getId());
@@ -115,62 +165,19 @@
             participantVo.setHeight(tStudent.getHeight().intValue());
             participantVo.setWeight(tStudent.getWeight());
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            if(null != tStudent.getBirthday()){
+            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()){
+            if (tStudent.getIdCard() == null || tStudent.getIdCard().isEmpty()) {
                 listVo1.add(participantVo);
                 continue;
             }
-            linkedHashMap.put(tStudent.getIdCard(),participantVo);
+            linkedHashMap.put(tStudent.getIdCard(), participantVo);
         }
 
-
-
-
-        //查出临时表里的数据,也去重
-        List<Participant> list = this.list(new QueryWrapper<Participant>().eq("appUserId", uid).eq("state", 1));
-        List<ParticipantVo> listVo = new ArrayList<>();
-        for (Participant participant : list) {
-            ParticipantVo participantVo = new ParticipantVo();
-            participantVo.setId(participant.getId());
-            participantVo.setName(participant.getName());
-            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());
-
-            //设为不是学员
-            participantVo.setIsStudent(0);
-
-            if(null != student){
-                Integer integer = coursePackagePaymentClient.queryResidueClassHour(student.getId());
-                participantVo.setResidueClassHour(integer);
-                participantVo.setIsStudent(1);
-
-            }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());
-            if (participant.getIdcard()==null|| participant.getIdcard().isEmpty()){
-                listVo1.add(participantVo);
-                continue;
-            }
-            linkedHashMap.put(participant.getIdcard(),participantVo);
-//            listVo.add(participantVo);
-
-        }
 
         listVo1.addAll(linkedHashMap.values());
 
@@ -184,6 +191,7 @@
 
     /**
      * 修改参赛人员信息
+     *
      * @param editParticipant
      * @return
      * @throws Exception
@@ -191,12 +199,12 @@
     @Override
     public ResultUtil editParticipant(Integer uid, EditParticipant editParticipant) throws Exception {
         Participant one = this.getOne(new QueryWrapper<Participant>().eq("appUserId", uid).eq("phone", editParticipant.getPhone()).eq("state", 1));
-        if(null != one && one.getId().compareTo(editParticipant.getId()) != 0){
+        if (null != one && one.getId().compareTo(editParticipant.getId()) != 0) {
             return ResultUtil.error("电话号码重复");
         }
-        if(ToolUtil.isNotEmpty(editParticipant.getName()) && ToolUtil.isNotEmpty(editParticipant.getIdcard())){
+        if (ToolUtil.isNotEmpty(editParticipant.getName()) && ToolUtil.isNotEmpty(editParticipant.getIdcard())) {
             Boolean aBoolean = JuHeUtil.idcardAuthentication(editParticipant.getIdcard(), editParticipant.getName());
-            if(!aBoolean){
+            if (!aBoolean) {
                 return ResultUtil.error("身份证和姓名不匹配");
             }
         }
@@ -207,7 +215,7 @@
         participant.setGender(editParticipant.getGender());
         participant.setIdcard(editParticipant.getIdcard());
         participant.setName(editParticipant.getName());
-        if(ToolUtil.isNotEmpty(editParticipant.getBirthday())){
+        if (ToolUtil.isNotEmpty(editParticipant.getBirthday())) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
             participant.setBirthday(sdf.parse(editParticipant.getBirthday()));
         }
@@ -218,6 +226,7 @@
 
     /**
      * 删除参赛人员信息
+     *
      * @param id
      * @return
      * @throws Exception
@@ -234,43 +243,76 @@
     @Override
     public void saveParticipant(SaveParticipant saveParticipant) throws Exception {
         Participant one = this.getOne(new QueryWrapper<Participant>().eq("appUserId", saveParticipant.getAppUserId()).eq("phone", saveParticipant.getPhone()).eq("state", 1));
-        if(null != one){
-            if(ToolUtil.isNotEmpty(saveParticipant.getName())){
+        if (null != one) {
+            if (ToolUtil.isNotEmpty(saveParticipant.getName())) {
                 one.setName(saveParticipant.getName());
             }
-            if(ToolUtil.isNotEmpty(saveParticipant.getBirthday())){
+            if (ToolUtil.isNotEmpty(saveParticipant.getBirthday())) {
                 one.setBirthday(saveParticipant.getBirthday());
             }
-            if(ToolUtil.isNotEmpty(saveParticipant.getGender())){
+            if (ToolUtil.isNotEmpty(saveParticipant.getGender())) {
                 one.setGender(saveParticipant.getGender());
             }
-            if(ToolUtil.isNotEmpty(saveParticipant.getHeight())){
+            if (ToolUtil.isNotEmpty(saveParticipant.getHeight())) {
                 one.setHeight(saveParticipant.getHeight());
             }
-            if(ToolUtil.isNotEmpty(saveParticipant.getWeight())){
+            if (ToolUtil.isNotEmpty(saveParticipant.getWeight())) {
                 one.setWeight(saveParticipant.getWeight());
             }
-            if(ToolUtil.isNotEmpty(saveParticipant.getPhone())){
+            if (ToolUtil.isNotEmpty(saveParticipant.getPhone())) {
                 one.setPhone(saveParticipant.getPhone());
             }
-            if(ToolUtil.isNotEmpty(saveParticipant.getIdcard())){
+            if (ToolUtil.isNotEmpty(saveParticipant.getIdcard())) {
                 one.setIdcard(saveParticipant.getIdcard());
             }
             this.updateById(one);
-        }else{
+        } else {
             one = new Participant();
             BeanUtils.copyProperties(saveParticipant, one);
+            one.setInsertTime(new Date());
             this.save(one);
         }
     }
 
     @Override
     public Page<CompetitionUser> getPeopleFromId(Page<UserCompetition> participantPage, Integer id, Integer state) {
-        return this.baseMapper.getPeopleFromId(participantPage,id,state);
+        return this.baseMapper.getPeopleFromId(participantPage, id, state);
+    }
+    @Override
+    public  Page<CompetitionUser> getPeopleFromId1(long offset, long limit, Integer id, Integer state) {
+        List<UserCompetition> peopleFromId1 = this.baseMapper.getPeopleFromId1(id, state, offset, limit);
+        int count = this.baseMapper.getPeopleFromIdCount(id, state);
+        List<CompetitionUser> list = new ArrayList<>();
+        for (UserCompetition userCompetition : peopleFromId1) {
+            Long paymentCompetitionId = userCompetition.getPaymentCompetitionId();
+            PaymentCompetition paymentCompetition = paymentCompetitionService.getById(paymentCompetitionId);
+            Participant participant = this.getById(userCompetition.getParticipantId());
+            CompetitionUser competitionUser = new CompetitionUser();
+            if(null != participant){
+                competitionUser.setName(participant.getName());
+                competitionUser.setSex(participant.getGender());
+                competitionUser.setPhone(participant.getPhone());
+                competitionUser.setIdCard(participant.getIdcard());
+            }else{
+                TStudent tStudent = studentClient.queryById(userCompetition.getParticipantId());
+                competitionUser.setName(tStudent.getName());
+                competitionUser.setSex(tStudent.getSex());
+                competitionUser.setPhone(tStudent.getPhone());
+                competitionUser.setIdCard(tStudent.getIdCard());
+            }
+            if(null != paymentCompetition){
+                competitionUser.setState(paymentCompetition.getPayStatus());
+            }
+            list.add(competitionUser);
+        }
+        Page<CompetitionUser> page = new Page<>();
+        page.setRecords(list);
+        page.setTotal(count);
+        return page;
     }
 
     @Override
     public List<CompetitionUser> getPeoples(Integer id, Integer state) {
-        return this.baseMapper.getPeoples(id,state);
+        return this.baseMapper.getPeoples(id, state);
     }
 }

--
Gitblit v1.7.1