From 801600b0b5ae9898cf509258e2afa1973fae1813 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 11 十月 2023 10:32:00 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai
---
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java | 194 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 194 insertions(+), 0 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 d33d306..292229c 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
@@ -1,10 +1,31 @@
package com.dsh.competition.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.UserCompetition;
+import com.dsh.competition.feignclient.account.StudentClient;
+import com.dsh.competition.feignclient.account.model.Student;
+import com.dsh.competition.feignclient.course.CoursePackagePaymentClient;
+import com.dsh.competition.feignclient.model.CompetitionUser;
import com.dsh.competition.mapper.ParticipantMapper;
+import com.dsh.competition.model.AddParticipant;
+import com.dsh.competition.model.EditParticipant;
+import com.dsh.competition.model.ParticipantVo;
+import com.dsh.competition.model.SaveParticipant;
import com.dsh.competition.service.IParticipantService;
+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.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
/**
* @author zhibing.pu
@@ -12,4 +33,177 @@
*/
@Service
public class ParticipantServiceImpl extends ServiceImpl<ParticipantMapper, Participant> implements IParticipantService {
+
+ @Resource
+ private CoursePackagePaymentClient coursePackagePaymentClient;
+
+ @Resource
+ private StudentClient studentClient;
+
+
+
+
+
+ /**
+ * 添加参赛人员信息
+ * @param uid
+ * @param addParticipant
+ * @return
+ * @throws Exception
+ */
+ @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){
+ return ResultUtil.error("电话号码重复");
+ }
+ if(ToolUtil.isNotEmpty(addParticipant.getName()) && ToolUtil.isNotEmpty(addParticipant.getIdcard())){
+ Boolean aBoolean = JuHeUtil.idcardAuthentication(addParticipant.getIdcard(), addParticipant.getName());
+ if(!aBoolean){
+ return ResultUtil.error("身份证和姓名不匹配");
+ }
+ }
+
+ Participant participant = new Participant();
+ BeanUtils.copyProperties(addParticipant, participant);
+ participant.setHeight(Double.valueOf(addParticipant.getHeight()).intValue());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ if(ToolUtil.isNotEmpty(addParticipant.getBirthday())){
+ Date parse = sdf.parse(addParticipant.getBirthday());
+ participant.setBirthday(parse);
+ }
+ participant.setAppUserId(uid);
+ participant.setState(1);
+ participant.setInsertTime(new Date());
+ this.save(participant);
+ return ResultUtil.success();
+ }
+
+
+ /**
+ * 获取参赛人员列表
+ * @param uid
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public List<ParticipantVo> queryParticipantList(Integer uid) throws Exception {
+ List<Participant> list = this.list(new QueryWrapper<Participant>().eq("appUserId", uid).eq("state", 1));
+ List<ParticipantVo> listVo = new ArrayList<>();
+ SimpleDateFormat sdf_year = new SimpleDateFormat("yyyy");
+ 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());
+ 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());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ if(null != participant.getBirthday()){
+ String format = sdf.format(participant.getBirthday());
+ participantVo.setBirthday(format);
+ }
+ participantVo.setGender(participant.getGender());
+ listVo.add(participantVo);
+ }
+ return listVo;
+ }
+
+
+ /**
+ * 修改参赛人员信息
+ * @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){
+ return ResultUtil.error("电话号码重复");
+ }
+ if(ToolUtil.isNotEmpty(editParticipant.getName()) && ToolUtil.isNotEmpty(editParticipant.getIdcard())){
+ Boolean aBoolean = JuHeUtil.idcardAuthentication(editParticipant.getIdcard(), editParticipant.getName());
+ if(!aBoolean){
+ return ResultUtil.error("身份证和姓名不匹配");
+ }
+ }
+ Participant participant = this.getById(editParticipant.getId());
+ participant.setHeight(editParticipant.getHeight());
+ participant.setWeight(editParticipant.getWeight());
+ participant.setPhone(editParticipant.getPhone());
+ participant.setGender(editParticipant.getGender());
+ participant.setIdcard(editParticipant.getIdcard());
+ participant.setName(editParticipant.getName());
+ if(ToolUtil.isNotEmpty(editParticipant.getBirthday())){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ participant.setBirthday(sdf.parse(editParticipant.getBirthday()));
+ }
+ this.updateById(participant);
+ return ResultUtil.success();
+ }
+
+
+ /**
+ * 删除参赛人员信息
+ * @param id
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public ResultUtil delParticipant(Integer id) throws Exception {
+ 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())){
+ one.setName(saveParticipant.getName());
+ }
+ if(ToolUtil.isNotEmpty(saveParticipant.getBirthday())){
+ one.setBirthday(saveParticipant.getBirthday());
+ }
+ if(ToolUtil.isNotEmpty(saveParticipant.getGender())){
+ one.setGender(saveParticipant.getGender());
+ }
+ if(ToolUtil.isNotEmpty(saveParticipant.getHeight())){
+ one.setHeight(saveParticipant.getHeight());
+ }
+ if(ToolUtil.isNotEmpty(saveParticipant.getWeight())){
+ one.setWeight(saveParticipant.getWeight());
+ }
+ if(ToolUtil.isNotEmpty(saveParticipant.getPhone())){
+ one.setPhone(saveParticipant.getPhone());
+ }
+ if(ToolUtil.isNotEmpty(saveParticipant.getIdcard())){
+ one.setIdcard(saveParticipant.getIdcard());
+ }
+ this.updateById(one);
+ }else{
+ one = new Participant();
+ BeanUtils.copyProperties(saveParticipant, one);
+ this.save(one);
+ }
+ }
+
+ @Override
+ public Page<CompetitionUser> getPeopleFromId(Page<UserCompetition> participantPage, Integer id, Integer state) {
+ return this.baseMapper.getPeopleFromId(participantPage,id,state);
+ }
}
--
Gitblit v1.7.1