|
@ -3,6 +3,7 @@ package com.ccsens.mt.service; |
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
import cn.hutool.core.lang.Snowflake; |
|
|
import cn.hutool.core.lang.Snowflake; |
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
import com.ccsens.mt.bean.dto.CompeteDto; |
|
|
import com.ccsens.mt.bean.dto.CompeteDto; |
|
|
import com.ccsens.mt.bean.po.*; |
|
|
import com.ccsens.mt.bean.po.*; |
|
|
import com.ccsens.mt.bean.vo.CompeteVo; |
|
|
import com.ccsens.mt.bean.vo.CompeteVo; |
|
@ -102,9 +103,7 @@ public class CompeteService implements ICompeteService{ |
|
|
//根据type查找数据库内所有参赛单位
|
|
|
//根据type查找数据库内所有参赛单位
|
|
|
List<CompeteVo.CompeteCompany> competeCompanyList = competeTimeDao.queryCompeteCompanyByType(competeType.getType()); |
|
|
List<CompeteVo.CompeteCompany> competeCompanyList = competeTimeDao.queryCompeteCompanyByType(competeType.getType()); |
|
|
if(CollectionUtil.isNotEmpty(competeCompanyList)){ |
|
|
if(CollectionUtil.isNotEmpty(competeCompanyList)){ |
|
|
competeCompanyList.forEach(competeCompany -> { |
|
|
competeCompanyList.forEach(competeCompany -> redisUtil.lSet(key,competeCompany,Constant.Redis.COMPETE_COMPANY_TIME)); |
|
|
redisUtil.lSet(key,competeCompany,Constant.Redis.COMPETE_COMPANY_TIME); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -115,34 +114,49 @@ public class CompeteService implements ICompeteService{ |
|
|
public CompeteVo.CompetePlayerInfo saveCompetePlayerInfo(QueryDto<CompeteDto.CompetePlayerInfo> params) { |
|
|
public CompeteVo.CompetePlayerInfo saveCompetePlayerInfo(QueryDto<CompeteDto.CompetePlayerInfo> params) { |
|
|
CompeteDto.CompetePlayerInfo competePlayerInfo = params.getParam(); |
|
|
CompeteDto.CompetePlayerInfo competePlayerInfo = params.getParam(); |
|
|
Long userId = params.getUserId(); |
|
|
Long userId = params.getUserId(); |
|
|
|
|
|
|
|
|
//检查验证码是否正确
|
|
|
//检查验证码是否正确
|
|
|
if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) { |
|
|
// if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) {
|
|
|
throw new BaseException(CodeEnum.SMS_CODE_CORRECT); |
|
|
// 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 competeCompanyExample = new CompeteCompanyExample(); |
|
|
competeCompanyExample.createCriteria().andNameEqualTo(competePlayerInfo.getCompanyName()); |
|
|
competeCompanyExample.createCriteria().andNameEqualTo(competePlayerInfo.getCompanyName()); |
|
|
List<CompeteCompany> companyList = competeCompanyMapper.selectByExample(competeCompanyExample); |
|
|
List<CompeteCompany> companyList = competeCompanyMapper.selectByExample(competeCompanyExample); |
|
|
if(CollectionUtil.isEmpty(companyList)){ |
|
|
if(CollectionUtil.isEmpty(companyList)){ |
|
|
CompeteCompany company = new CompeteCompany(); |
|
|
company = new CompeteCompany(); |
|
|
company.setId(snowflake.nextId()); |
|
|
company.setId(snowflake.nextId()); |
|
|
company.setType((byte) competePlayerInfo.getType()); |
|
|
company.setType((byte) competePlayerInfo.getType()); |
|
|
company.setName(competePlayerInfo.getCompanyName()); |
|
|
company.setName(competePlayerInfo.getCompanyName()); |
|
|
player.setCompanyId(company.getId()); |
|
|
competeCompanyMapper.insertSelective(company); |
|
|
}else { |
|
|
}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 new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); |
|
|
return null; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -195,7 +209,7 @@ public class CompeteService implements ICompeteService{ |
|
|
team.setCompeteTimeId(params.getParam().getCompeteTimeId()); |
|
|
team.setCompeteTimeId(params.getParam().getCompeteTimeId()); |
|
|
team.setCertificate(params.getParam().getCertificate()); |
|
|
team.setCertificate(params.getParam().getCertificate()); |
|
|
team.setGenderGroup(player.getGender()); |
|
|
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"); |
|
|
String qrCodeVisit = QrCodeUtil.urlToQRCode(qrCode, PropUtil.path + "qrCode"); |
|
|
team.setQrCode(qrCodeVisit); |
|
|
team.setQrCode(qrCodeVisit); |
|
|
competeTeamDao.insertSelective(team); |
|
|
competeTeamDao.insertSelective(team); |
|
|