From 35cafe2ce2582e47072b63b56a9ccc6ac2f5fc31 Mon Sep 17 00:00:00 2001
From: xiaoCJ <406612557@qq.com>
Date: Fri, 31 May 2024 15:12:01 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E4=B8=AA=E4=BA=BA?=
 =?UTF-8?q?=E8=B5=9B=E6=89=B9=E9=87=8F=E5=AF=BC=E5=85=A5=20=E4=BF=AE?=
 =?UTF-8?q?=E6=94=B9=E5=AD=A6=E7=94=9F=E7=AB=AF=E9=A6=96=E9=A1=B5=E5=B1=95?=
 =?UTF-8?q?=E7=A4=BA=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8F=AA=E8=83=BD=E7=9C=8B?=
 =?UTF-8?q?=E8=A7=81=E8=87=AA=E5=B7=B1=E5=8F=82=E4=B8=8E=E7=9A=84=E5=A4=A7?=
 =?UTF-8?q?=E8=B5=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../api/CompetitionIndexControll.java         |  4 +-
 .../api/biz/CompetitionIndexBiz.java          | 37 ++++++++++++++++++-
 .../platform/repository/CompetitionDao.java   |  1 +
 .../repository/CompetitionMemberDao.java      |  2 +
 4 files changed, 40 insertions(+), 4 deletions(-)

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<IndexListCompetitionDTO> list(@PathVariable("type") Integer type,@PathVariable("pageNo") Integer pageNo){
-        return competitionIndexBiz.list(pageNo,type,getUserNo());
+    public Result<IndexListCompetitionDTO> 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<String,Object> template;
 
-    public Result<IndexListCompetitionDTO> list(int pageNo,int type,Long userNo){
+    public Result<IndexListCompetitionDTO> 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<CompetitionMember> allByNameAndUserName = competitionMemberDao.findAllByNameAndSchool(name, school);
+        List<Long> ids = allByNameAndUserName.stream().map(CompetitionMember::getCompetitionId).collect(Collectors.toList());
         Pageable pageable = PageRequest.of(pageNo,pageSize,sort);
-        Page<Competition> competitionList = competitionDao.findAllByStatus(type,pageable);
+        Page<Competition> competitionList = competitionDao.findByIdInAndStatus(ids,type,pageable);
+        Page<Competition> competitionList1 = competitionDao.findAllByStatus(type,pageable);
         List<Competition> rsList = competitionList.getContent();
         if(userNo!=null){
             UserVo userVo = feignUser.getByUserNo(userNo);
@@ -86,6 +89,36 @@ public class CompetitionIndexBiz {
         return Result.success(dto);
     }
 
+//    public Result<IndexListCompetitionDTO> 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<Competition> competitionList = competitionDao.findAllByStatus(type,pageable);
+//        List<Competition> 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<Competition> list  = competitionList.getContent().stream().filter(competition ->competition.getSchoolId()!=null&& competition.getSchoolId().equals(userVo.getSchoolId())).collect(Collectors.toList());
+//                rsList =list;
+//            }
+//        }
+//
+//        IndexListCompetitionDTO dto = new IndexListCompetitionDTO();
+//        List<IndexCompetitionDTO> competitionDTOList = BeanUtils.copyProperties(rsList,IndexCompetitionDTO.class);
+//        dto.setList(competitionDTOList);
+//        return Result.success(dto);
+//    }
+
     public Result<CompetitionDTO> 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<Competition,Long> {
     List<Competition> findAllByStatus(Integer status);
 
     Page<Competition> findAllByStatus(Integer status, Pageable pageable);
+    Page<Competition> findByIdInAndStatus(List<Long>ids,Integer status, Pageable pageable);
 
     Page<Competition> 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<CompetitionMember,In
 
     List<CompetitionMember> findAllByCompetitionIdAndStageId(Long compId,Integer stageId);
 
+    List<CompetitionMember> findAllByNameAndSchool(String name,String school);
+
     List<CompetitionMember> findAllByCompetitionIdAndStageIdAndAccountIdNotNull(Long compId,Integer stageId);
 
     List<CompetitionMember> findAllByUserIdAndCompetitionIdAndStageIdIn(Long userId,Long compId,List<Integer> stageId);