package dao import ( "ulink-admin/frame" "ulink-admin/modules/system/models/model" "ulink-admin/modules/system/models/req" "ulink-admin/pkg/base" "xorm.io/xorm" ) type UserRoleDao struct { } // BatchUserRole 批量新增用户角色信息 func (d UserRoleDao) BatchUserRole(roles []model.SysUserRole) { session := base.GetSession().Session _, err := session.Table(model.SysUserRole{}.TableName()).Insert(&roles) if err != nil { frame.Throw(frame.SQL_CODE, "插入数据失败"+err.Error()) } } // RemoveUserRole 删除用户和角色关系 func (d UserRoleDao) RemoveUserRole(id int64) { role := model.SysUserRole{ UserId: id, } session := base.GetSession().Session _, err := session.Delete(&role) if err != nil { frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error()) } } // DeleteAuthUser 取消用户授权 func (d UserRoleDao) DeleteAuthUser(role *model.SysUserRole) { session := base.GetSession().Session _, err := session.Delete(role) if err != nil { frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error()) } } // BatchCancelAuthUsers 批量取消用户授权 func (d UserRoleDao) BatchCancelAuthUsers(body *req.UserRoleBody) { ids := body.UserIds roles := make([]model.SysUserRole, 0) for i := 0; i < len(ids); i++ { role := model.SysUserRole{ RoleId: body.Id, UserId: ids[i], } roles = append(roles, role) } session := base.GetSession().Session _, err := session.Delete(&roles) if err != nil { frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error()) } } // InsertAuthUsers 批量选择用户授权 func (d UserRoleDao) InsertAuthUsers(body *req.UserRoleBody) { ids := body.UserIds roles := make([]model.SysUserRole, 0) for i := 0; i < len(ids); i++ { role := model.SysUserRole{ RoleId: body.Id, UserId: ids[i], } roles = append(roles, role) } session := base.GetSession().Session _, err := session.Insert(&roles) if err != nil { frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error()) } } func (d UserRoleDao) UpdateAuthRole(userId int64, roles []model.SysUserRole) { base.Transaction(func(session *xorm.Session) { role := model.SysUserRole{ UserId: userId, } _, err := session.Delete(&role) if err != nil { frame.Throw(frame.SQL_CODE, "删除角色失败"+err.Error()) } _, eorr := session.Table(model.SysUserRole{}.TableName()).Insert(&roles) if eorr != nil { frame.Throw(frame.SQL_CODE, "插入数据失败"+err.Error()) } }) }