Browse Source

20201110mtV1.4

tiaosheng
zy_Java 5 years ago
parent
commit
d831e3e8b6
  1. 14
      mt/src/main/java/com/ccsens/mt/api/ProvinceController.java
  2. 15
      mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java
  3. 11
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java
  4. 7
      mt/src/main/java/com/ccsens/mt/service/IProvinceService.java
  5. 34
      mt/src/main/java/com/ccsens/mt/service/ProvinceService.java
  6. 42
      mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml
  7. 2
      tall/src/main/resources/druid-dev.yml
  8. 2
      tall/src/main/resources/druid-prod.yml
  9. 2
      tall/src/main/resources/druid-test.yml

14
mt/src/main/java/com/ccsens/mt/api/ProvinceController.java

@ -186,9 +186,19 @@ public class ProvinceController {
@ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "")
@RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.GroupAndPlayer>> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.GetPlayerByTeamProject> params) {
log.info("查询教练或领队的详细信息:{}",params);
log.info("查找团体比赛已报名的选手信息:{}",params);
List<ProvinceCompeteVo.GroupAndPlayer> groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam());
log.info("查询教练或领队的详细信息:{}",groupAndPlayer);
log.info("查找团体比赛已报名的选手信息:{}",groupAndPlayer);
return JsonResponse.newInstance().ok(groupAndPlayer);
}
@MustLogin
@ApiOperation(value = "团体报名查询可以参加和已经参加的选手", notes = "")
@RequestMapping(value = "/rule/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.GroupAndPlayer>> getPlayerByTeamProjectWithRule(@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.GetPlayerByTeamProjectWithRule> params) {
log.info("团体报名查询可以参加和已经参加的选手:{}",params);
List<ProvinceCompeteVo.GroupAndPlayer> groupAndPlayer = provinceService.getPlayerByTeamProjectWithRule(params.getParam());
log.info("团体报名查询可以参加和已经参加的选手:{}",groupAndPlayer);
return JsonResponse.newInstance().ok(groupAndPlayer);
}
}

15
mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java

@ -140,4 +140,19 @@ public class ProvinceCompeteDto {
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel("查找团队项目下符合规则的选手信息")
public static class GetPlayerByTeamProjectWithRule{
@NotNull(message = "请先填写基础信息")
@ApiModelProperty("参赛单位id")
private Long companyId;
@NotNull(message = "请选择项目")
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("性别组")
private int gender;
@ApiModelProperty("组别信息")
private int groupRemark;
}
}

11
mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java

@ -116,4 +116,15 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper {
* @return
*/
List<CompeteCoach> selectByCompanyId(@Param("companyId")Long companyId);
/**
* 查找该项目下所有可以参赛和已经参赛的选手
* @param companyId 单位id
* @param projectId 项目id
* @param type 比赛类型
* @param groupRemark 组别备注信息
* @param gender 性别 0女 1男 2混合
* @return 返回选手信息
*/
List<ProvinceCompeteVo.GroupAndPlayer> getPlayerByTeamProjectWithRule(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("type")Byte type, @Param("groupRemark")int groupRemark, @Param("gender")int gender);
}

7
mt/src/main/java/com/ccsens/mt/service/IProvinceService.java

@ -138,4 +138,11 @@ public interface IProvinceService {
* @return 返回参加的选手的详细信息按组别分类
*/
List<ProvinceCompeteVo.GroupAndPlayer> getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param);
/**
* 查找团队下符合规则的选手信息
* @param param 单位id 项目id 组别和性别信息
* @return 返回所有可参赛的选手和已经参赛的选手
*/
List<ProvinceCompeteVo.GroupAndPlayer> getPlayerByTeamProjectWithRule(ProvinceCompeteDto.GetPlayerByTeamProjectWithRule param);
}

34
mt/src/main/java/com/ccsens/mt/service/ProvinceService.java

