userRelate.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package userRelate
  2. import (
  3. "errors"
  4. "github.com/baiy/Cadmin-server-go/models"
  5. "github.com/doug-martin/goqu/v9"
  6. )
  7. type Model struct {
  8. models.Model
  9. AdminUserId int `json:"admin_user_id"`
  10. AdminUserGroupId int `json:"admin_user_group_id"`
  11. }
  12. func GroupIds(userIds []int) []int {
  13. ids := make([]int, 0)
  14. _ = models.Db.From("admin_user_relate").Select("admin_user_group_id").Where(goqu.Ex{
  15. "admin_user_id": userIds,
  16. }).ScanVals(&ids)
  17. return ids
  18. }
  19. func UserIds(groupIds []int) []int {
  20. ids := make([]int, 0)
  21. _ = models.Db.From("admin_user_relate").Select("admin_user_id").Where(goqu.Ex{
  22. "admin_user_group_id": groupIds,
  23. }).ScanVals(&ids)
  24. return ids
  25. }
  26. func Add(groupId, userId int) error {
  27. _, err := models.Db.Insert("admin_user_relate").Rows(
  28. goqu.Record{"admin_user_id": userId, "admin_user_group_id": groupId},
  29. ).Executor().Exec()
  30. return err
  31. }
  32. func Remove(groupId, userId int) error {
  33. if groupId == 0 && userId == 0 {
  34. return errors.New("参数错误")
  35. }
  36. where := make(goqu.Ex)
  37. if groupId != 0 {
  38. where["admin_user_group_id"] = groupId
  39. }
  40. if userId != 0 {
  41. where["admin_user_id"] = userId
  42. }
  43. _, err := models.Db.Delete("admin_user_relate").Where(where).Executor().Exec()
  44. return err
  45. }