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 63ab08ac..96d2f5ad 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 @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** @@ -14,6 +15,7 @@ public class CompeteDto { @Data @ApiModel public static class CompeteType{ + @NotNull @ApiModelProperty("比赛的类型,0跳绳比赛") private int type; } @@ -21,12 +23,14 @@ public class CompeteDto { @Data @ApiModel public static class CompeteTime{ + @NotNull @ApiModelProperty("第几届信息的id") private Long competeTimeId; } @Data @ApiModel public static class CompeteProjectPlayer{ + @NotNull @ApiModelProperty("选手创建的团队id") private Long projectPlayerId; } @@ -34,8 +38,10 @@ public class CompeteDto { @Data @ApiModel("关键字模糊查询") public static class CompeteTypeAndKey{ + @NotEmpty @ApiModelProperty("关键字") private String key; + @NotNull @ApiModelProperty("比赛的类型,0跳绳比赛") private int type; } @@ -43,18 +49,25 @@ public class CompeteDto { @Data @ApiModel("提交报名基本信息") public static class CompetePlayerInfo{ + @NotEmpty @ApiModelProperty("姓名") private String name; + @NotNull @ApiModelProperty("性别 0女 1男") private int gender; + @NotEmpty @ApiModelProperty("手机号") private String phone; + @NotEmpty @ApiModelProperty("手机验证码") private String smsCode; + @NotEmpty @ApiModelProperty("身份证") private String idCard; + @NotNull @ApiModelProperty("参加的组别的id") private Long groupId; + @NotEmpty @ApiModelProperty("参赛单位的名字") private String companyName; @ApiModelProperty("身份证正面照文件的路径/户口本照片") @@ -68,10 +81,12 @@ public class CompeteDto { @Data @ApiModel("选择参赛项目") public static class CompeteProject{ + @NotNull @ApiModelProperty("比赛项目id(二级的)") private Long competeProjectId; @ApiModelProperty("是否通级 0否 1是") private byte certificate; + @NotNull @ApiModelProperty("第几届信息的id") private Long competeTimeId; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMember.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMember.java index ba6a6bb0..ac487cc8 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMember.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMember.java @@ -8,6 +8,8 @@ public class CompeteTeamMember implements Serializable { private Long playerId; + private Long competeTeamId; + private Byte captain; private Date createdAt; @@ -34,6 +36,14 @@ public class CompeteTeamMember implements Serializable { this.playerId = playerId; } + public Long getCompeteTeamId() { + return competeTeamId; + } + + public void setCompeteTeamId(Long competeTeamId) { + this.competeTeamId = competeTeamId; + } + public Byte getCaptain() { return captain; } @@ -74,6 +84,7 @@ public class CompeteTeamMember implements Serializable { sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", playerId=").append(playerId); + sb.append(", competeTeamId=").append(competeTeamId); sb.append(", captain=").append(captain); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMemberExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMemberExample.java index 7e09cca0..948f1698 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMemberExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamMemberExample.java @@ -225,6 +225,66 @@ public class CompeteTeamMemberExample { return (Criteria) this; } + public Criteria andCompeteTeamIdIsNull() { + addCriterion("compete_team_id is null"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdIsNotNull() { + addCriterion("compete_team_id is not null"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdEqualTo(Long value) { + addCriterion("compete_team_id =", value, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdNotEqualTo(Long value) { + addCriterion("compete_team_id <>", value, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdGreaterThan(Long value) { + addCriterion("compete_team_id >", value, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdGreaterThanOrEqualTo(Long value) { + addCriterion("compete_team_id >=", value, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdLessThan(Long value) { + addCriterion("compete_team_id <", value, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdLessThanOrEqualTo(Long value) { + addCriterion("compete_team_id <=", value, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdIn(List values) { + addCriterion("compete_team_id in", values, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdNotIn(List values) { + addCriterion("compete_team_id not in", values, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdBetween(Long value1, Long value2) { + addCriterion("compete_team_id between", value1, value2, "competeTeamId"); + return (Criteria) this; + } + + public Criteria andCompeteTeamIdNotBetween(Long value1, Long value2) { + addCriterion("compete_team_id not between", value1, value2, "competeTeamId"); + return (Criteria) this; + } + public Criteria andCaptainIsNull() { addCriterion("captain is null"); return (Criteria) this; diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index ac792b85..e7aa43e4 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java @@ -102,8 +102,8 @@ public class CompeteVo { @Data @ApiModel("团队比赛信息") public static class CompeteTeamProject { - @ApiModelProperty("选手与单人项目关联信息的id") - private Long competeProjectId; + @ApiModelProperty("团队id") + private Long teamId; @ApiModelProperty("比赛的类型,0跳绳比赛") private byte type; @ApiModelProperty("一级项目名字") diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTeamDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTeamDao.java new file mode 100644 index 00000000..4cf24a43 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTeamDao.java @@ -0,0 +1,19 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.persist.mapper.CompeteTeamMapper; + +/** + * @description: + * @author: whj + * @time: 2020/9/3 10:40 + */ +public interface CompeteTeamDao extends CompeteTeamMapper { + /** + * 查询用户参加项目的分组信息 + * @param projectId 项目ID + * @param playerId 选手ID + * @return 分组信息 + */ + CompeteVo.CompeteTeamProject getJoinTeam(Long projectId, Long playerId); +} diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java new file mode 100644 index 00000000..2e5946ce --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java @@ -0,0 +1,30 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.persist.mapper.CompeteTimeMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author 逗 + */ +@Repository +public interface CompeteTimeDao extends CompeteTimeMapper { + /** + * 通过类型查找第几届和时间 + * @param type 类型 + * @param time 当前时间 + * @return 返回当前这一届的信息 + */ + CompeteVo.CompeteTime getCompeteTimeByType(@Param("type") int type, @Param("time") long time); + + /** + * 根据类型查看所有的组别 + * @param type 类型 + * @return 返回类型下的所有组别 + */ + List queryCompeteGroupByType(@Param("type") 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 687558c6..b17db03b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -4,14 +4,14 @@ 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.CompeteTeam; 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.dao.CompeteTeamDao; 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.mt.persist.dao.CompeteTimeDao; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; @@ -29,9 +29,11 @@ import java.util.List; @Service @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class CompeteService implements ICompeteService{ + @Resource + private CompeteTimeDao competeTimeDao; @Resource - private CompeteTeamMapper competeTeamMapper; + private CompeteTeamDao competeTeamDao; @Resource private CompetePlayerMapper competePlayerMapper; @Resource @@ -43,7 +45,8 @@ public class CompeteService implements ICompeteService{ */ @Override public CompeteVo.CompeteTime getCompeteTime(QueryDto params) { - return null; + CompeteDto.CompeteType competeType = params.getParam(); + return competeTimeDao.getCompeteTimeByType(competeType.getType(),System.currentTimeMillis()); } /** @@ -51,7 +54,8 @@ public class CompeteService implements ICompeteService{ */ @Override public List queryCompeteGroup(QueryDto params) { - return null; + CompeteDto.CompeteType competeType = params.getParam(); + return competeTimeDao.queryCompeteGroupByType(competeType.getType()); } /** @@ -59,6 +63,7 @@ public class CompeteService implements ICompeteService{ */ @Override public List queryCompeteCompany(QueryDto params) { + return null; } @@ -67,7 +72,8 @@ public class CompeteService implements ICompeteService{ */ @Override public void syncCompeteCompany(QueryDto params) { - + //根据type查找数据库内所有参赛单位 + //将单位信息存入redis } /** @@ -134,6 +140,14 @@ public class CompeteService implements ICompeteService{ } CompetePlayer player = competePlayers.get(0); + + CompeteTeam team = competeTeamDao.selectByPrimaryKey(params.getParam().getId()); + log.info("团队信息:{}", team); + if (team == null) { + throw new BaseException(CodeEnum.PARAM_ERROR); + } + + CompeteVo.CompeteTeamProject teamProject = competeTeamDao.getJoinTeam(team.getPorjectId(), player.getId()); CompeteTeamMemberExample teamMemberExample = new CompeteTeamMemberExample(); // TODO 缺少团队ID teamMemberExample.createCriteria().andPlayerIdEqualTo(player.getId()); diff --git a/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml b/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml new file mode 100644 index 00000000..6ada8eaa --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml new file mode 100644 index 00000000..e85ce71b --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml @@ -0,0 +1,41 @@ + + + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteTeamMemberMapper.xml b/mt/src/main/resources/mapper_raw/CompeteTeamMemberMapper.xml index e3bfef05..8e217ac1 100644 --- a/mt/src/main/resources/mapper_raw/CompeteTeamMemberMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteTeamMemberMapper.xml @@ -4,6 +4,7 @@ + @@ -68,7 +69,7 @@ - id, player_id, captain, created_at, updated_at, rec_status + id, player_id, compete_team_id, captain, created_at, updated_at, rec_status