Fix adhoc Raid Instance saving

This commit is contained in:
2025-03-16 15:07:05 -04:00
parent 6c0ffccd60
commit b6fb636ddd
5 changed files with 52 additions and 6 deletions

View File

@@ -14,13 +14,16 @@ import com.mattrixwv.raidbuilder.entity.RaidInstance;
import com.mattrixwv.raidbuilder.repository.raid_instance.RaidInstanceRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
@Transactional(rollbackFor = Exception.class)
@RequiredArgsConstructor
public class RaidInstanceService{
private final RaidInstanceRepository raidInstanceRepository;
private final RaidInstancePersonCharacterXrefService ripcXrefService;
//Write
@@ -33,23 +36,30 @@ public class RaidInstanceService{
}
public void deleteById(UUID raidInstanceId){
ripcXrefService.deleteByRaidInstanceId(raidInstanceId);
raidInstanceRepository.deleteById(raidInstanceId);
}
public void deleteByRaidGroupId(UUID raidGroupId){
List<RaidInstance> raidInstances = raidInstanceRepository.findAllByRaidGroupId(raidGroupId);
ripcXrefService.deleteByRaidInstanceIds(raidInstances.stream().map(RaidInstance::getRaidInstanceId).toList());
raidInstanceRepository.deleteAllByRaidGroupId(raidGroupId);
}
public void deleteByRaidGroupIds(Iterable<UUID> raidGroupIds){
List<RaidInstance> raidInstances = raidInstanceRepository.findAllByRaidGroupIdIn(raidGroupIds);
ripcXrefService.deleteByRaidInstanceIds(raidInstances.stream().map(RaidInstance::getRaidInstanceId).toList());
raidInstanceRepository.deleteAllByRaidGroupIdIn(raidGroupIds);
}
public void deleteByRaidLayoutId(UUID raidLayoutId){
raidInstanceRepository.deleteAllByRaidLayoutId(raidLayoutId);
raidInstanceRepository.clearRaidLayoutId(raidLayoutId);
}
public void deleteByRaidLayoutIds(Iterable<UUID> raidLayoutIds){
raidInstanceRepository.deleteAllByRaidLayoutIdIn(raidLayoutIds);
raidInstanceRepository.clearRaidLayoutIdIn(raidLayoutIds);
}
@@ -71,11 +81,11 @@ public class RaidInstanceService{
}
public List<RaidInstance> findAllByRaidGroupIdAndEndDate(UUID raidGroupId, ZonedDateTime endDate, int page, int pageSize){
return raidInstanceRepository.findAllByRaidGroupIdAndRaidEndDateAfter(raidGroupId, endDate, PageRequest.of(page, pageSize, Sort.by("raidInstanceName").ascending()));
return raidInstanceRepository.findAllByRaidGroupIdAndRaidEndDateAfter(raidGroupId, endDate, PageRequest.of(page, pageSize, Sort.by("raidEndDate").descending()));
}
public List<RaidInstance> findAllByRaidGroupIdAndEndDate(UUID raidGroupId, ZonedDateTime endDate, int page, int pageSize, String searchTerm){
return raidInstanceRepository.findAllByRaidGroupIdAndRaidEndDateAfterAndRaidInstanceNameContainingIgnoreCase(raidGroupId, endDate, searchTerm, PageRequest.of(page, pageSize, Sort.by("raidInstanceName").ascending()));
return raidInstanceRepository.findAllByRaidGroupIdAndRaidEndDateAfterAndRaidInstanceNameContainingIgnoreCase(raidGroupId, endDate, searchTerm, PageRequest.of(page, pageSize, Sort.by("raidEndDate").descending()));
}
public long countByRaidGroupId(UUID raidGroupId){