| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | @Resource |
| | | private StudentClient studentClient; |
| | | |
| | | @Autowired |
| | | private UserCompetitionService userCompetitionService; |
| | | |
| | | |
| | | @Autowired |
| | | private IPaymentCompetitionService paymentCompetitionService; |
| | | |
| | | |
| | | /** |
| | | * 添加参赛人员信息 |
| | | * |
| | | * @param uid |
| | | * @param addParticipant |
| | | * @return |
| | |
| | | @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())){ |
| | | // 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){ |
| | | if (!aBoolean) { |
| | | return ResultUtil.error("身份证和姓名不匹配"); |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | |
| | | 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(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取参赛人员列表 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | * @throws Exception |
| | |
| | | List<ParticipantVo> listVo1 = new ArrayList<>(); |
| | | |
| | | //利用HashMap去重身份证 |
| | | LinkedHashMap<String,ParticipantVo> linkedHashMap =new LinkedHashMap<>(); |
| | | LinkedHashMap<String, ParticipantVo> linkedHashMap = new LinkedHashMap<>(); |
| | | SimpleDateFormat sdf_year = new SimpleDateFormat("yyyy"); |
| | | |
| | | |
| | | |
| | | |
| | | //查出临时表里的数据,也去重 |
| | |
| | | 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){ |
| | | if (null != student) { |
| | | Integer integer = coursePackagePaymentClient.queryResidueClassHour(student.getId()); |
| | | participantVo.setResidueClassHour(integer); |
| | | participantVo.setIsStudent(1); |
| | | |
| | | }else{ |
| | | } 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()){ |
| | | if (null != participant.getBirthday()) { |
| | | String format = sdf.format(participant.getBirthday()); |
| | | participantVo.setBirthday(format); |
| | | } |
| | | participantVo.setGender(participant.getGender()); |
| | | if (participant.getIdcard()==null|| participant.getIdcard().isEmpty()){ |
| | | if (participant.getIdcard() == null || participant.getIdcard().isEmpty()) { |
| | | listVo1.add(participantVo); |
| | | continue; |
| | | } |
| | | linkedHashMap.put(participant.getIdcard(),participantVo); |
| | | // listVo.add(participantVo); |
| | | |
| | | linkedHashMap.put(participant.getIdcard(), participantVo); |
| | | } |
| | | |
| | | for (TStudent tStudent : tStudents) { |
| | |
| | | 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()){ |
| | | 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); |
| | | } |
| | | |
| | | |
| | | |
| | | listVo1.addAll(linkedHashMap.values()); |
| | | |
| | | |
| | | // List<ParticipantVo> listVo1 = new ArrayList<>(linkedHashMap.values()); |
| | | |
| | | |
| | | return listVo1; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改参赛人员信息 |
| | | * |
| | | * @param editParticipant |
| | | * @return |
| | | * @throws Exception |
| | |
| | | @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("身份证和姓名不匹配"); |
| | | } |
| | | } |
| | |
| | | participant.setGender(editParticipant.getGender()); |
| | | participant.setIdcard(editParticipant.getIdcard()); |
| | | participant.setName(editParticipant.getName()); |
| | | if(ToolUtil.isNotEmpty(editParticipant.getBirthday())){ |
| | | participant.setHeadImg(editParticipant.getHeadImg()); |
| | | if (ToolUtil.isNotEmpty(editParticipant.getBirthday())) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | participant.setBirthday(sdf.parse(editParticipant.getBirthday())); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 删除参赛人员信息 |
| | | * |
| | | * @param id |
| | | * @return |
| | | * @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(); |
| | | } |
| | | |
| | |
| | | @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()); |
| | | } |
| | | competitionUser.setInsertTime(userCompetition.getInsertTime()); |
| | | 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); |
| | | } |
| | | } |