Class EnvSubjectPrefixNotificationTemplateResolver
java.lang.Object
io.leandev.appfuse.notification.EnvSubjectPrefixNotificationTemplateResolver
- All Implemented Interfaces:
NotificationTemplateResolver
public class EnvSubjectPrefixNotificationTemplateResolver
extends Object
implements NotificationTemplateResolver
在已渲染主旨前置部署環境前綴(env marker)的 NotificationTemplateResolver decorator
包裝既有 resolver 鏈,呼叫 delegate 渲染後,env 有設即於 RenderedTemplate.subject 前加
[{env}] 前綴;內文不變。env 為 null / 空白、或渲染主旨為空時原樣回傳(no-op)。
讓通知(Email / LINE / 站內信…)收件者一眼辨識來源環境、避免測試通知誤認為正式信。env 值
慣例取應用的 app.env(各部署外部 conf 提供;正式環境不設 → 不加前綴,零 PROD 硬編碼),
與 /actuator/info、前端版本顯示的 env marker 同源同慣例。
BannerNotificationTemplateResolver 的主旨版兄弟:橫幅標記內文、本 decorator 標記主旨,
皆置於 resolver 鏈最外層,對所有 type × channel 一致生效(渲染在通道分流前只做一次)。
與 framework Mailer 的 noticeSubjectPrefix(郵件轉址通知前綴,EMAIL-only)正交:那是
轉址註記、本 decorator 是環境標示,層次不同、不重疊。
接線:包在 resolver 鏈最外層,如
new EnvSubjectPrefixNotificationTemplateResolver(existingChain, appEnv)。
- Since:
- 4.0.0
-
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescription渲染某通知於某通道、某語系的內容
-
Constructor Details
-
EnvSubjectPrefixNotificationTemplateResolver
public EnvSubjectPrefixNotificationTemplateResolver(NotificationTemplateResolver delegate, String env) - Parameters:
delegate- 被包裝的 resolver 鏈env- 部署環境標示(慣例取app.env);null / 空白=正式環境慣例、不加前綴
-
-
Method Details
-
render
public RenderedTemplate render(String type, ChannelType channel, Locale locale, Map<String, Object> model) Description copied from interface:NotificationTemplateResolver渲染某通知於某通道、某語系的內容- Specified by:
renderin interfaceNotificationTemplateResolver- Parameters:
type- 通知型別鍵channel- 遞送通道locale- 目標語系(null 表示系統預設)model- 範本資料袋(含保留鍵deepLink,若有)- Returns:
- 渲染後的主旨與內文
-