feat: webhook默认地址写入config.yaml,数据库无值时自动回退
This commit is contained in:
@@ -3,5 +3,5 @@ REM 构建脚本:交叉编译 Linux amd64 二进制
|
|||||||
set GOOS=linux
|
set GOOS=linux
|
||||||
set GOARCH=amd64
|
set GOARCH=amd64
|
||||||
set CGO_ENABLED=0
|
set CGO_ENABLED=0
|
||||||
go build -o app .
|
go build -o douya .
|
||||||
echo 构建完成: app.exe
|
echo 构建完成: douya.exe
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ ai:
|
|||||||
# ========== 企业微信 Webhook ==========
|
# ========== 企业微信 Webhook ==========
|
||||||
wechat_webhook:
|
wechat_webhook:
|
||||||
enabled: true
|
enabled: true
|
||||||
url: "" # 企业微信群机器人 Webhook URL
|
url: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=71110fd5-9f51-4695-88dc-85ca34385d66"
|
||||||
# 示例: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
# 示例: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||||
|
|
||||||
# ========== CORS 跨域 ==========
|
# ========== CORS 跨域 ==========
|
||||||
|
|||||||
BIN
app → douya
BIN
app → douya
Binary file not shown.
@@ -8,6 +8,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"gotest/internal/config"
|
||||||
"gotest/internal/model"
|
"gotest/internal/model"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@@ -16,12 +17,13 @@ import (
|
|||||||
|
|
||||||
// CustomerHandler 客户信息收集处理器
|
// CustomerHandler 客户信息收集处理器
|
||||||
type CustomerHandler struct {
|
type CustomerHandler struct {
|
||||||
db *gorm.DB
|
db *gorm.DB
|
||||||
|
cfg *config.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewCustomerHandler 创建客户信息收集处理器
|
// NewCustomerHandler 创建客户信息收集处理器
|
||||||
func NewCustomerHandler(db *gorm.DB) *CustomerHandler {
|
func NewCustomerHandler(db *gorm.DB, cfg *config.Config) *CustomerHandler {
|
||||||
return &CustomerHandler{db: db}
|
return &CustomerHandler{db: db, cfg: cfg}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CustomerRequest 客户信息请求
|
// 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 {
|
func (h *CustomerHandler) getWebhookURL() string {
|
||||||
|
// 优先从数据库读取
|
||||||
var cfg model.Config
|
var cfg model.Config
|
||||||
if err := h.db.Where("`key` = ?", "wechat_webhook_url").First(&cfg).Error; err == nil && cfg.Value != "" {
|
if err := h.db.Where("`key` = ?", "wechat_webhook_url").First(&cfg).Error; err == nil && cfg.Value != "" {
|
||||||
return 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"
|
return "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=71110fd5-9f51-4695-88dc-85ca34385d66"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
main.go
2
main.go
@@ -89,7 +89,7 @@ func main() {
|
|||||||
appHandler := handler.NewAppHandler(appService)
|
appHandler := handler.NewAppHandler(appService)
|
||||||
musicHandler := handler.NewMusicHandler(musicService)
|
musicHandler := handler.NewMusicHandler(musicService)
|
||||||
dashboardHandler := handler.NewDashboardHandler(db.DB)
|
dashboardHandler := handler.NewDashboardHandler(db.DB)
|
||||||
customerHandler := handler.NewCustomerHandler(db.DB)
|
customerHandler := handler.NewCustomerHandler(db.DB, cfg)
|
||||||
accessLogHandler := handler.NewAccessLogHandler(db.DB)
|
accessLogHandler := handler.NewAccessLogHandler(db.DB)
|
||||||
configHandler := handler.NewConfigHandler(db.DB)
|
configHandler := handler.NewConfigHandler(db.DB)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user