无关风月
2024-09-24 61bbd595ee2bc3c67b40878894dcc07174c6eea6
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
@@ -39,6 +44,12 @@
    @Resource
    private StudentClient studentClient;
    @Autowired
    private UserCompetitionService userCompetitionService;
    @Autowired
    private IPaymentCompetitionService paymentCompetitionService;
    /**
@@ -110,22 +121,23 @@
            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());
            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 +149,6 @@
                continue;
            }
            linkedHashMap.put(participant.getIdcard(), participantVo);
//            listVo.add(participantVo);
        }
        for (TStudent tStudent : tStudents) {
@@ -153,6 +163,7 @@
            participantVo.setPhone(tStudent.getPhone());
            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 +177,7 @@
            }
            linkedHashMap.put(tStudent.getIdCard(), participantVo);
        }
        listVo1.addAll(linkedHashMap.values());
//        List<ParticipantVo> listVo1 = new ArrayList<>(linkedHashMap.values());
        return listVo1;
    }
@@ -204,6 +208,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 +226,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 +279,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