From b716afd262ff60ff1db0b1e7c95800e7ad2b7202 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 07 七月 2025 11:07:37 +0800
Subject: [PATCH] 支付版本更新 根据资金流向使用V2或V3服务商版本支付

---
 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java |  174 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 123 insertions(+), 51 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 0d8edbd..1adf03e 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,21 @@
 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 io.undertow.util.DateUtils;
 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
@@ -39,6 +45,12 @@
 
     @Resource
     private StudentClient studentClient;
+
+    @Autowired
+    private UserCompetitionService userCompetitionService;
+
+    @Autowired
+    private IPaymentCompetitionService paymentCompetitionService;
 
 
     /**
@@ -55,6 +67,10 @@
         if (null != one) {
             return ResultUtil.error("电话号码重复");
         }
+//        Participant two = this.getOne(new QueryWrapper<Participant>().eq("appUserId", uid).eq("idcard", addParticipant.getIdcard()).eq("state", 1));
+//        if (null != two) {
+//            return ResultUtil.error("身份证号码重复");
+//        }
         if (ToolUtil.isNotEmpty(addParticipant.getName()) && ToolUtil.isNotEmpty(addParticipant.getIdcard())) {
             Boolean aBoolean = JuHeUtil.idcardAuthentication(addParticipant.getIdcard(), addParticipant.getName());
             if (!aBoolean) {
@@ -77,6 +93,26 @@
         participant.setState(1);
         participant.setInsertTime(new Date());
         this.save(participant);
+        TStudent tStudent = new TStudent();
+        tStudent.setAppUserId(uid);
+        tStudent.setName(addParticipant.getName());
+        tStudent.setPhone(addParticipant.getPhone());
+        if (ToolUtil.isNotEmpty(addParticipant.getBirthday())){
+            Date parse = sdf.parse(addParticipant.getBirthday());
+            tStudent.setBirthday(parse);
+        }else{
+                String birthDateStr = addParticipant.getIdcard().substring(6, 14);
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+            Date parse = dateFormat.parse(birthDateStr);
+            tStudent.setBirthday(parse);
+        }
+        tStudent.setSex(addParticipant.getGender());
+        tStudent.setIdCard(addParticipant.getIdcard());
+        tStudent.setState(1);
+        tStudent.setInsertTime(new Date());
+        tStudent.setHeadImg(addParticipant.getHeadImg());
+        tStudent.setIsDefault(2);
+        studentClient.addStudent(tStudent);
         return ResultUtil.success();
     }
 
@@ -103,43 +139,47 @@
         //查出临时表里的数据,也去重
         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 (Participant participant : list) {
+//            ParticipantVo participantVo = new ParticipantVo();
+//            participantVo.setId(participant.getId());
+//            participantVo.setName(participant.getName());
+//            participantVo.setIdcard(participant.getIdcard());
+//            if (null != participant.getBirthday()){
+//                Integer age = Integer.valueOf(sdf_year.format(new Date())) - Integer.valueOf(sdf_year.format(participant.getBirthday()));
+//                participantVo.setAge(age);
+//            }else{
+//                participantVo.setAge(18);
+//
+//            }
+//            Student student = null;
+//            if(ToolUtil.isNotEmpty(participant.getPhone())){
+//                student = studentClient.queryStudentByPhone(participant.getPhone());
+//            }
+//            //设为不是学员
+//            participantVo.setIsStudent(0);
+//
+//            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());
+//            participantVo.setHeadImg(participant.getHeadImg());
+//            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);
+//        }
 
         for (TStudent tStudent : tStudents) {
             ParticipantVo participantVo = new ParticipantVo();
@@ -151,8 +191,11 @@
             Integer integer = coursePackagePaymentClient.queryResidueClassHour(tStudent.getId());
             participantVo.setResidueClassHour(integer);
             participantVo.setPhone(tStudent.getPhone());
-            participantVo.setHeight(tStudent.getHeight().intValue());
+            if (tStudent.getHeight()!=null){
+                participantVo.setHeight(tStudent.getHeight().intValue());
+            }
             participantVo.setWeight(tStudent.getWeight());
+            participantVo.setHeadImg(tStudent.getHeadImg());
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
             if (null != tStudent.getBirthday()) {
                 String format = sdf.format(tStudent.getBirthday());
@@ -166,14 +209,7 @@
             }
             linkedHashMap.put(tStudent.getIdCard(), participantVo);
         }
-
-
         listVo1.addAll(linkedHashMap.values());
-
-
-//        List<ParticipantVo> listVo1 = new ArrayList<>(linkedHashMap.values());
-
-
         return listVo1;
     }
 
@@ -204,6 +240,7 @@
         participant.setGender(editParticipant.getGender());
         participant.setIdcard(editParticipant.getIdcard());
         participant.setName(editParticipant.getName());
+        participant.setHeadImg(editParticipant.getHeadImg());
         if (ToolUtil.isNotEmpty(editParticipant.getBirthday())) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
             participant.setBirthday(sdf.parse(editParticipant.getBirthday()));
@@ -221,10 +258,16 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil delParticipant(Integer id) throws Exception {
-        Participant participant = this.getById(id);
-        participant.setState(3);
-        this.updateById(participant);
+    public ResultUtil delParticipant(Integer id, Integer isStudent) throws Exception {
+        if(isStudent == 1){
+            TStudent tStudent = studentClient.queryById(id);
+            tStudent.setState(3);
+            studentClient.updateAppUser(tStudent);
+        }else{
+            Participant participant = this.getById(id);
+            participant.setState(3);
+            this.updateById(participant);
+        }
         return ResultUtil.success();
     }
 
@@ -268,8 +311,37 @@
         return this.baseMapper.getPeopleFromId(participantPage, id, state);
     }
     @Override
-    public  List<CompetitionUser> getPeopleFromId1(Page<UserCompetition> participantPage, Integer id, Integer state) {
-        return this.baseMapper.getPeopleFromId1(participantPage, id, state);
+    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());
+            }
+            competitionUser.setInsertTime(userCompetition.getInsertTime());
+            list.add(competitionUser);
+        }
+        Page<CompetitionUser> page = new Page<>();
+        page.setRecords(list);
+        page.setTotal(count);
+        return page;
     }
 
     @Override

--
Gitblit v1.7.1