package com.pollex.pam.web.rest; import com.pollex.pam.service.AppointmentService; import com.pollex.pam.service.SendMsgService; import com.pollex.pam.service.dto.SendSMSResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.thymeleaf.context.Context; import org.thymeleaf.spring5.SpringTemplateEngine; @Deprecated @RestController @RequestMapping("/api/test/sendMsg") public class TestSendMsgResource { private static final String NOTIFY_EMAIL_SUBJECT = "保誠媒合平台系統通知:新預約單"; @Autowired SendMsgService sendMsgService; @Autowired AppointmentService appointmentService; @Autowired SpringTemplateEngine springTemplateEngine; @GetMapping("/bySMS") public ResponseEntity bySMS(@RequestParam String toMobile, @RequestParam String content) throws Exception { return ResponseEntity.ok(sendMsgService.sendMsgBySMS(toMobile, content)); } @GetMapping("/byEmail") public ResponseEntity byEmail( @RequestParam String from, @RequestParam String to, @RequestParam String subject, @RequestParam String content, @RequestParam boolean htmlFormat ) { return ResponseEntity.ok(sendMsgService.sendMsgByEmail(from, to, subject, content, htmlFormat)); } @GetMapping("/byHtmlEmail") public ResponseEntity byHtmlEmail( @RequestParam String from, @RequestParam String to ) { return ResponseEntity.ok(testSendMsgByHtmlTemplateEmail(from, to)); } private String testSendMsgByHtmlTemplateEmail(String from, String to) { Context context = new Context(); context.setVariable("content", "親愛的顧問您好,您有一筆來自保誠媒合平台的新預約單\n"); context.setVariable("urlHint", appointmentService.getAppointmentDetailUrl(0L)); String content = springTemplateEngine.process("mail/appointmentNotifyEmail", context); return sendMsgService.sendMsgByEmail(from, to, NOTIFY_EMAIL_SUBJECT, content, true); } }