@ -213,7 +213,8 @@ public class ProvinceService implements IProvinceService {
if(StrUtil.isNotEmpty(param.getPlayerName())){player.setName(param.getPlayerName());}
if(StrUtil.isNotEmpty(param.getIdCard())){player.setIdCard(param.getIdCard());}
if(ObjectUtil.isNotNull(param.getGender())){player.setGender((byte) param.getGender());}
if(ObjectUtil.isNotNull(param.getGroupId())){player.setCompeteGroupId(param.getGroupId());}
if(ObjectUtil.isNotNull(competeGroup)){player.setCompeteGroupId(competeGroup.getId());}
if(ObjectUtil.isNotNull(param.getGroupRemark())){player.setGroupRemark((byte) param.getGroupRemark());}
if(ObjectUtil.isNotNull(param.getCompeteId())){player.setCompanyId(param.getCompeteId());}
if(ObjectUtil.isNotNull(param.getIdCardFront())){player.setIdCardFrontFile(param.getIdCardFront());}
@ -632,12 +633,39 @@ public class ProvinceService implements IProvinceService {
*/
@Override
public List<ProvinceCompeteVo.GroupAndPlayer> getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) {
List<ProvinceCompeteVo.GroupAndPlayer> groupAndPlayerList = null;
//查找项目
CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId());
if(ObjectUtil.isNotNull(competeProject)){
List<ProvinceCompeteVo.GroupAndPlayer> groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType());
groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType());
}
return null;
return groupAndPlayerList;
}
/**
* 查找符合参赛规则的选手信息
*/
@Override
public List<ProvinceCompeteVo.GroupAndPlayer> getPlayerByTeamProjectWithRule(ProvinceCompeteDto.GetPlayerByTeamProjectWithRule param) {
List<ProvinceCompeteVo.GroupAndPlayer> groupAndPlayerList = new ArrayList<>();
//查找项目
CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId());
if(ObjectUtil.isNotNull(competeProject) && competeProject.getTeam() == 1){
//如果同单位不限组别
if(competeProject.getJoinRule() == 1){
groupAndPlayerList = competeCompanyDao.queryPlayerByGroupId(competeProject.getType(),param.getCompanyId(),null,param.getProjectId());
}
//如果同单位限制组别
if(competeProject.getJoinRule() == 0){
/*每个单位每个组别可以报名报名过其他组的选手不能再次报名
1单位a同学报名了q比赛的小学男子组a同学就无法再报名q比赛小学混合组
b同学报名了r比赛的小学混合组b同学就无法再报名r比赛的女子组和男子组无论b同学是男还是女*/
//查找此单位下所有该组的选手,如果选择混合组,则男女都查找
//排除已经报名别的组的选手
groupAndPlayerList = competeCompanyDao.getPlayerByTeamProjectWithRule(param.getCompanyId(),competeProject.getId(),competeProject.getType(),param.getGroupRemark(),param.getGender());
}
}
return groupAndPlayerList;
}
}

42
mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml

@ -50,7 +50,7 @@
if(pp.id is null and a.mId is null,0,1) as joinProject
FROM
t_compete_group cg
LEFT JOIN t_compete_player p on cg.sex = p.gender_group and cg.group_remark = p.group_remark
LEFT JOIN t_compete_player p on (cg.id = p.compete_group_id or (cg.sex = p.gender and cg.group_remark = p.group_remark))
LEFT JOIN t_compete_project_player pp on p.id = pp.player_id and pp.project_id = #{projectId} and pp.rec_status = 0
LEFT JOIN
( SELECT
@ -283,5 +283,45 @@
where
tcc.`company_id`= #{companyId}
</select>
<select id="getPlayerByTeamProjectWithRule" resultMap="group_player">
SELECT
g.id as groupId,
g.group_name as groupName,
p.id as playerId,
p.`name` as playerName,
if(a.tId is null,0,1) as joinProject
FROM
t_compete_group g
LEFT JOIN t_compete_player p on g.id = p.compete_group_id
LEFT JOIN
(
SELECT
t.id as tId,
t.gender_group as mGender,
t.group_remark as mRemark,
m.player_id as mPlayerId
FROM
t_compete_team t LEFT JOIN t_compete_team_member m
on t.id = m.compete_team_id
WHERE
t.project_id = #{projectId}
and t.rec_status = 0
and m.rec_status = 0
) a on p.id = a.mPlayerId
WHERE
g.type = #{type}
and p.group_remark = #{groupRemark}
<if test="gender == 2">
and p.gender in (0,1)
</if>
<if test="gender != 2">
and p.gender = #{gender}
</if>
and p.company_id = #{companyId}
and g.rec_status = 0
and p.rec_status = 0
and (a.mRemark = #{groupRemark} or a.mRemark is null)
and (a.mGender = #{gender} or a.mGender is null)
</select>
</mapper>

2
tall/src/main/resources/druid-dev.yml

@ -27,7 +27,7 @@ spring:
testOnReturn: false
testWhileIdle: true
timeBetweenEvictionRunsMillis: 60000
url: jdbc:mysql://49.233.89.188:3306/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
url: jdbc:mysql://49.233.89.188:3306/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true
username: root
validationQuery: SELECT 1 FROM DUAL
env: CCSENS_TALL

2
tall/src/main/resources/druid-prod.yml

@ -28,7 +28,7 @@ spring:
testOnReturn: false
testWhileIdle: true
timeBetweenEvictionRunsMillis: 60000
url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8
url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true
username: root
validationQuery: SELECT 1 FROM DUAL
env: CCSENS_HEALTH

2
tall/src/main/resources/druid-test.yml

@ -29,7 +29,7 @@ spring:
testWhileIdle: true
timeBetweenEvictionRunsMillis: 60000
# url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8
url: jdbc:mysql://test.tall.wiki/tall?useUnicode=true&characterEncoding=UTF-8
url: jdbc:mysql://test.tall.wiki/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true
username: root
validationQuery: SELECT 1 FROM DUAL
env: CCSENS_TALL
Loading…
Cancel
Save