diff --git a/model/gmodel/ldap_group_gen.go b/model/gmodel/ldap_group_gen.go index df2c8674..78ebcccf 100644 --- a/model/gmodel/ldap_group_gen.go +++ b/model/gmodel/ldap_group_gen.go @@ -8,6 +8,7 @@ import ( // ldap_group 权限组表 type LdapGroup struct { Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // + Type *string `gorm:"default:'';" json:"type"` // Name *string `gorm:"default:'';" json:"name"` // Keyword *string `gorm:"default:'';" json:"keyword"` // Remark *string `gorm:"default:'';" json:"remark"` // @@ -16,7 +17,6 @@ type LdapGroup struct { Metadata *[]byte `gorm:"default:'';" json:"metadata"` // Ctime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ctime"` // Utime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"utime"` // - Type *string `gorm:"default:'';" json:"type"` // 类型:people=个人 } type LdapGroupModel struct { db *gorm.DB diff --git a/model/gmodel/ldap_user_group_gen.go b/model/gmodel/ldap_user_group_gen.go deleted file mode 100644 index 7706b4b1..00000000 --- a/model/gmodel/ldap_user_group_gen.go +++ /dev/null @@ -1,19 +0,0 @@ -package gmodel - -import ( - "gorm.io/gorm" -) - -// ldap_user_group 用户权限分组表 -type LdapUserGroup struct { - GroupId *int64 `gorm:"default:0;" json:"group_id"` // - UserId *int64 `gorm:"default:0;" json:"user_id"` // -} -type LdapUserGroupModel struct { - db *gorm.DB - name string -} - -func NewLdapUserGroupModel(db *gorm.DB) *LdapUserGroupModel { - return &LdapUserGroupModel{db: db, name: "ldap_user_group"} -} diff --git a/model/gmodel/ldap_user_group_logic.go b/model/gmodel/ldap_user_group_logic.go deleted file mode 100644 index e68225aa..00000000 --- a/model/gmodel/ldap_user_group_logic.go +++ /dev/null @@ -1,2 +0,0 @@ -package gmodel -// TODO: 使用model的属性做你想做的 \ No newline at end of file diff --git a/model/gmodel/ldap_user_logic.go b/model/gmodel/ldap_user_logic.go index f99b2b48..10a30af2 100644 --- a/model/gmodel/ldap_user_logic.go +++ b/model/gmodel/ldap_user_logic.go @@ -10,6 +10,10 @@ func (u *LdapUserModel) Update(ctx context.Context, userDN string, data *LdapUse return u.db.WithContext(ctx).Model(&LdapUser{}).Where("user_dn = ?", userDN).Updates(&data).Error } +func (u *LdapUserModel) UpdateById(ctx context.Context, id int64, data *LdapUser) error { + return u.db.WithContext(ctx).Model(&LdapUser{}).Where("id = ?", id).Updates(&data).Error +} + func (u *LdapUserModel) Delete(ctx context.Context, id int64) error { return u.db.WithContext(ctx).Model(&LdapUser{}).Where("id = ?", id).Delete(&LdapUser{}).Error } diff --git a/model/gmodel/var_gen.go b/model/gmodel/var_gen.go index 9b08274a..e1175dc0 100644 --- a/model/gmodel/var_gen.go +++ b/model/gmodel/var_gen.go @@ -113,7 +113,6 @@ type AllModelsGen struct { LdapGroup *LdapGroupModel // ldap_group 权限组表 LdapMenus *LdapMenusModel // ldap_menus 菜单表 LdapUser *LdapUserModel // ldap_user ldap_用户id递增表 - LdapUserGroup *LdapUserGroupModel // ldap_user_group 用户权限分组表 } @@ -228,7 +227,6 @@ func NewAllModels(gdb *gorm.DB) *AllModelsGen { LdapGroup: NewLdapGroupModel(gdb), LdapMenus: NewLdapMenusModel(gdb), LdapUser: NewLdapUserModel(gdb), - LdapUserGroup: NewLdapUserGroupModel(gdb), } return models } diff --git a/server/ldap-admin/internal/logic/deleteldapgrouplogic.go b/server/ldap-admin/internal/logic/deleteldapgrouplogic.go index 71ac32a7..5f35ab91 100644 --- a/server/ldap-admin/internal/logic/deleteldapgrouplogic.go +++ b/server/ldap-admin/internal/logic/deleteldapgrouplogic.go @@ -51,10 +51,6 @@ func (l *DeleteLdapGroupLogic) DeleteLdapGroup(req *types.DeleteLdapGroupReq, us if resLdapGroupDel.Error != nil { return resLdapGroupDel.Error } - resLdapUserGroupDel := tx.Where("group_id IN ?", req.Ids).Delete(&gmodel.LdapUserGroup{}) - if resLdapUserGroupDel.Error != nil { - return resLdapUserGroupDel.Error - } return nil }) if txErr != nil { diff --git a/server/ldap-admin/internal/logic/saveldapgrouplogic.go b/server/ldap-admin/internal/logic/saveldapgrouplogic.go index 6edf9833..bfecbb9f 100644 --- a/server/ldap-admin/internal/logic/saveldapgrouplogic.go +++ b/server/ldap-admin/internal/logic/saveldapgrouplogic.go @@ -52,6 +52,9 @@ func (l *SaveLdapGroupLogic) SaveLdapGroup(req *types.SaveLdapGroupReq, userinfo if req.Name != "" { updateMap["name"] = req.Name } + if req.Type != "" { + updateMap["type"] = req.Type + } if req.Keyword != "" { updateMap["keyword"] = req.Keyword } @@ -67,6 +70,7 @@ func (l *SaveLdapGroupLogic) SaveLdapGroup(req *types.SaveLdapGroupReq, userinfo err1 = l.svcCtx.AllModels.LdapGroup.UpdateOne(l.ctx, resOne, updateMap) } else { err1 = l.svcCtx.AllModels.LdapGroup.InsertOne(l.ctx, gmodel.LdapGroup{ + Type: &req.Type, Name: &req.Name, Keyword: &req.Keyword, Remark: &req.Remark, diff --git a/server/ldap-admin/internal/logic/setldapgroupuserlogic.go b/server/ldap-admin/internal/logic/setldapgroupuserlogic.go index 9fd53de1..dc66c08f 100644 --- a/server/ldap-admin/internal/logic/setldapgroupuserlogic.go +++ b/server/ldap-admin/internal/logic/setldapgroupuserlogic.go @@ -36,7 +36,7 @@ func NewSetLdapGroupUserLogic(ctx context.Context, svcCtx *svc.ServiceContext) * func (l *SetLdapGroupUserLogic) SetLdapGroupUser(req *types.SetLdapGroupUserReq, userinfo *auth.UserInfo) (resp *basic.Response) { // 返回值必须调用Set重新返回, resp可以空指针调用 resp.SetStatus(basic.CodeOK, data) // userinfo 传入值时, 一定不为null - resLdapGroupInfo, err := l.svcCtx.AllModels.LdapGroup.FindOneById(l.ctx, req.GroupId) + _, err := l.svcCtx.AllModels.LdapGroup.FindOneById(l.ctx, req.GroupId) if err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { basic.CodeServiceErr.Message = "权限组记录不存在" @@ -45,11 +45,10 @@ func (l *SetLdapGroupUserLogic) SetLdapGroupUser(req *types.SetLdapGroupUserReq, } return resp.SetStatus(basic.CodeServiceErr) } - resCreateInBatches := l.svcCtx.MysqlConn.WithContext(l.ctx).Create(gmodel.LdapUserGroup{ - GroupId: &resLdapGroupInfo.Id, - UserId: &req.UserId, + err = l.svcCtx.AllModels.LdapUser.UpdateById(l.ctx, req.UserId, &gmodel.LdapUser{ + GroupId: &req.GroupId, }) - if resCreateInBatches.Error != nil { + if err != nil { basic.CodeServiceErr.Message = "系统出错" return resp.SetStatus(basic.CodeServiceErr) } diff --git a/server/ldap-admin/internal/types/types.go b/server/ldap-admin/internal/types/types.go index 067ebf37..8a119fe8 100644 --- a/server/ldap-admin/internal/types/types.go +++ b/server/ldap-admin/internal/types/types.go @@ -33,6 +33,7 @@ type GetLdapGroupsReq struct { type SaveLdapGroupReq struct { Id int64 `json:"id"` //id + Type string `json:"type"` //类型 Name string `json:"name"` //名称 Keyword string `json:"keyword"` //关键词 Remark string `json:"remark"` // 备注 diff --git a/server_api/ldap-admin.api b/server_api/ldap-admin.api index 9961e3c2..8e5c3dfd 100644 --- a/server_api/ldap-admin.api +++ b/server_api/ldap-admin.api @@ -126,6 +126,7 @@ type ( } SaveLdapGroupReq { Id int64 `json:"id"` //id + Type string `json:"type"` //类型 Name string `json:"name"` //名称 Keyword string `json:"keyword"` //关键词 Remark string `json:"remark"` // 备注