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 }