feat: webhook默认地址写入config.yaml,数据库无值时自动回退

This commit is contained in:
2026-09-09 03:02:31 +08:00
parent 3580066a13
commit 278b07aa97
5 changed files with 15 additions and 8 deletions

View File

@@ -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"
}