|
@@ -10,19 +10,19 @@ import com.izouma.wenlvju.domain.GradingOrganization;
|
|
|
import com.izouma.wenlvju.domain.Organization;
|
|
import com.izouma.wenlvju.domain.Organization;
|
|
|
import com.izouma.wenlvju.domain.Setting;
|
|
import com.izouma.wenlvju.domain.Setting;
|
|
|
import com.izouma.wenlvju.domain.performance.Arrange;
|
|
import com.izouma.wenlvju.domain.performance.Arrange;
|
|
|
-import com.izouma.wenlvju.domain.performance.Participant;
|
|
|
|
|
import com.izouma.wenlvju.domain.performance.Performance;
|
|
import com.izouma.wenlvju.domain.performance.Performance;
|
|
|
import com.izouma.wenlvju.domain.performance.Programme;
|
|
import com.izouma.wenlvju.domain.performance.Programme;
|
|
|
|
|
+import com.izouma.wenlvju.dto.ArrangeProgrammeDTO;
|
|
|
import com.izouma.wenlvju.dto.PageQuery;
|
|
import com.izouma.wenlvju.dto.PageQuery;
|
|
|
import com.izouma.wenlvju.dto.ProgrammeDTO;
|
|
import com.izouma.wenlvju.dto.ProgrammeDTO;
|
|
|
import com.izouma.wenlvju.enums.CompetitionGroup;
|
|
import com.izouma.wenlvju.enums.CompetitionGroup;
|
|
|
|
|
+import com.izouma.wenlvju.enums.SignedIn;
|
|
|
import com.izouma.wenlvju.exception.BusinessException;
|
|
import com.izouma.wenlvju.exception.BusinessException;
|
|
|
import com.izouma.wenlvju.repo.ArtTypeRepo;
|
|
import com.izouma.wenlvju.repo.ArtTypeRepo;
|
|
|
import com.izouma.wenlvju.repo.GradingOrganizationRepo;
|
|
import com.izouma.wenlvju.repo.GradingOrganizationRepo;
|
|
|
import com.izouma.wenlvju.repo.OrganizationRepo;
|
|
import com.izouma.wenlvju.repo.OrganizationRepo;
|
|
|
import com.izouma.wenlvju.repo.SettingRepo;
|
|
import com.izouma.wenlvju.repo.SettingRepo;
|
|
|
import com.izouma.wenlvju.repo.performance.ArrangeRepo;
|
|
import com.izouma.wenlvju.repo.performance.ArrangeRepo;
|
|
|
-import com.izouma.wenlvju.repo.performance.ParticipantRepo;
|
|
|
|
|
import com.izouma.wenlvju.repo.performance.PerformanceRepo;
|
|
import com.izouma.wenlvju.repo.performance.PerformanceRepo;
|
|
|
import com.izouma.wenlvju.repo.performance.ProgrammeRepo;
|
|
import com.izouma.wenlvju.repo.performance.ProgrammeRepo;
|
|
|
import com.izouma.wenlvju.service.ArtTypeService;
|
|
import com.izouma.wenlvju.service.ArtTypeService;
|
|
@@ -47,7 +47,7 @@ import java.util.stream.Collectors;
|
|
|
public class ProgrammeService {
|
|
public class ProgrammeService {
|
|
|
|
|
|
|
|
private ProgrammeRepo programmeRepo;
|
|
private ProgrammeRepo programmeRepo;
|
|
|
- private ParticipantRepo participantRepo;
|
|
|
|
|
|
|
+ // private ParticipantRepo participantRepo;
|
|
|
private GradingOrganizationRepo gradingOrganizationRepo;
|
|
private GradingOrganizationRepo gradingOrganizationRepo;
|
|
|
private OrganizationRepo organizationRepo;
|
|
private OrganizationRepo organizationRepo;
|
|
|
private ArtTypeRepo artTypeRepo;
|
|
private ArtTypeRepo artTypeRepo;
|
|
@@ -86,10 +86,10 @@ public class ProgrammeService {
|
|
|
return all.map(ProgrammeDTO::new);
|
|
return all.map(ProgrammeDTO::new);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<Long> ids = new ArrayList<>();
|
|
|
|
|
|
|
+// List<Long> ids = new ArrayList<>();
|
|
|
List<Long> settingIds = new ArrayList<>();
|
|
List<Long> settingIds = new ArrayList<>();
|
|
|
content.forEach(programme -> {
|
|
content.forEach(programme -> {
|
|
|
- ids.add(programme.getId());
|
|
|
|
|
|
|
+// ids.add(programme.getId());
|
|
|
settingIds.add(programme.getLevelSettingId());
|
|
settingIds.add(programme.getLevelSettingId());
|
|
|
});
|
|
});
|
|
|
|
|
|
|
@@ -109,41 +109,41 @@ public class ProgrammeService {
|
|
|
.stream()
|
|
.stream()
|
|
|
.collect(Collectors.toMap(Setting::getId, Setting::getName));
|
|
.collect(Collectors.toMap(Setting::getId, Setting::getName));
|
|
|
|
|
|
|
|
- Map<Long, Long> participantMap = participantRepo.findAllByProgrammeIdIn(ids)
|
|
|
|
|
- .stream()
|
|
|
|
|
- .collect(Collectors.groupingBy(Participant::getProgrammeId, Collectors.counting()));
|
|
|
|
|
|
|
+// Map<Long, Long> participantMap = participantRepo.findAllByProgrammeIdIn(ids)
|
|
|
|
|
+// .stream()
|
|
|
|
|
+// .collect(Collectors.groupingBy(Participant::getProgrammeId, Collectors.counting()));
|
|
|
return all.map(programme -> {
|
|
return all.map(programme -> {
|
|
|
- if (participantMap.containsKey(programme.getId())) {
|
|
|
|
|
- return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
|
|
|
- organizationMap.get(programme.getOrganizationId()),
|
|
|
|
|
- gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
|
|
|
- artTypeMap.get(programme.getSpecialtyId()),
|
|
|
|
|
- settingMap.get(programme.getLevelSettingId()),
|
|
|
|
|
- participantMap.get(programme.getId()));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// if (participantMap.containsKey(programme.getId())) {
|
|
|
|
|
+// return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
|
|
|
+// organizationMap.get(programme.getOrganizationId()),
|
|
|
|
|
+// gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
|
|
|
+// artTypeMap.get(programme.getSpecialtyId()),
|
|
|
|
|
+// settingMap.get(programme.getLevelSettingId()),
|
|
|
|
|
+// participantMap.get(programme.getId()));
|
|
|
|
|
+// }
|
|
|
return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
|
organizationMap.get(programme.getOrganizationId()),
|
|
organizationMap.get(programme.getOrganizationId()),
|
|
|
gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
|
artTypeMap.get(programme.getSpecialtyId()),
|
|
artTypeMap.get(programme.getSpecialtyId()),
|
|
|
- settingMap.get(programme.getLevelSettingId()), 0);
|
|
|
|
|
|
|
+ settingMap.get(programme.getLevelSettingId()));
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public ProgrammeDTO toDTO(Programme programme, String performance, String organization, String gradingOrganization, String artType,
|
|
public ProgrammeDTO toDTO(Programme programme, String performance, String organization, String gradingOrganization, String artType,
|
|
|
- String setting, long participant) {
|
|
|
|
|
|
|
+ String setting) {
|
|
|
ProgrammeDTO dto = new ProgrammeDTO(programme);
|
|
ProgrammeDTO dto = new ProgrammeDTO(programme);
|
|
|
dto.setPerformance(performance);
|
|
dto.setPerformance(performance);
|
|
|
dto.setOrganization(organization);
|
|
dto.setOrganization(organization);
|
|
|
dto.setGradingOrganization(gradingOrganization);
|
|
dto.setGradingOrganization(gradingOrganization);
|
|
|
dto.setSpecialty(artType);
|
|
dto.setSpecialty(artType);
|
|
|
dto.setLevel(setting);
|
|
dto.setLevel(setting);
|
|
|
- dto.setQuantity(participant);
|
|
|
|
|
|
|
+// dto.setQuantity(participant);
|
|
|
return dto;
|
|
return dto;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public List<ProgrammeDTO> toDTOList(List<Programme> programmes) {
|
|
public List<ProgrammeDTO> toDTOList(List<Programme> programmes) {
|
|
|
|
|
|
|
|
- List<Long> ids = programmes.stream().map(Programme::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
+// List<Long> ids = programmes.stream().map(Programme::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
Map<Long, String> performanceMap = performanceRepo.findAll()
|
|
Map<Long, String> performanceMap = performanceRepo.findAll()
|
|
|
.stream()
|
|
.stream()
|
|
@@ -162,24 +162,24 @@ public class ProgrammeService {
|
|
|
.stream()
|
|
.stream()
|
|
|
.collect(Collectors.toMap(Setting::getId, Setting::getName));
|
|
.collect(Collectors.toMap(Setting::getId, Setting::getName));
|
|
|
|
|
|
|
|
- Map<Long, Long> participantMap = participantRepo.findAllByProgrammeIdIn(ids)
|
|
|
|
|
- .stream()
|
|
|
|
|
- .collect(Collectors.groupingBy(Participant::getProgrammeId, Collectors.counting()));
|
|
|
|
|
|
|
+// Map<Long, Long> participantMap = participantRepo.findAllByProgrammeIdIn(ids)
|
|
|
|
|
+// .stream()
|
|
|
|
|
+// .collect(Collectors.groupingBy(Participant::getProgrammeId, Collectors.counting()));
|
|
|
|
|
|
|
|
return programmes.stream().map(programme -> {
|
|
return programmes.stream().map(programme -> {
|
|
|
- if (participantMap.containsKey(programme.getId())) {
|
|
|
|
|
- return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
|
|
|
- organizationMap.get(programme.getOrganizationId()),
|
|
|
|
|
- gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
|
|
|
- artTypeMap.get(programme.getSpecialtyId()),
|
|
|
|
|
- settingMap.get(programme.getLevelSettingId()),
|
|
|
|
|
- participantMap.get(programme.getId()));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// if (participantMap.containsKey(programme.getId())) {
|
|
|
|
|
+// return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
|
|
|
+// organizationMap.get(programme.getOrganizationId()),
|
|
|
|
|
+// gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
|
|
|
+// artTypeMap.get(programme.getSpecialtyId()),
|
|
|
|
|
+// settingMap.get(programme.getLevelSettingId()),
|
|
|
|
|
+// participantMap.get(programme.getId()));
|
|
|
|
|
+// }
|
|
|
return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
return toDTO(programme, performanceMap.get(programme.getPerformanceId()),
|
|
|
organizationMap.get(programme.getOrganizationId()),
|
|
organizationMap.get(programme.getOrganizationId()),
|
|
|
gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
gradingOrganizationMap.get(programme.getGradingOrganizationId()),
|
|
|
artTypeMap.get(programme.getSpecialtyId()),
|
|
artTypeMap.get(programme.getSpecialtyId()),
|
|
|
- settingMap.get(programme.getLevelSettingId()), 0);
|
|
|
|
|
|
|
+ settingMap.get(programme.getLevelSettingId()));
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -308,24 +308,9 @@ public class ProgrammeService {
|
|
|
public void removeArrange(Long id) {
|
|
public void removeArrange(Long id) {
|
|
|
Programme programme = programmeRepo.findById(id).orElseThrow(new BusinessException("无记录"));
|
|
Programme programme = programmeRepo.findById(id).orElseThrow(new BusinessException("无记录"));
|
|
|
Long arrangeId = programme.getArrangeId();
|
|
Long arrangeId = programme.getArrangeId();
|
|
|
-
|
|
|
|
|
-// final LocalDateTime[] showTime = {programme.getShowTime()};
|
|
|
|
|
- // 分组下的所有节目
|
|
|
|
|
-// List<Programme> programmes = programmeRepo.findAllByArrangeIdAndShowTimeAfter(arrangeId, showTime[0]);
|
|
|
|
|
-// programmes.sort(Comparator.comparing(Programme::getShowTime));
|
|
|
|
|
-// programmes.forEach(pro -> {
|
|
|
|
|
-// LocalDateTime tmp = pro.getShowTime();
|
|
|
|
|
-// pro.setShowTime(showTime[0]);
|
|
|
|
|
-// showTime[0] = tmp;
|
|
|
|
|
-// });
|
|
|
|
|
-
|
|
|
|
|
programme.setStatus(0);
|
|
programme.setStatus(0);
|
|
|
programme.setArrangeId(null);
|
|
programme.setArrangeId(null);
|
|
|
programmeRepo.save(programme);
|
|
programmeRepo.save(programme);
|
|
|
-
|
|
|
|
|
-// programmes.add(programme);
|
|
|
|
|
-// programmeRepo.saveAll(programmes);
|
|
|
|
|
-
|
|
|
|
|
arrangeRepo.minusQuantity(arrangeId);
|
|
arrangeRepo.minusQuantity(arrangeId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -353,4 +338,44 @@ public class ProgrammeService {
|
|
|
this.sort(programmes);
|
|
this.sort(programmes);
|
|
|
return programmes;
|
|
return programmes;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ 查看按分组查看节目
|
|
|
|
|
+ */
|
|
|
|
|
+ public Page<ArrangeProgrammeDTO> byArrange(PageQuery pageQuery) {
|
|
|
|
|
+ Page<Programme> all = this.all(pageQuery);
|
|
|
|
|
+ Set<Long> arrangeIds = all.getContent().stream().map(Programme::getArrangeId).collect(Collectors.toSet());
|
|
|
|
|
+ Map<Long, Arrange> arrangeMap = arrangeRepo.findAllById(arrangeIds)
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .collect(Collectors.toMap(Arrange::getId, arrange -> arrange));
|
|
|
|
|
+ Map<Long, String> organizationMap = organizationRepo.findAll()
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .collect(Collectors.toMap(Organization::getId, Organization::getName));
|
|
|
|
|
+ Map<Long, String> gradingOrganizationMap = gradingOrganizationRepo.findAll()
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .collect(Collectors.toMap(GradingOrganization::getId, GradingOrganization::getName));
|
|
|
|
|
+ return all.map(programme -> {
|
|
|
|
|
+ ArrangeProgrammeDTO dto = new ArrangeProgrammeDTO(programme);
|
|
|
|
|
+ Arrange arrange = arrangeMap.get(programme.getArrangeId());
|
|
|
|
|
+ dto.setArrangeName(arrange.getName());
|
|
|
|
|
+ dto.setWriterDirector(arrange.getWriterDirector());
|
|
|
|
|
+ dto.setWriterPhone(arrange.getPhone());
|
|
|
|
|
+ dto.setOrganization(organizationMap.get(programme.getOrganizationId()));
|
|
|
|
|
+ dto.setGradingOrganization(gradingOrganizationMap.get(programme.getGradingOrganizationId()));
|
|
|
|
|
+ return dto;
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public void signIn(Long id, SignedIn signedIn, String description) {
|
|
|
|
|
+ Programme programme = programmeRepo.findById(id).orElseThrow(new BusinessException("无节目"));
|
|
|
|
|
+ programme.setSignedIn(signedIn);
|
|
|
|
|
+ programme.setDescription(description);
|
|
|
|
|
+ programme.setSignedAt(LocalDateTime.now());
|
|
|
|
|
+ programmeRepo.save(programme);
|
|
|
|
|
+
|
|
|
|
|
+ long unSigned = programmeRepo.countAllByArrangeIdAndStatusIsNotNull(programme.getArrangeId());
|
|
|
|
|
+ if (unSigned == 0) {
|
|
|
|
|
+ programmeRepo.allSigned(programme.getArrangeId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|