|
|
@ -1,18 +1,43 @@ |
|
|
|
package com.ccsens.mt.service; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import com.ccsens.mt.bean.dto.CompeteDto; |
|
|
|
import com.ccsens.mt.bean.po.CompetePlayer; |
|
|
|
import com.ccsens.mt.bean.po.CompetePlayerExample; |
|
|
|
import com.ccsens.mt.bean.po.CompeteTeamMember; |
|
|
|
import com.ccsens.mt.bean.po.CompeteTeamMemberExample; |
|
|
|
import com.ccsens.mt.bean.vo.CompeteVo; |
|
|
|
import com.ccsens.mt.persist.mapper.CompeteGroupMapper; |
|
|
|
import com.ccsens.mt.persist.mapper.CompetePlayerMapper; |
|
|
|
import com.ccsens.mt.persist.mapper.CompeteTeamMapper; |
|
|
|
import com.ccsens.mt.persist.mapper.CompeteTeamMemberMapper; |
|
|
|
import com.ccsens.util.CodeEnum; |
|
|
|
import com.ccsens.util.bean.dto.QueryDto; |
|
|
|
import com.ccsens.util.exception.BaseException; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Propagation; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
|
* @author 逗 |
|
|
|
*/ |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|
|
|
public class CompeteService implements ICompeteService{ |
|
|
|
|
|
|
|
@Resource |
|
|
|
private CompeteTeamMapper competeTeamMapper; |
|
|
|
@Resource |
|
|
|
private CompetePlayerMapper competePlayerMapper; |
|
|
|
@Resource |
|
|
|
private CompeteTeamMemberMapper competeTeamMemberMapper; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 查看第几届 |
|
|
|
*/ |
|
|
@ -97,7 +122,27 @@ public class CompeteService implements ICompeteService{ |
|
|
|
* 扫码加入团队 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public CompeteVo.CompeteTeamProject joinCompeteGroup(QueryDto params) { |
|
|
|
public CompeteVo.CompeteTeamProject joinCompeteGroup(QueryDto<CompeteDto.CompeteGroup> params) { |
|
|
|
|
|
|
|
log.info("扫码加入团队:{}", params); |
|
|
|
CompetePlayerExample playerExample = new CompetePlayerExample(); |
|
|
|
playerExample.createCriteria().andUserIdEqualTo(params.getUserId()); |
|
|
|
List<CompetePlayer> competePlayers = competePlayerMapper.selectByExample(playerExample); |
|
|
|
log.info("选手信息:{}", competePlayers); |
|
|
|
if (CollectionUtil.isEmpty(competePlayers)) { |
|
|
|
throw new BaseException(CodeEnum.PARAM_ERROR); |
|
|
|
} |
|
|
|
|
|
|
|
CompetePlayer player = competePlayers.get(0); |
|
|
|
CompeteTeamMemberExample teamMemberExample = new CompeteTeamMemberExample(); |
|
|
|
// TODO 缺少团队ID
|
|
|
|
teamMemberExample.createCriteria().andPlayerIdEqualTo(player.getId()); |
|
|
|
long count = competeTeamMemberMapper.countByExample(teamMemberExample); |
|
|
|
if (count > 0) { |
|
|
|
throw new BaseException(CodeEnum.JOINED_TEAM); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|