voice_broadcast.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package services
  2. import (
  3. "errors"
  4. "hongze/hongze_yb/models/response"
  5. admin2 "hongze/hongze_yb/models/tables/admin"
  6. "hongze/hongze_yb/models/tables/sys_role_admin"
  7. "hongze/hongze_yb/models/tables/voice_broadcast"
  8. "hongze/hongze_yb/services/user"
  9. "hongze/hongze_yb/utils"
  10. )
  11. func GetVoiceBroadcastList(pageindex, pagesize, broadcastId int, userInfo user.UserInfo) (list []response.BroadCast, err error){
  12. if broadcastId == 0 {
  13. broadList, e := voice_broadcast.GetBroadcastByCondition(pageindex, pagesize)
  14. if e != nil {
  15. e = errors.New("获取语音播报列表失败 Err:" + e.Error())
  16. }
  17. for _, item := range broadList {
  18. var respItem response.BroadCast
  19. respItem = response.BroadCast{
  20. BroadcastId: item.BroadcastId,
  21. BroadcastName: item.BroadcastName,
  22. SectionId: item.SectionId,
  23. SectionName: item.SectionName,
  24. VarietyId: item.VarietyId,
  25. VarietyName: item.VarietyName,
  26. AuthorId: item.AuthorId,
  27. Author: item.Author,
  28. CreateTime: item.CreateTime,
  29. }
  30. if int(userInfo.UserID) == item.AuthorId{
  31. respItem.IsAuthor = true
  32. }
  33. list = append(list, respItem)
  34. }
  35. err = e
  36. return
  37. }else {
  38. broadList, e := voice_broadcast.GetBroadcastById(pageindex, pagesize, broadcastId)
  39. if e != nil {
  40. e = errors.New("获取语音播报列表失败 Err:" + e.Error())
  41. }
  42. for _, item := range broadList {
  43. var respItem response.BroadCast
  44. respItem = response.BroadCast{
  45. BroadcastId: item.BroadcastId,
  46. BroadcastName: item.BroadcastName,
  47. SectionId: item.SectionId,
  48. SectionName: item.SectionName,
  49. VarietyId: item.VarietyId,
  50. VarietyName: item.VarietyName,
  51. AuthorId: item.AuthorId,
  52. Author: item.Author,
  53. CreateTime: item.CreateTime,
  54. }
  55. if int(userInfo.UserID) == item.AuthorId{
  56. respItem.IsAuthor = true
  57. }
  58. list = append(list, respItem)
  59. }
  60. err = e
  61. return
  62. }
  63. }
  64. // GetVoiceAdminByUserInfo 判断当前用户是否为语音管理员
  65. func GetVoiceAdminByUserInfo(userInfo user.UserInfo) (ok bool, adminInfo *admin2.Admin, err error) {
  66. mobile := userInfo.Mobile
  67. var email string
  68. if mobile == "" {
  69. // 用户有可能是通过邮箱登录
  70. email = userInfo.Email
  71. if email == "" {
  72. return
  73. }
  74. }
  75. if userInfo.CompanyID != 16 {
  76. return
  77. }
  78. if mobile != "" {
  79. adminInfo, err = admin2.GetAdminByMobile(mobile)
  80. if err != nil {
  81. if err == utils.ErrNoRow {
  82. err = nil
  83. return
  84. }
  85. return
  86. }
  87. } else {
  88. adminInfo, err = admin2.GetAdminByEmail(email)
  89. if err != nil {
  90. if err == utils.ErrNoRow {
  91. err = nil
  92. return
  93. }
  94. return
  95. }
  96. }
  97. if adminInfo.Enabled != 1 {
  98. return
  99. }
  100. _,err = sys_role_admin.GetVoiceAdmin(int(adminInfo.AdminID))
  101. if err != nil && err != utils.ErrNoRow{
  102. return
  103. }
  104. ok = true
  105. return
  106. }