feat: webhook默认地址写入config.yaml,数据库无值时自动回退
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"gotest/internal/config"
|
||||
"gotest/internal/model"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -16,12 +17,13 @@ import (
|
||||
|
||||
// CustomerHandler 客户信息收集处理器
|
||||
type CustomerHandler struct {
|
||||
db *gorm.DB
|
||||
db *gorm.DB
|
||||
cfg *config.Config
|
||||
}
|
||||
|
||||
// NewCustomerHandler 创建客户信息收集处理器
|
||||
func NewCustomerHandler(db *gorm.DB) *CustomerHandler {
|
||||
return &CustomerHandler{db: db}
|
||||
func NewCustomerHandler(db *gorm.DB, cfg *config.Config) *CustomerHandler {
|
||||
return &CustomerHandler{db: db, cfg: cfg}
|
||||
}
|
||||
|
||||
// CustomerRequest 客户信息请求
|
||||
@@ -63,12 +65,17 @@ func (h *CustomerHandler) Submit(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// getWebhookURL 从数据库获取webhook URL
|
||||
// getWebhookURL 从数据库获取webhook URL,没有则回退到config.yaml
|
||||
func (h *CustomerHandler) getWebhookURL() string {
|
||||
// 优先从数据库读取
|
||||
var cfg model.Config
|
||||
if err := h.db.Where("`key` = ?", "wechat_webhook_url").First(&cfg).Error; err == nil && cfg.Value != "" {
|
||||
return cfg.Value
|
||||
}
|
||||
// 回退到 config.yaml
|
||||
if h.cfg.WechatWebhook.URL != "" {
|
||||
return h.cfg.WechatWebhook.URL
|
||||
}
|
||||
return "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=71110fd5-9f51-4695-88dc-85ca34385d66"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user