package com.pollex.pam.web.rest;
|
|
import com.pollex.pam.business.aop.logging.audit.AuditLoggingInject;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import com.pollex.pam.business.domain.Appointment;
|
import com.pollex.pam.business.security.SecurityUtils;
|
import com.pollex.pam.business.service.AppointmentService;
|
import com.pollex.pam.business.service.NoticeService;
|
import com.pollex.pam.business.service.dto.AppointmentNoticeSendDTO;
|
|
import static com.pollex.pam.business.aop.logging.audit.AuditLoggingType.CONSULTANT_SEND_INTERVIEW_NOTICE;
|
|
@RestController
|
@RequestMapping("/api/notice")
|
public class NoticeResource {
|
|
@Autowired
|
NoticeService noticeService;
|
|
@Autowired
|
AppointmentService appointmentService;
|
|
@AuditLoggingInject(type = CONSULTANT_SEND_INTERVIEW_NOTICE)
|
@PostMapping("/send")
|
public void sendNotice(@RequestBody AppointmentNoticeSendDTO dto) {
|
Appointment appointment = appointmentService.findById(dto.getAppointmentId());
|
if(!appointment.getAgentNo().equals(SecurityUtils.getAgentNo())) {
|
throw new IllegalAccessError("The user do not have access permission");
|
}
|
noticeService.sendNotice(dto);
|
}
|
}
|