Browse Source

[Mail] Copied. Now can save + set. Mail Template need to update.

create_edit_user
cyril.tsui 2 months ago
parent
commit
7f771a3848
5 changed files with 38 additions and 27 deletions
  1. +4
    -1
      src/main/java/com/ffii/fpsms/modules/common/mail/service/MailReminderService.kt
  2. +2
    -2
      src/main/java/com/ffii/fpsms/modules/common/mail/service/MailSenderService.kt
  3. +23
    -23
      src/main/java/com/ffii/fpsms/modules/common/mail/service/MailService.kt
  4. +8
    -0
      src/main/java/com/ffii/fpsms/modules/common/mail/web/MailController.kt
  5. +1
    -1
      src/main/java/com/ffii/fpsms/modules/common/mail/web/models/MailSave.kt

+ 4
- 1
src/main/java/com/ffii/fpsms/modules/common/mail/service/MailReminderService.kt View File

@@ -64,12 +64,14 @@ open class MailReminderService(
return tableStarter.toString() return tableStarter.toString()
} }


private fun createEmailRequest(content: String, emailTo: List<String>) {
public fun createEmailRequest(content: String, emailTo: List<String>) {
// val subject = settingsService.findByName(SettingNames.TIMESHEET_MAIL_SUBJECT).orElseThrow().value // val subject = settingsService.findByName(SettingNames.TIMESHEET_MAIL_SUBJECT).orElseThrow().value
// val template = settingsService.findByName(SettingNames.TIMESHEET_MAIL_TEMPLATE).orElseThrow().value // val template = settingsService.findByName(SettingNames.TIMESHEET_MAIL_TEMPLATE).orElseThrow().value
// val cc = settingsService.findByName(SettingNames.TIMESHEET_MAIL_CC).orElseThrow().value.split(",") // val cc = settingsService.findByName(SettingNames.TIMESHEET_MAIL_CC).orElseThrow().value.split(",")
// val bcc = settingsService.findByName(SettingNames.TIMESHEET_MAIL_BCC).orElseThrow().value.split(",") // val bcc = settingsService.findByName(SettingNames.TIMESHEET_MAIL_BCC).orElseThrow().value.split(",")
val mailRequest = MailRequest.Builder() val mailRequest = MailRequest.Builder()
.subject("Test: subject")
.templateContent("<p>{date}</p>")
// .subject(subject) // .subject(subject)
// .templateContent(template) // .templateContent(template)
.args( .args(
@@ -85,4 +87,5 @@ open class MailReminderService(
mailRequestList += mailRequest mailRequestList += mailRequest
mailService.send(mailRequestList) mailService.send(mailRequestList)
} }

} }

+ 2
- 2
src/main/java/com/ffii/fpsms/modules/common/mail/service/MailSenderService.kt View File

@@ -29,8 +29,8 @@ open class MailSenderService(private val settingsService: SettingsService) {
} }
props["mail.smtp.auth"] = auth props["mail.smtp.auth"] = auth
// The below setting needs to be included when the SMTP has TLS Version // The below setting needs to be included when the SMTP has TLS Version
// props["mail.smtp.starttls.enable"] = "true"
// props["mail.smtp.ssl.protocols"] = "TLSv1.2"
props["mail.smtp.starttls.enable"] = "true"
props["mail.smtp.ssl.protocols"] = "TLSv1.2"


sender.host = config.host sender.host = config.host
sender.port = config.port!! sender.port = config.port!!


+ 23
- 23
src/main/java/com/ffii/fpsms/modules/common/mail/service/MailService.kt View File

@@ -183,29 +183,29 @@ open class MailService(
} }


// ------------------ save timesheet mail details ------------------ // // ------------------ save timesheet mail details ------------------ //
val mailCc = settingsRepository.findByName("TIMESHEET.mail.cc").orElseThrow()
settings += mailCc.apply {
value = mailSave.template.cc
}
val mailBcc = settingsRepository.findByName("TIMESHEET.mail.bcc").orElseThrow()
settings += mailBcc.apply {
value = mailSave.template.bcc
}
val mailSubject = settingsRepository.findByName("TIMESHEET.mail.subject").orElseThrow()
settings += mailSubject.apply {
value = mailSave.template.subject
}
val mailTemplate = settingsRepository.findByName("TIMESHEET.mail.template").orElseThrow()
settings += mailTemplate.apply {
value = mailSave.template.template
}
// val mailCc = settingsRepository.findByName("TIMESHEET.mail.cc").orElseThrow()
//
// settings += mailCc.apply {
// value = mailSave.template.cc
// }
//
// val mailBcc = settingsRepository.findByName("TIMESHEET.mail.bcc").orElseThrow()
//
// settings += mailBcc.apply {
// value = mailSave.template.bcc
// }
//
// val mailSubject = settingsRepository.findByName("TIMESHEET.mail.subject").orElseThrow()
//
// settings += mailSubject.apply {
// value = mailSave.template.subject
// }
//
// val mailTemplate = settingsRepository.findByName("TIMESHEET.mail.template").orElseThrow()
//
// settings += mailTemplate.apply {
// value = mailSave.template.template
// }


// ------------------ save all ------------------ // // ------------------ save all ------------------ //
settingsRepository.saveAll(settings) settingsRepository.saveAll(settings)


+ 8
- 0
src/main/java/com/ffii/fpsms/modules/common/mail/web/MailController.kt View File

@@ -3,10 +3,13 @@ package com.ffii.fpsms.modules.common.mail.web
import com.ffii.fpsms.modules.common.mail.service.MailReminderService import com.ffii.fpsms.modules.common.mail.service.MailReminderService
import com.ffii.fpsms.modules.common.mail.service.MailService import com.ffii.fpsms.modules.common.mail.service.MailService
import com.ffii.fpsms.modules.common.mail.web.models.MailSave import com.ffii.fpsms.modules.common.mail.web.models.MailSave
import com.ffii.fpsms.modules.common.mail.web.models.Setting
import com.ffii.fpsms.modules.settings.entity.Settings import com.ffii.fpsms.modules.settings.entity.Settings
import com.ffii.fpsms.modules.settings.service.SettingsService import com.ffii.fpsms.modules.settings.service.SettingsService
import jakarta.validation.Valid import jakarta.validation.Valid
import org.springframework.web.bind.annotation.* import org.springframework.web.bind.annotation.*
import java.time.LocalDateTime
import java.util.Date


@RestController @RestController
@RequestMapping("/mails") @RequestMapping("/mails")
@@ -20,6 +23,11 @@ class MailController(
return settingsService.findAllByCategory("MAIL") return settingsService.findAllByCategory("MAIL")
} }


@GetMapping("/test-send")
fun mailTestSend() {
mailReminderService.createEmailRequest(LocalDateTime.now().toString(), listOf("the email u will send"))
}

@PostMapping("/save") @PostMapping("/save")
fun saveMail(@Valid @RequestBody mailSave: MailSave): List<Settings> { fun saveMail(@Valid @RequestBody mailSave: MailSave): List<Settings> {
return mailService.saveMail(mailSave) return mailService.saveMail(mailSave)


+ 1
- 1
src/main/java/com/ffii/fpsms/modules/common/mail/web/models/MailSave.kt View File

@@ -17,5 +17,5 @@ data class Template (


data class MailSave ( data class MailSave (
val settings: List<Setting>, val settings: List<Setting>,
val template: Template
// val template: Template
) )

Loading…
Cancel
Save