package main import ( "log/slog" "platform/pkg/env" "platform/pkg/logs" "platform/pkg/orm" m "platform/web/models" q "platform/web/queries" "time" "golang.org/x/crypto/bcrypt" ) func main() { env.Init() logs.Init() orm.Init() err := q.Q.Transaction(func(tx *q.Query) error { q.User. Select(q.User.Phone). Save(&m.User{ Phone: "12312341234", }) var user, _ = q.User.First() q.Resource. Select(q.Resource.UserID, q.Resource.Active). Create(&m.Resource{ UserID: user.ID, Active: true, }) var resource, _ = q.Resource.First() q.ResourcePss. Select( q.ResourcePss.ResourceID, q.ResourcePss.Live, q.ResourcePss.Type, q.ResourcePss.Expire, q.ResourcePss.DailyLimit, ). Create(&m.ResourcePss{ ResourceID: resource.ID, Live: 180, Type: 1, Expire: time.Now().Add(24 * time.Hour * 1000), DailyLimit: 300000, }) q.Proxy. Select(q.Proxy.Version, q.Proxy.Name, q.Proxy.Host, q.Proxy.Type, q.Proxy.Secret). Create(&m.Proxy{ Version: 1, Name: "7a17e8b4-cdc3-4500-bf16-4a665991a7f6", Host: "110.40.82.248", Type: 1, Secret: "api:123456", }) q.Node. Select( q.Node.Version, q.Node.Name, q.Node.Host, q.Node.Isp, q.Node.Prov, q.Node.City, q.Node.Status). Create(&m.Node{ Version: 1, Name: "test-node", Host: "123", Isp: "test-isp", Prov: "test-prov", City: "test-city", Status: 1}) var testSecret, _ = bcrypt.GenerateFromPassword([]byte("test"), bcrypt.DefaultCost) var tasksSecret, _ = bcrypt.GenerateFromPassword([]byte("tasks"), bcrypt.DefaultCost) q.Client. Select( q.Client.ClientID, q.Client.ClientSecret, q.Client.GrantClient, q.Client.GrantRefresh, q.Client.Spec, q.Client.Name). Create(&m.Client{ ClientID: "test", ClientSecret: string(testSecret), GrantClient: true, GrantRefresh: true, Spec: 0, Name: "默认客户端", }, &m.Client{ ClientID: "tasks", ClientSecret: string(tasksSecret), GrantClient: true, GrantRefresh: true, Spec: 0, Name: "异步任务处理服务", }) return nil }) if err != nil { panic(err) } slog.Info("✔ Data inserted successfully") }