package db /* import ( "github.com/jmoiron/sqlx" cdssdk "gitlink.org.cn/cloudream/common/sdks/storage" "gitlink.org.cn/cloudream/storage/common/pkgs/db/model" ) type NodeConnectivityDB struct { *DB } func (db *DB) NodeConnectivity() *NodeConnectivityDB { return &NodeConnectivityDB{DB: db} } func (db *NodeConnectivityDB) BatchGetByFromNode(ctx SQLContext, fromHubIDs []cdssdk.HubID) ([]model.NodeConnectivity, error) { if len(fromHubIDs) == 0 { return nil, nil } var ret []model.NodeConnectivity sql, args, err := sqlx.In("select * from NodeConnectivity where FromHubID in (?)", fromHubIDs) if err != nil { return nil, err } return ret, sqlx.Select(ctx, &ret, sql, args...) } func (db *NodeConnectivityDB) BatchUpdateOrCreate(ctx SQLContext, cons []model.NodeConnectivity) error { if len(cons) == 0 { return nil } return BatchNamedExec(ctx, "insert into NodeConnectivity(FromHubID, ToHubID, Delay, TestTime) values(:FromHubID, :ToHubID, :Delay, :TestTime) as new"+ " on duplicate key update Delay = new.Delay, TestTime = new.TestTime", 4, cons, nil) } */