比對新檔案 |
| | |
| | | package com.pollex.pam.service; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.pollex.pam.domain.Appointment; |
| | | import com.pollex.pam.domain.AppointmentMemo; |
| | | import com.pollex.pam.repository.AppointmentMemoRepository; |
| | | import com.pollex.pam.repository.AppointmentRepository; |
| | | import com.pollex.pam.security.SecurityUtils; |
| | | import com.pollex.pam.service.dto.AppointmentMemoCreateDTO; |
| | | import com.pollex.pam.service.dto.AppointmentMemoUpdateDTO; |
| | | import com.pollex.pam.service.mapper.AppointmentMemoMapper; |
| | | import com.pollex.pam.web.rest.errors.AppointmentMemoNotFoundException; |
| | | import com.pollex.pam.web.rest.errors.AppointmentNotFoundException; |
| | | |
| | | @Service |
| | | @Transactional |
| | | public class AppointmentMemoService { |
| | | |
| | | @Autowired |
| | | AppointmentMemoRepository appointmentMemoRepository; |
| | | |
| | | @Autowired |
| | | AppointmentMemoMapper appointmentMemoMapper; |
| | | |
| | | @Autowired |
| | | AppointmentRepository appointmentRepository; |
| | | |
| | | public AppointmentMemo create(AppointmentMemoCreateDTO memoDTO) { |
| | | AppointmentMemo memo = appointmentMemoMapper.toAppointmentMemo(memoDTO); |
| | | return appointmentMemoRepository.save(memo); |
| | | } |
| | | |
| | | public void checkPermission(Long appointmentId) { |
| | | Appointment appointment = appointmentRepository.findById(appointmentId) |
| | | .orElseThrow(AppointmentNotFoundException::new); |
| | | if(!appointment.getAgentNo().equals(SecurityUtils.getAgentNo())) { |
| | | throw new IllegalAccessError("not have permission"); |
| | | } |
| | | } |
| | | |
| | | public AppointmentMemo update(AppointmentMemoUpdateDTO memoDTO) { |
| | | AppointmentMemo memo = appointmentMemoRepository |
| | | .findById(memoDTO.getId()) |
| | | .orElseThrow(AppointmentMemoNotFoundException::new); |
| | | checkPermission(memo.getAppointmentId()); |
| | | appointmentMemoMapper.copyToAppointmentMemo(memoDTO, memo); |
| | | return appointmentMemoRepository.save(memo); |
| | | } |
| | | |
| | | public void delete(Long memoId) { |
| | | AppointmentMemo memo = appointmentMemoRepository |
| | | .findById(memoId) |
| | | .orElseThrow(AppointmentMemoNotFoundException::new); |
| | | checkPermission(memo.getAppointmentId()); |
| | | appointmentMemoRepository.delete(memo); |
| | | } |
| | | } |