feat(sms): 新增节点短信提醒(审核未通过/被租用需辅助/上架未成交)
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
package sms
|
||||
|
||||
// 节点标识:与系统配置 sms.business_templates 中 nodes 的 key 一一对应,
|
||||
// 也与分销站点短信配置 business_templates 的 key 一一对应。
|
||||
const (
|
||||
// NodeListingReviewRejected 账号审核未通过,提醒号主修改后重新上架。
|
||||
NodeListingReviewRejected = "listing_review_rejected"
|
||||
// NodeOrderHandoffAssist 账号被租用需要号主辅助登录,提醒号主及时处理。
|
||||
NodeOrderHandoffAssist = "order_handoff_assist"
|
||||
// NodeListingStalePriceSuggestion 账号上架多日仍未成交,建议号主调整比例。
|
||||
NodeListingStalePriceSuggestion = "listing_stale_price_suggestion"
|
||||
)
|
||||
|
||||
// NodeMeta 描述一个节点短信,用于后台配置页展示与文案预览。
|
||||
type NodeMeta struct {
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
Recipient string `json:"recipient"`
|
||||
Description string `json:"description"`
|
||||
// TemplateCode 是该节点在阿里云报备的模板 CODE,
|
||||
// 这里只是后台首次配置时的参考值,真实值以系统配置/站点配置为准。
|
||||
TemplateCode string `json:"template_code"`
|
||||
// Sample 是报备模板的参考文案,仅供后台预览;真实发送以供应商模板为准。
|
||||
Sample string `json:"sample"`
|
||||
// SupportsStaleDays 标记该节点是否需要「上架天数」阈值(仅闲置降价提醒使用)。
|
||||
SupportsStaleDays bool `json:"supports_stale_days"`
|
||||
}
|
||||
|
||||
var nodeMetas = []NodeMeta{
|
||||
{
|
||||
Code: NodeListingReviewRejected,
|
||||
Name: "账号审核未通过",
|
||||
Recipient: "号主",
|
||||
Description: "号主上架的账号被后台审核拒绝时,提醒登录网站修改后重新上架。",
|
||||
TemplateCode: "SMS_512520993",
|
||||
Sample: "板板,您在我们商行上架的账号审核未通过,请登录网站进行修改重新上架",
|
||||
},
|
||||
{
|
||||
Code: NodeOrderHandoffAssist,
|
||||
Name: "账号被租用需辅助登录",
|
||||
Recipient: "号主",
|
||||
Description: "订单支付成功进入待交接后,提醒号主及时辅助登录,避免订单被强制结束。",
|
||||
TemplateCode: "SMS_512540945",
|
||||
Sample: "板板,您的订单已有人下单,下单方需要辅助登录,请及时留意平台信息!长时间未辅助平台会强制结束订单",
|
||||
},
|
||||
{
|
||||
Code: NodeListingStalePriceSuggestion,
|
||||
Name: "上架多日未成交降价建议",
|
||||
Recipient: "号主",
|
||||
Description: "账号上架满指定天数仍未被租用,建议号主适当调整比例,加快出租。",
|
||||
TemplateCode: "SMS_512620985",
|
||||
Sample: "板板,您的三角洲账号上架三天还未成功出售,建议您比例适当让一点,比例越高,出租越快、匹配越顺。具体调多少按自己心理价位定",
|
||||
SupportsStaleDays: true,
|
||||
},
|
||||
}
|
||||
|
||||
// NodeMetas 返回全部节点短信定义(副本,调用方不可修改内部数据)。
|
||||
func NodeMetas() []NodeMeta {
|
||||
out := make([]NodeMeta, len(nodeMetas))
|
||||
copy(out, nodeMetas)
|
||||
return out
|
||||
}
|
||||
|
||||
// NodeMetaOf 返回指定节点的定义。
|
||||
func NodeMetaOf(code string) (NodeMeta, bool) {
|
||||
for _, meta := range nodeMetas {
|
||||
if meta.Code == code {
|
||||
return meta, true
|
||||
}
|
||||
}
|
||||
return NodeMeta{}, false
|
||||
}
|
||||
|
||||
// IsKnownNode 判断节点标识是否在已登记的节点清单内。
|
||||
func IsKnownNode(code string) bool {
|
||||
_, ok := NodeMetaOf(code)
|
||||
return ok
|
||||
}
|
||||
Reference in New Issue
Block a user