package services import ( "errors" "hongze/hongze_yb/models/response" admin2 "hongze/hongze_yb/models/tables/admin" "hongze/hongze_yb/models/tables/sys_role_admin" "hongze/hongze_yb/models/tables/voice_broadcast" "hongze/hongze_yb/services/user" "hongze/hongze_yb/utils" ) func GetVoiceBroadcastList(pageindex, pagesize, broadcastId int, userInfo user.UserInfo) (list []response.BroadCast, err error){ if broadcastId == 0 { broadList, e := voice_broadcast.GetBroadcastByCondition(pageindex, pagesize) if e != nil { e = errors.New("获取语音播报列表失败 Err:" + e.Error()) } for _, item := range broadList { var respItem response.BroadCast respItem = response.BroadCast{ BroadcastId: item.BroadcastId, BroadcastName: item.BroadcastName, SectionId: item.SectionId, SectionName: item.SectionName, VarietyId: item.VarietyId, VarietyName: item.VarietyName, AuthorId: item.AuthorId, Author: item.Author, CreateTime: item.CreateTime, } if int(userInfo.UserID) == item.AuthorId{ respItem.IsAuthor = true } list = append(list, respItem) } err = e return }else { broadList, e := voice_broadcast.GetBroadcastById(pageindex, pagesize, broadcastId) if e != nil { e = errors.New("获取语音播报列表失败 Err:" + e.Error()) } for _, item := range broadList { var respItem response.BroadCast respItem = response.BroadCast{ BroadcastId: item.BroadcastId, BroadcastName: item.BroadcastName, SectionId: item.SectionId, SectionName: item.SectionName, VarietyId: item.VarietyId, VarietyName: item.VarietyName, AuthorId: item.AuthorId, Author: item.Author, CreateTime: item.CreateTime, } if int(userInfo.UserID) == item.AuthorId{ respItem.IsAuthor = true } list = append(list, respItem) } err = e return } } // GetVoiceAdminByUserInfo 判断当前用户是否为语音管理员 func GetVoiceAdminByUserInfo(userInfo user.UserInfo) (ok bool, adminInfo *admin2.Admin, err error) { mobile := userInfo.Mobile var email string if mobile == "" { // 用户有可能是通过邮箱登录 email = userInfo.Email if email == "" { return } } if userInfo.CompanyID != 16 { return } if mobile != "" { adminInfo, err = admin2.GetAdminByMobile(mobile) if err != nil { if err == utils.ErrNoRow { err = nil return } return } } else { adminInfo, err = admin2.GetAdminByEmail(email) if err != nil { if err == utils.ErrNoRow { err = nil return } return } } if adminInfo.Enabled != 1 { return } _,err = sys_role_admin.GetVoiceAdmin(int(adminInfo.AdminID)) if err != nil && err != utils.ErrNoRow{ return } ok = true return }