From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 08 五月 2025 09:21:57 +0800 Subject: [PATCH] bug修改 --- cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java | 114 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 93 insertions(+), 21 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..65f9804 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(); } @@ -108,24 +144,30 @@ 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()); + 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); - participantVo.setIsStudent(1); - } 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()); @@ -137,8 +179,6 @@ continue; } linkedHashMap.put(participant.getIdcard(), participantVo); -// listVo.add(participantVo); - } for (TStudent tStudent : tStudents) { @@ -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