user_post.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // ============================================================================
  2. // This is auto-generated by gf cli tool only once. Fill this file as you wish.
  3. // ============================================================================
  4. package user_post
  5. import (
  6. "gfast/app/model/admin/sys_post"
  7. "github.com/gogf/gf/errors/gerror"
  8. "github.com/gogf/gf/frame/g"
  9. )
  10. //删除对应用户的岗位信息
  11. func DeleteByUserId(userId int64) error {
  12. _, err := Model.Delete(Columns.UserId, userId)
  13. return err
  14. }
  15. //添加用户岗位
  16. func AddUserPost(postIds []int64, userId int64) (err error) {
  17. data := g.List{}
  18. for _, v := range postIds {
  19. data = append(data, g.Map{
  20. Columns.UserId: userId,
  21. Columns.PostId: v,
  22. })
  23. }
  24. _, err = Model.Data(data).Insert()
  25. return
  26. }
  27. //获取用户岗位
  28. func GetAdminPosts(userId uint64) (postIds []int64, err error) {
  29. list, e := Model.All(Columns.UserId, userId)
  30. if e != nil {
  31. g.Log().Error(e)
  32. err = gerror.New("获取用户岗位信息失败")
  33. return
  34. }
  35. for _, entity := range list {
  36. postIds = append(postIds, entity.PostId)
  37. }
  38. return
  39. }
  40. //根据用户id获取岗位信息详情
  41. func GetPostsByUserId(userId uint64) ([]*sys_post.Entity, error) {
  42. model := g.DB().Table(Table)
  43. datas := ([]*sys_post.Entity)(nil)
  44. err := model.As("a").InnerJoin("sys_post b", "a.post_id = b.post_id").Fields("b.*").Where(Columns.UserId, userId).Structs(&datas)
  45. if err != nil {
  46. return nil, err
  47. }
  48. return datas, nil
  49. }