|
|
@@ -4,12 +4,15 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.izouma.wenlvju.domain.ArtType;
|
|
|
+import com.izouma.wenlvju.domain.User;
|
|
|
import com.izouma.wenlvju.domain.performance.Arrange;
|
|
|
+import com.izouma.wenlvju.domain.performance.ArrangeJudge;
|
|
|
import com.izouma.wenlvju.domain.performance.Programme;
|
|
|
import com.izouma.wenlvju.dto.ArrangeDTO;
|
|
|
import com.izouma.wenlvju.dto.PageQuery;
|
|
|
import com.izouma.wenlvju.exception.BusinessException;
|
|
|
import com.izouma.wenlvju.repo.ArtTypeRepo;
|
|
|
+import com.izouma.wenlvju.repo.UserRepo;
|
|
|
import com.izouma.wenlvju.repo.performance.ArrangeJudgeRepo;
|
|
|
import com.izouma.wenlvju.repo.performance.ArrangeRepo;
|
|
|
import com.izouma.wenlvju.repo.performance.ProgrammeRepo;
|
|
|
@@ -25,6 +28,7 @@ import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@@ -36,6 +40,7 @@ public class ArrangeService {
|
|
|
private ArtTypeRepo artTypeRepo;
|
|
|
private ProgrammeRepo programmeRepo;
|
|
|
private ArrangeJudgeRepo arrangeJudgeRepo;
|
|
|
+ private UserRepo userRepo;
|
|
|
|
|
|
public Page<Arrange> all(PageQuery pageQuery) {
|
|
|
Map<Long, String> artMap = artTypeRepo.findAll()
|
|
|
@@ -51,6 +56,28 @@ public class ArrangeService {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ public Page<Arrange> all2(PageQuery pageQuery) {
|
|
|
+ Map<Long, String> artMap = artTypeRepo.findAll()
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.toMap(ArtType::getId, ArtType::getName));
|
|
|
+ List<ArrangeJudge> ajs = arrangeJudgeRepo.findAll();
|
|
|
+ Set<Long> userIds = ajs.stream().map(ArrangeJudge::getExpertId).collect(Collectors.toSet());
|
|
|
+ Map<Long, List<ArrangeJudge>> judgeMap = ajs
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.groupingBy(ArrangeJudge::getArrangeId));
|
|
|
+ Map<Long, String> userMap = userRepo.findAllById(userIds)
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.toMap(User::getId, User::getNickname));
|
|
|
+ return arrangeRepo.findAll(JpaUtils.toSpecification(pageQuery, Arrange.class), JpaUtils.toPageRequest(pageQuery))
|
|
|
+ .map(arrange -> {
|
|
|
+ arrange.setSpecialtyName(arrange.getSpecialtyId()
|
|
|
+ .stream()
|
|
|
+ .map(artMap::get)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ return arrange;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
/*
|
|
|
分组
|
|
|
*/
|