From d225a11d9c349781e77bd9c3b5b65e175364813c Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 4 Sep 2020 10:17:46 +0800 Subject: [PATCH] 20200904_1.0 --- .../com/ccsens/mt/bean/dto/CompeteDto.java | 3 ++ .../com/ccsens/mt/service/CompeteService.java | 50 ++++++++++++------- .../main/java/com/ccsens/util/CodeEnum.java | 1 + 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index aed2081e..a2309c3a 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -49,6 +49,9 @@ public class CompeteDto { @Data @ApiModel("提交报名基本信息") public static class CompetePlayerInfo{ + @NotNull + @ApiModelProperty("第几届信息的id") + private Long competeTimeId; @NotNull @ApiModelProperty("比赛的类型,0跳绳比赛") private int type; diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index b763bd82..f950a8b1 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -3,6 +3,7 @@ package com.ccsens.mt.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.CompeteVo; @@ -102,9 +103,7 @@ public class CompeteService implements ICompeteService{ //根据type查找数据库内所有参赛单位 List competeCompanyList = competeTimeDao.queryCompeteCompanyByType(competeType.getType()); if(CollectionUtil.isNotEmpty(competeCompanyList)){ - competeCompanyList.forEach(competeCompany -> { - redisUtil.lSet(key,competeCompany,Constant.Redis.COMPETE_COMPANY_TIME); - }); + competeCompanyList.forEach(competeCompany -> redisUtil.lSet(key,competeCompany,Constant.Redis.COMPETE_COMPANY_TIME)); } } @@ -115,34 +114,49 @@ public class CompeteService implements ICompeteService{ public CompeteVo.CompetePlayerInfo saveCompetePlayerInfo(QueryDto params) { CompeteDto.CompetePlayerInfo competePlayerInfo = params.getParam(); Long userId = params.getUserId(); + //检查验证码是否正确 - if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) { - throw new BaseException(CodeEnum.SMS_CODE_CORRECT); +// if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) { +// throw new BaseException(CodeEnum.SMS_CODE_CORRECT); +// } +// if (!competePlayerInfo.getSmsCode().equals(redisUtil.get(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone())).toString())) { +// throw new BaseException(CodeEnum.SMS_CODE_CORRECT); +// } + //检查此用户是否已经报名 + CompetePlayerExample playerExample = new CompetePlayerExample(); + playerExample.createCriteria().andUserIdEqualTo(userId); + if(competePlayerDao.countByExample(playerExample) != 0){ + throw new BaseException(CodeEnum.PLAYER_INFO_ALREADY); } - if (!competePlayerInfo.getSmsCode().equals(redisUtil.get(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone())).toString())) { - throw new BaseException(CodeEnum.SMS_CODE_CORRECT); + //检查组别是否存在 + CompeteGroup group = competeGroupMapper.selectByPrimaryKey(competePlayerInfo.getGroupId()); + if(ObjectUtil.isNull(group)){ + throw new BaseException(CodeEnum.PARAM_ERROR); } - //添加基本信息 - CompetePlayer player = new CompetePlayer(); - BeanUtil.copyProperties(competePlayerInfo,player); - player.setId(snowflake.nextId()); - player.setUserId(userId); //检查参赛单位是否存在,不存在则添加 + CompeteCompany company; CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); competeCompanyExample.createCriteria().andNameEqualTo(competePlayerInfo.getCompanyName()); List companyList = competeCompanyMapper.selectByExample(competeCompanyExample); if(CollectionUtil.isEmpty(companyList)){ - CompeteCompany company = new CompeteCompany(); + company = new CompeteCompany(); company.setId(snowflake.nextId()); company.setType((byte) competePlayerInfo.getType()); company.setName(competePlayerInfo.getCompanyName()); - player.setCompanyId(company.getId()); + competeCompanyMapper.insertSelective(company); }else { - player.setCompanyId(companyList.get(0).getId()); + company = companyList.get(0); } + //添加基本信息 + CompetePlayer player = new CompetePlayer(); + BeanUtil.copyProperties(competePlayerInfo,player); + player.setId(snowflake.nextId()); + player.setUserId(userId); + player.setCompeteGroupId(competePlayerInfo.getGroupId()); + player.setCompanyId(company.getId()); + competePlayerDao.insertSelective(player); -// CompeteVo.CompetePlayerInfo playerInfo = - return null; + return new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); } /** @@ -195,7 +209,7 @@ public class CompeteService implements ICompeteService{ team.setCompeteTimeId(params.getParam().getCompeteTimeId()); team.setCertificate(params.getParam().getCertificate()); team.setGenderGroup(player.getGender()); - String qrCode = PropUtil.signUpUrl + "home"; + String qrCode = PropUtil.signUpUrl + "home&teamId=" + team.getId(); String qrCodeVisit = QrCodeUtil.urlToQRCode(qrCode, PropUtil.path + "qrCode"); team.setQrCode(qrCodeVisit); competeTeamDao.insertSelective(team); diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 49f0d752..6cf17d72 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -147,6 +147,7 @@ public enum CodeEnum { BASE_INFO_LACK(125,"请先填写您的基本信息", true), JOINED_MORE(126,"该类型比赛您参赛的数目已达上限", true), JOINED_SAME(127,"您已经参加同类型的比赛了,不能再重复参加参赛", true), + PLAYER_INFO_ALREADY(127,"您已经有了报名信息,请不要重复提交", true), ;