diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/CompetitionIndexControll.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/CompetitionIndexControll.java index 5978cee..5beae47 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/CompetitionIndexControll.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/CompetitionIndexControll.java @@ -39,8 +39,8 @@ public class CompetitionIndexControll extends BaseController { // } @GetMapping(value = "list/{type}/{pageNo}") - public Result list(@PathVariable("type") Integer type,@PathVariable("pageNo") Integer pageNo){ - return competitionIndexBiz.list(pageNo,type,getUserNo()); + public Result list(@PathVariable("type") Integer type,@PathVariable("pageNo") Integer pageNo,String name,String school){ + return competitionIndexBiz.list(pageNo,type,getUserNo(),name,school); } @GetMapping(value = "get") diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/biz/CompetitionIndexBiz.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/biz/CompetitionIndexBiz.java index 640671c..6aaec62 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/biz/CompetitionIndexBiz.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/api/biz/CompetitionIndexBiz.java @@ -56,7 +56,7 @@ public class CompetitionIndexBiz { @Autowired private RedisTemplate template; - public Result list(int pageNo,int type,Long userNo){ + public Result list(int pageNo,int type,Long userNo,String name,String school){ int pageSize = 100; pageNo = pageNo - 1; if(pageNo<0){ @@ -66,8 +66,11 @@ public class CompetitionIndexBiz { // String compListKey = "competition_list_"+type+"_"+pageNo; Sort sort = Sort.by(Sort.Direction.DESC, "id"); + List allByNameAndUserName = competitionMemberDao.findAllByNameAndSchool(name, school); + List ids = allByNameAndUserName.stream().map(CompetitionMember::getCompetitionId).collect(Collectors.toList()); Pageable pageable = PageRequest.of(pageNo,pageSize,sort); - Page competitionList = competitionDao.findAllByStatus(type,pageable); + Page competitionList = competitionDao.findByIdInAndStatus(ids,type,pageable); + Page competitionList1 = competitionDao.findAllByStatus(type,pageable); List rsList = competitionList.getContent(); if(userNo!=null){ UserVo userVo = feignUser.getByUserNo(userNo); @@ -86,6 +89,36 @@ public class CompetitionIndexBiz { return Result.success(dto); } +// public Result list(int pageNo,int type,Long userNo){ +// int pageSize = 100; +// pageNo = pageNo - 1; +// if(pageNo<0){ +// pageNo = 0; +// } +// pageNo =pageNo* pageSize; +// +//// String compListKey = "competition_list_"+type+"_"+pageNo; +// Sort sort = Sort.by(Sort.Direction.DESC, "id"); +// Pageable pageable = PageRequest.of(pageNo,pageSize,sort); +// Page competitionList = competitionDao.findAllByStatus(type,pageable); +// List rsList = competitionList.getContent(); +// if(userNo!=null){ +// UserVo userVo = feignUser.getByUserNo(userNo); +// if(type == 1){ +// System.out.println("stop"); +// } +// if(userVo!=null&&competitionList.getContent()!=null&&competitionList.getContent().size()>0){ +// List list = competitionList.getContent().stream().filter(competition ->competition.getSchoolId()!=null&& competition.getSchoolId().equals(userVo.getSchoolId())).collect(Collectors.toList()); +// rsList =list; +// } +// } +// +// IndexListCompetitionDTO dto = new IndexListCompetitionDTO(); +// List competitionDTOList = BeanUtils.copyProperties(rsList,IndexCompetitionDTO.class); +// dto.setList(competitionDTOList); +// return Result.success(dto); +// } + public Result get(Long compId){ // String compKey = "competition_"+compId; // Object compObj = template.opsForValue().get(compKey); diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionDao.java b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionDao.java index 50e3e0d..0c6721c 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionDao.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionDao.java @@ -22,6 +22,7 @@ public interface CompetitionDao extends JpaRepository { List findAllByStatus(Integer status); Page findAllByStatus(Integer status, Pageable pageable); + Page findByIdInAndStatus(Listids,Integer status, Pageable pageable); Page findAllBySchoolId(Integer schoolId,Pageable pageable); diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java index eed893c..fe331e0 100644 --- a/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java +++ b/tz/competition/competition-service/src/main/java/com/tz/platform/repository/CompetitionMemberDao.java @@ -24,6 +24,8 @@ public interface CompetitionMemberDao extends JpaRepository findAllByCompetitionIdAndStageId(Long compId,Integer stageId); + List findAllByNameAndSchool(String name,String school); + List findAllByCompetitionIdAndStageIdAndAccountIdNotNull(Long compId,Integer stageId); List findAllByUserIdAndCompetitionIdAndStageIdIn(Long userId,Long compId,List stageId);