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<SendSMSResponse> bySMS(@RequestParam String toMobile, @RequestParam String content) throws Exception {
|
return ResponseEntity.ok(sendMsgService.sendMsgBySMS(toMobile, content));
|
}
|
|
@GetMapping("/byEmail")
|
public ResponseEntity<String> 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<String> 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);
|
}
|
}
|