|
@@ -0,0 +1,116 @@
|
|
|
+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
|
|
|
+}
|