mirror of
https://github.com/injoyai/tdx.git
synced 2025-11-26 21:25:35 +08:00
增加Manage对mysql的支持
This commit is contained in:
52
manage.go
52
manage.go
@@ -1,6 +1,7 @@
|
|||||||
package tdx
|
package tdx
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"github.com/injoyai/ios/client"
|
"github.com/injoyai/ios/client"
|
||||||
"github.com/robfig/cron/v3"
|
"github.com/robfig/cron/v3"
|
||||||
"time"
|
"time"
|
||||||
@@ -10,6 +11,57 @@ const (
|
|||||||
DefaultDatabaseDir = "./data/database"
|
DefaultDatabaseDir = "./data/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func NewManageMysql(cfg *ManageConfig, op ...client.Option) (*Manage, error) {
|
||||||
|
//初始化配置
|
||||||
|
if cfg == nil {
|
||||||
|
cfg = &ManageConfig{}
|
||||||
|
}
|
||||||
|
if cfg.CodesFilename == "" {
|
||||||
|
return nil, errors.New("未配置Codes的数据库")
|
||||||
|
}
|
||||||
|
if cfg.WorkdayFileName == "" {
|
||||||
|
return nil, errors.New("未配置Workday的数据库")
|
||||||
|
}
|
||||||
|
if cfg.Dial == nil {
|
||||||
|
cfg.Dial = DialDefault
|
||||||
|
}
|
||||||
|
|
||||||
|
//通用客户端
|
||||||
|
commonClient, err := cfg.Dial(op...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
commonClient.Wait.SetTimeout(time.Second * 5)
|
||||||
|
|
||||||
|
//代码管理
|
||||||
|
codes, err := NewCodesMysql(commonClient, cfg.CodesFilename)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
//工作日管理
|
||||||
|
workday, err := NewWorkdayMysql(commonClient, cfg.WorkdayFileName)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
//连接池
|
||||||
|
p, err := NewPool(func() (*Client, error) {
|
||||||
|
return cfg.Dial(op...)
|
||||||
|
}, cfg.Number)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &Manage{
|
||||||
|
Pool: p,
|
||||||
|
Config: cfg,
|
||||||
|
Codes: codes,
|
||||||
|
Workday: workday,
|
||||||
|
Cron: cron.New(cron.WithSeconds()),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
func NewManage(cfg *ManageConfig, op ...client.Option) (*Manage, error) {
|
func NewManage(cfg *ManageConfig, op ...client.Option) (*Manage, error) {
|
||||||
//初始化配置
|
//初始化配置
|
||||||
if cfg == nil {
|
if cfg == nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user