package sys import ( "context" "hotgo/internal/dao" "hotgo/internal/library/hgorm/handler" "hotgo/internal/library/imworkbench" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/frame/g" ) func initializeTenantWorkbench(ctx context.Context, tenantID int64, tenantCode string) error { if tenantID <= 0 { return gerror.New("商户ID不能为空") } if tenantCode == "" { value, err := NewSysImTenant().Model(ctx, &handler.Option{FilterAuth: false}). Fields(dao.ImTenant.Columns().Code). WherePri(tenantID). Value() if err != nil { return gerror.Wrap(err, "查询商户编码失败") } tenantCode = value.String() if tenantCode == "" { return gerror.New("商户不存在") } } var result struct { TenantID int64 `json:"tenant_id"` } if err := imworkbench.DefaultClient(ctx).PostForTenant(ctx, "/internal/admin/workbench/tenants/initialize", g.Map{ "tenant_id": tenantID, "tenant_code": tenantCode, }, tenantID, tenantCode, &result); err != nil { return err } if result.TenantID != tenantID { return gerror.New("工作台初始化返回的商户ID不一致") } return nil }