Browse Source

加入团队

master
zhizhi wu 5 years ago
parent
commit
a3f9c28aca
  1. 2
      mt/src/main/java/com/ccsens/mt/api/CompeteController.java
  2. 10
      mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java
  3. 47
      mt/src/main/java/com/ccsens/mt/service/CompeteService.java
  4. 2
      mt/src/main/java/com/ccsens/mt/service/ICompeteService.java
  5. 1
      util/src/main/java/com/ccsens/util/CodeEnum.java

2
mt/src/main/java/com/ccsens/mt/api/CompeteController.java

@ -125,7 +125,7 @@ public class CompeteController {
@MustLogin
@ApiOperation(value = "扫码加入团队", notes = "")
@RequestMapping(value = "/joinGroup", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<CompeteVo.CompeteTeamProject> joinCompeteGroup(@ApiParam @Validated @RequestBody QueryDto params) {
public JsonResponse<CompeteVo.CompeteTeamProject> joinCompeteGroup(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteGroup> params) {
log.info("扫码加入团队:{}",params);
CompeteVo.CompeteTeamProject competeTeamProject = competeService.joinCompeteGroup(params);
return JsonResponse.newInstance().ok(competeTeamProject);

10
mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java

@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author
*/
@ -74,4 +76,12 @@ public class CompeteDto {
private Long competeTimeId;
}
@Data
@ApiModel("项目团队ID")
public static class CompeteGroup{
@NotNull(message="请选择团队信息")
@ApiModelProperty("团队ID")
private Long id;
}
}

47
mt/src/main/java/com/ccsens/mt/service/CompeteService.java

@ -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;
}
}

2
mt/src/main/java/com/ccsens/mt/service/ICompeteService.java

@ -84,5 +84,5 @@ public interface ICompeteService {
* @param params
* @return
*/
CompeteVo.CompeteTeamProject joinCompeteGroup(QueryDto params);
CompeteVo.CompeteTeamProject joinCompeteGroup(QueryDto<CompeteDto.CompeteGroup> params);
}

1
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -140,6 +140,7 @@ public enum CodeEnum {
NOT_CONFIG_OR_ERR(118,"缺少配置信息,或配置信息异常",true),
GROUP_MEMBER_LIMIT(119,"当前组内人员已满,请选择其他组",true),
GROUP_NOT_CHOICE(120,"请选择要加入的队伍",true),
JOINED_TEAM(121,"您已经加入队伍",true),
;

Loading…
Cancel
Save