diff --git a/competition/src/main/java/com/huoran/competition/mapper/CompetitionRegistrationMapper.java b/competition/src/main/java/com/huoran/competition/mapper/CompetitionRegistrationMapper.java index c924825..ec52c8b 100644 --- a/competition/src/main/java/com/huoran/competition/mapper/CompetitionRegistrationMapper.java +++ b/competition/src/main/java/com/huoran/competition/mapper/CompetitionRegistrationMapper.java @@ -32,4 +32,6 @@ public interface CompetitionRegistrationMapper extends BaseMapper selectApplicantByCondition(Page page,@Param("req") PageRegistrationStaffReq req); String selectSchoolName(@Param("accountId")String accountId); + + Integer countTheNumberOfApplicants(@Param("competitionId")Integer competitionId); } diff --git a/competition/src/main/java/com/huoran/competition/mapper/xml/CompetitionMapper.xml b/competition/src/main/java/com/huoran/competition/mapper/xml/CompetitionMapper.xml index 286ac62..753caa7 100644 --- a/competition/src/main/java/com/huoran/competition/mapper/xml/CompetitionMapper.xml +++ b/competition/src/main/java/com/huoran/competition/mapper/xml/CompetitionMapper.xml @@ -61,12 +61,27 @@ c.play_end_time, c.create_time, IFNULL( - ( SELECT count( 1 ) FROM c_competition_registration WHERE competition_id = c.id GROUP BY competition_id HAVING count( 1 ) > 0 ), + ( + SELECT + count( 1 ) + FROM + c_competition_registration r + INNER JOIN nakadai.hr_user_account a ON a.id = r.account_id + AND a.is_del = 0 + INNER JOIN nakadai.hr_user_info u ON u.user_id = a.user_id + AND u.is_del = 0 + WHERE + competition_id = c.id + GROUP BY + competition_id + HAVING + count( 1 ) > 0 + ), 0 ) AS applicant_num, c.is_open, create_source, - ( CASE create_source WHEN 0 THEN '平台创建' WHEN 1 THEN '组织创建' ELSE '无' end) as createSource + ( CASE create_source WHEN 0 THEN '平台创建' WHEN 1 THEN '组织创建' ELSE '无' END ) AS createSource FROM c_competition c WHERE @@ -658,7 +673,22 @@ c.create_time, c.sponsor, IFNULL( - ( SELECT count( 1 ) FROM c_competition_registration WHERE competition_id = c.id GROUP BY competition_id HAVING count( 1 ) > 0 ), + ( + SELECT + count( 1 ) + FROM + c_competition_registration r + INNER JOIN nakadai.hr_user_account a ON a.id = r.account_id + AND a.is_del = 0 + INNER JOIN nakadai.hr_user_info u ON u.user_id = a.user_id + AND u.is_del = 0 + WHERE + competition_id = c.id + GROUP BY + competition_id + HAVING + count( 1 ) > 0 + ), 0 ) AS applicant_num, c.is_open, @@ -666,15 +696,15 @@ ( CASE create_source WHEN 0 THEN '平台创建' WHEN 1 THEN '组织创建' ELSE '无' END ) AS createSource, IF ( - ( SELECT r.id FROM c_competition_registration r WHERE r.competition_id = c.id AND r.account_id = #{req.accountId} ) IS NULL, + ( SELECT r.id FROM c_competition_registration r WHERE r.competition_id = c.id AND r.account_id = #{req.accountId} ) IS NULL, 1, 0 ) AS whetherToSignUp FROM c_competition c WHERE - c.is_open = 0 - and c.publish_status = 1 + c.is_open = 0 + AND c.publish_status = 1 @@ -698,44 +728,60 @@ + diff --git a/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java b/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java index b9b8cc4..2a25baf 100644 --- a/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java +++ b/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java @@ -251,9 +251,10 @@ public class CompetitionRegistrationServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + /* QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("competition_id", competitionId); - List competitionRegistrations = baseMapper.selectList(queryWrapper); - return competitionRegistrations.size(); + List competitionRegistrations = baseMapper.selectList(queryWrapper);*/ +// return competitionRegistrations.size(); + return baseMapper.countTheNumberOfApplicants(Integer.valueOf(competitionId)); } }