2026-07-26 22:19:41 +08:00
|
|
|
|
package db
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
|
|
|
|
"github.com/ssdomei232/goodBaby/model"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-09-12 15:32:27 +08:00
|
|
|
|
// GetAccount 读取一个账号,返回数据库里的原始记录。
|
2026-07-26 22:19:41 +08:00
|
|
|
|
//
|
2026-09-12 15:32:27 +08:00
|
|
|
|
// 规则执行需要的账号凭据由上层(handler/runner)在这里取好再传给 driver,
|
|
|
|
|
|
// driver 自己不碰数据库。accountID 为 0 表示该规则不需要账号,返回 (nil, nil)。
|
|
|
|
|
|
func GetAccount(accountID uint) (*model.Account, error) {
|
2026-07-26 22:19:41 +08:00
|
|
|
|
if accountID == 0 {
|
2026-09-12 15:32:27 +08:00
|
|
|
|
return nil, nil
|
2026-07-26 22:19:41 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
gormDB, err := GetGormDB()
|
|
|
|
|
|
if err != nil {
|
2026-09-12 15:32:27 +08:00
|
|
|
|
return nil, err
|
2026-07-26 22:19:41 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var account model.Account
|
|
|
|
|
|
if err := gormDB.First(&account, accountID).Error; err != nil {
|
2026-09-12 15:32:27 +08:00
|
|
|
|
return nil, fmt.Errorf("获取账号(ID: %d)失败: %w", accountID, err)
|
2026-07-26 22:19:41 +08:00
|
|
|
|
}
|
2026-09-12 15:32:27 +08:00
|
|
|
|
return &account, nil
|
2026-07-26 22:19:41 +08:00
|
|
|
|
}
|