Files
im_manager/server/internal/logic/sys/im_tenant_workbench.go
T

45 lines
1.1 KiB
Go

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
}