64 lines
2.2 KiB
Plaintext
64 lines
2.2 KiB
Plaintext
package com.healthcare.ohctech.service.impl;
|
|
|
|
import com.healthcare.ohctech.dto.ComplaintDto;
|
|
import com.healthcare.ohctech.entity.Complaint;
|
|
import com.healthcare.ohctech.repository.ComplaintRepo;
|
|
import com.healthcare.ohctech.service.ComplaintService;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@Service
|
|
public class ComplaintServiceImpl implements ComplaintService {
|
|
|
|
private final ComplaintRepo complaintRepo;
|
|
|
|
public ComplaintServiceImpl(ComplaintRepo complaintRepo) {
|
|
this.complaintRepo = complaintRepo;
|
|
}
|
|
|
|
@Override
|
|
public Complaint getComplaintById(Long complaintId) {
|
|
return complaintRepo.findById(complaintId)
|
|
.orElseThrow(() -> new RuntimeException("Complaint not found for ID: " + complaintId));
|
|
}
|
|
|
|
@Override
|
|
public Page<Complaint> getAllComplaints(Pageable pageable) {
|
|
return complaintRepo.findAll(pageable);
|
|
}
|
|
|
|
@Override
|
|
public void addComplaint(ComplaintDto complaintDto, Long userId) {
|
|
Complaint complaint = convertToEntity(new Complaint(), complaintDto);
|
|
complaint.setModifiedBy(userId);
|
|
complaintRepo.save(complaint);
|
|
}
|
|
|
|
@Override
|
|
public void updateComplaint(ComplaintDto complaintDto, Long userId) {
|
|
Long complaintId = complaintDto.id();
|
|
Complaint complaint = complaintRepo.findById(complaintId)
|
|
.orElseThrow(() -> new RuntimeException("Complaint not found for ID: " + complaintId));
|
|
|
|
convertToEntity(complaint, complaintDto);
|
|
complaint.setModifiedBy(userId);
|
|
complaintRepo.save(complaint);
|
|
}
|
|
|
|
@Override
|
|
public void deleteComplaint(Long complaintId) {
|
|
Complaint complaint = complaintRepo.findById(complaintId)
|
|
.orElseThrow(() -> new RuntimeException("Complaint not found for ID: " + complaintId));
|
|
complaintRepo.delete(complaint);
|
|
}
|
|
|
|
private Complaint convertToEntity(Complaint complaint, ComplaintDto complaintDto) {
|
|
complaint.setComplaint(complaintDto.complaint());
|
|
complaint.setComplaintDesc(complaintDto.complaintDesc());
|
|
complaint.setIsActive(complaintDto.isActive());
|
|
|
|
return complaint;
|
|
}
|
|
}
|