保誠-保戶業務員媒合平台
wayne
2022-02-17 a3716f72066d25d745f4d5103ff23a553c3e102b
pamapi/src/main/java/com/pollex/pam/web/rest/TestSendMsgResource.java
@@ -1,49 +1,60 @@
package com.pollex.pam.web.rest;
import com.pollex.pam.repository.AppointmentRepository;
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
    AppointmentRepository appointmentRepository;
    AppointmentService appointmentService;
    @Autowired
    SpringTemplateEngine springTemplateEngine;
    @GetMapping("/bySMS")
    public ResponseEntity<SendSMSResponse> bySMS(@RequestParam String toMobile, @RequestParam String content) {
    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("/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));
//    }
    @GetMapping("/byHtmlEmail")
    public ResponseEntity<String> byHtmlEmail(
        @RequestParam String from,
        @RequestParam String to
    ) {
        return ResponseEntity.ok(sendMsgService.sendMsgByHtmlTestTemplateEmail(from, to));
    }
    @GetMapping("/appointment/{appointmentId}")
    public void sendAppointmentNotify(@PathVariable Long appointmentId) {
        sendMsgService.sendAppointmentNotify(appointmentRepository.findById(appointmentId).get());
    }
//    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);
//    }
}