保誠-保戶業務員媒合平台
Jack
2022-01-24 49c2a88a89a207e995b685299876473c3858dddc
pamapi/src/main/java/com/pollex/pam/service/NoticeService.java
@@ -1,11 +1,16 @@
package com.pollex.pam.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import com.pollex.pam.domain.Appointment;
import com.pollex.pam.domain.AppointmentNoticeLog;
import com.pollex.pam.enums.ContactStatusEnum;
import com.pollex.pam.repository.AppointmentRepository;
import com.pollex.pam.service.dto.AppointmentNoticeSendDTO;
@Service
@@ -20,18 +25,33 @@
   
   @Autowired
   AppointmentNoticeLogService appointmentNoticeLogService;
   @Autowired
   AppointmentRepository appointmentRepository;
   @Autowired
    PersonalNotificationService personalNotificationService;
   public void sendNotice(AppointmentNoticeSendDTO dto) {
      String subject = "保誠媒合平台系統通知:預約通知";
//      Appointment appointment = appointmentService.findById(dto.getAppointmentId());
      if(StringUtils.hasText(dto.getEmail())) {
         sendMsgService.sendMsgByEmail(dto.getEmail(), subject, dto.getMessage(), true);
      }if(StringUtils.hasText(dto.getPhone())) {
         sendMsgService.sendMsgBySMS(dto.getPhone(), dto.getMessage());
      }
      
      List<AppointmentNoticeLog> noticeLogs =
            appointmentNoticeLogService.findByAppointmentId(dto.getAppointmentId());
      if(noticeLogs.size()==0) {
         Appointment appointment = appointmentService.findById(dto.getAppointmentId());
         appointment.setCommunicateStatus(ContactStatusEnum.CONTACTED);
         appointmentRepository.save(appointment);
      }
      appointmentNoticeLogService.create(dto);
      personalNotificationService.createSendNoticeToCustomer(dto.getAppointmentId());
   }
}