chore: seed migration objects batch 5
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package sys
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"hotgo/internal/dao"
|
||||
"hotgo/internal/library/contexts"
|
||||
"hotgo/internal/library/imkafka"
|
||||
"hotgo/internal/library/imtenant"
|
||||
"hotgo/internal/model/entity"
|
||||
"hotgo/internal/service"
|
||||
|
||||
"github.com/gogf/gf/v2/encoding/gjson"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
)
|
||||
|
||||
func resolveImPolicyTenant(ctx context.Context, selectedTenantID int64) (tenantID int64, tenantCode string, err error) {
|
||||
operatorID := contexts.GetUserId(ctx)
|
||||
if service.AdminMember().VerifySuperId(ctx, operatorID) && selectedTenantID == 0 {
|
||||
return 0, "*", nil
|
||||
}
|
||||
scope, err := resolveImAdminScope(ctx, selectedTenantID)
|
||||
if err != nil {
|
||||
return 0, "", err
|
||||
}
|
||||
var tenant *entity.ImTenant
|
||||
if err = imtenant.RegistryDB().Model(dao.ImTenant.Table()).Safe().Ctx(ctx).
|
||||
Where(dao.ImTenant.Columns().Id, scope.TenantId).Scan(&tenant); err != nil {
|
||||
return 0, "", gerror.Wrap(err, "获取IM租户失败")
|
||||
}
|
||||
if tenant == nil {
|
||||
return 0, "", gerror.New("IM租户不存在")
|
||||
}
|
||||
return tenant.Id, tenant.Code, nil
|
||||
}
|
||||
|
||||
func policyJSON(value *gjson.Json, fallback string) string {
|
||||
if value == nil || value.String() == "" || value.String() == "null" {
|
||||
return fallback
|
||||
}
|
||||
return value.String()
|
||||
}
|
||||
|
||||
func publishImPolicyEvent(ctx context.Context, tenantID int64, tenantCode, eventType, group string, version uint) error {
|
||||
return imkafka.PublishConfigEvent(ctx, imkafka.ConfigEventInput{
|
||||
TenantID: tenantID,
|
||||
TenantCode: tenantCode,
|
||||
EventType: eventType,
|
||||
Group: group,
|
||||
Keys: []string{"version", "payload"},
|
||||
BizID: fmt.Sprintf("%s:%d:%d", group, tenantID, version),
|
||||
Actor: &imkafka.Actor{
|
||||
Type: "admin",
|
||||
ID: strconv.FormatInt(contexts.GetUserId(ctx), 10),
|
||||
},
|
||||
CreatedBy: contexts.GetUserId(ctx),
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user