保誠-保戶業務員媒合平台
Tomas
2023-09-14 e828225de7636d0195db2c3c9b1701a5b2f12049
pamapi/src/main/java/com/pollex/pam/web/rest/TestSendMsgResource.java
@@ -1,33 +1,59 @@
package com.pollex.pam.web.rest;
import com.pollex.pam.service.SendMsgService;
import com.pollex.pam.business.service.AppointmentService;
import com.pollex.pam.business.service.SendMsgService;
import com.pollex.pam.business.service.dto.SendSMSResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
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<Void> bySMS(@RequestParam String toMobile, @RequestParam String content) {
        sendMsgService.sendMsgBySMS(toMobile, content);
        return ResponseEntity.noContent().build();
    public ResponseEntity<SendSMSResponse> bySMS(@RequestParam String toMobile, @RequestParam String content) throws Exception {
        return ResponseEntity.ok(sendMsgService.sendMsgBySMS(toMobile, content));
    }
    @GetMapping("/byEmail")
    public ResponseEntity<Void> byEmail(
        @RequestParam String from,
        @RequestParam String to,
        @RequestParam String subject,
        @RequestParam String content,
        @RequestParam boolean htmlFormat
    ) {
        sendMsgService.sendMsgByEmail(from, to, subject, content, htmlFormat);
        return ResponseEntity.noContent().build();
    }
//    @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);
//    }
}