fix: 拆分商户新增和编辑权限

This commit is contained in:
richjohnrambo
2026-09-20 17:08:50 +08:00
parent 8675fe333d
commit e5ab79c40d
8 changed files with 76 additions and 15 deletions
+28 -1
View File
@@ -163,12 +163,39 @@ func (s *sSysImTenant) fillListConfig(ctx context.Context, list []*sysin.ImTenan
return
}
// Edit 修改/新增IM租户
// Add 新增IM租户
func (s *sSysImTenant) Add(ctx context.Context, in *sysin.ImTenantEditInp) (err error) {
if err = in.Filter(ctx); err != nil {
return
}
if !isImPlatformAdmin(ctx, contexts.GetUserId(ctx)) {
return gerror.New("只有平台管理员可以新增商户")
}
in.Id = 0
return s.saveTenant(ctx, in)
}
// Edit 修改IM租户
func (s *sSysImTenant) Edit(ctx context.Context, in *sysin.ImTenantEditInp) (err error) {
if err = in.Filter(ctx); err != nil {
return
}
if in.Id <= 0 {
return gerror.New("商户ID不能为空")
}
if !isImPlatformAdmin(ctx, contexts.GetUserId(ctx)) {
tenantId := contexts.GetTenantId(ctx)
if tenantId <= 0 {
return gerror.New("当前管理员未关联IM租户")
}
if in.Id != tenantId {
return gerror.New("无权编辑其它商户")
}
}
return s.saveTenant(ctx, in)
}
func (s *sSysImTenant) saveTenant(ctx context.Context, in *sysin.ImTenantEditInp) (err error) {
tenantID := in.Id
err = imtenant.RegistryDB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) {
if err = s.checkCodeUnique(ctx, in.Id, in.Code); err != nil {