user_role_dao.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package dao
  2. import (
  3. "ulink-admin/frame"
  4. "ulink-admin/modules/system/models/model"
  5. "ulink-admin/modules/system/models/req"
  6. "ulink-admin/pkg/base"
  7. "xorm.io/xorm"
  8. )
  9. type UserRoleDao struct {
  10. }
  11. // BatchUserRole 批量新增用户角色信息
  12. func (d UserRoleDao) BatchUserRole(roles []model.SysUserRole) {
  13. session := base.GetSession().Session
  14. _, err := session.Table(model.SysUserRole{}.TableName()).Insert(&roles)
  15. if err != nil {
  16. frame.Throw(frame.SQL_CODE, "插入数据失败"+err.Error())
  17. }
  18. }
  19. // RemoveUserRole 删除用户和角色关系
  20. func (d UserRoleDao) RemoveUserRole(id int64) {
  21. role := model.SysUserRole{
  22. UserId: id,
  23. }
  24. session := base.GetSession().Session
  25. _, err := session.Delete(&role)
  26. if err != nil {
  27. frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error())
  28. }
  29. }
  30. // DeleteAuthUser 取消用户授权
  31. func (d UserRoleDao) DeleteAuthUser(role *model.SysUserRole) {
  32. session := base.GetSession().Session
  33. _, err := session.Delete(role)
  34. if err != nil {
  35. frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error())
  36. }
  37. }
  38. // BatchCancelAuthUsers 批量取消用户授权
  39. func (d UserRoleDao) BatchCancelAuthUsers(body *req.UserRoleBody) {
  40. ids := body.UserIds
  41. roles := make([]model.SysUserRole, 0)
  42. for i := 0; i < len(ids); i++ {
  43. role := model.SysUserRole{
  44. RoleId: body.Id,
  45. UserId: ids[i],
  46. }
  47. roles = append(roles, role)
  48. }
  49. session := base.GetSession().Session
  50. _, err := session.Delete(&roles)
  51. if err != nil {
  52. frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error())
  53. }
  54. }
  55. // InsertAuthUsers 批量选择用户授权
  56. func (d UserRoleDao) InsertAuthUsers(body *req.UserRoleBody) {
  57. ids := body.UserIds
  58. roles := make([]model.SysUserRole, 0)
  59. for i := 0; i < len(ids); i++ {
  60. role := model.SysUserRole{
  61. RoleId: body.Id,
  62. UserId: ids[i],
  63. }
  64. roles = append(roles, role)
  65. }
  66. session := base.GetSession().Session
  67. _, err := session.Insert(&roles)
  68. if err != nil {
  69. frame.Throw(frame.SQL_CODE, "删除数据失败"+err.Error())
  70. }
  71. }
  72. func (d UserRoleDao) UpdateAuthRole(userId int64, roles []model.SysUserRole) {
  73. base.Transaction(func(session *xorm.Session) {
  74. role := model.SysUserRole{
  75. UserId: userId,
  76. }
  77. _, err := session.Delete(&role)
  78. if err != nil {
  79. frame.Throw(frame.SQL_CODE, "删除角色失败"+err.Error())
  80. }
  81. _, eorr := session.Table(model.SysUserRole{}.TableName()).Insert(&roles)
  82. if eorr != nil {
  83. frame.Throw(frame.SQL_CODE, "插入数据失败"+err.Error())
  84. }
  85. })
  86. }