xingzai 2 anni fa
parent
commit
1e11c0d1f5

+ 29 - 0
controllers/activity.go

@@ -358,6 +358,17 @@ func (this *ActivityController) ActivityListNew() {
 		activityList = append(activityList, services.ActivityButtonShow(list[k], user))
 	}
 
+	//处理不同的报名方式按钮回显
+	mapActivitySignup, err := services.GetActivitySignupResp(mapActivityId, user)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "GetActivitySignupResp,Err:" + err.Error()
+		return
+	}
+	for _, v := range activityList {
+		v.SignupType = mapActivitySignup[v.ActivityId]
+	}
+
 	// 查研观向7.4-判断标签是否为产业, 为产业时是否跳转资源包
 	if label != "" {
 		industry, e := models.GetIndustryByName(label)
@@ -566,6 +577,15 @@ func (this *ActivityController) Detail() {
 			detailResp.VideoDetail = mapActivityVideo[activityId]
 		}
 
+		//处理不同的报名方式按钮回显
+		mapActivitySignup, err := services.GetActivitySignupResp(mapActivityId, user)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "GetActivitySignupResp,Err:" + err.Error()
+			return
+		}
+		detailResp.SignupType = mapActivitySignup[activityId]
+
 		resp.Detail = detailResp
 	} else {
 		hasPermission, sellerName, sellerMobile, popupMsg, err := services.GetUserHasPermission(user)
@@ -1651,6 +1671,7 @@ func (this *ActivityController) ActivityListSearch() {
 		item.Title = v.ActivityName
 		item.City = v.City
 		item.IsSignup = v.IsSignup
+		item.SignupType = v.SignupType
 		item.IsCancelMeetingReminder = v.IsCancelMeetingReminder
 		item.IsAppointment = v.IsAppointment
 		item.ActiveState = v.ActiveState
@@ -1937,6 +1958,13 @@ func (this *ActivityController) ScheduleList() {
 		br.ErrMsg = "GetActivityVideoResp,Err:" + err.Error()
 		return
 	}
+	//处理不同的报名方式按钮回显
+	mapActivitySignup, err := services.GetActivitySignupResp(mapActivityId, user)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "GetActivitySignupResp,Err:" + err.Error()
+		return
+	}
 	for k, v := range list {
 		if mapActivityVoice[v.ActivityId] != nil {
 			list[k].FileType = 1
@@ -1948,6 +1976,7 @@ func (this *ActivityController) ScheduleList() {
 			list[k].AudioLink = true
 			list[k].VideoDetail = mapActivityVideo[v.ActivityId]
 		}
+		v.SignupType = mapActivitySignup[v.ActivityId]
 		//处理列表的标签是否展示逻辑
 		resp.List = append(resp.List, services.ActivityButtonShow(v, user))
 	}

+ 1 - 0
models/activity.go

@@ -206,6 +206,7 @@ type ActivityListResp struct {
 	IsTrip                  int                        `description:"是否报名 1是 ,0 否"`
 	TripStatus              int                        `description:"行程进行状态 1:预报名,2:确定行程"`
 	Days                    int                        `description:"调研天数"`
+	SignupType              int                        `description:"报名方式,1预约外呼,2自主拨入,3我要报名"`
 }
 
 type ActivityArticleResp struct {

+ 3 - 2
models/resource_data.go

@@ -60,6 +60,7 @@ type CygxResourceDataResp struct {
 	VideoDetail             *CygxActivityVideoListResp `description:"视频数据"`
 	AudioLink               bool                       `description:"是否展示回放按钮"`
 	FileType                int                        `description:"类型: 1-音频; 2-视频"`
+	SignupType              int                        `description:"报名方式,1预约外呼,2自主拨入,3我要报名"`
 }
 
 type HomeResourceDataListResp struct {
@@ -67,7 +68,7 @@ type HomeResourceDataListResp struct {
 	List   []*CygxResourceDataResp `description:"列表"`
 }
 
-//列表
+// 列表
 func GetResourceDataList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxResourceData, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT	 *   FROM cygx_resource_data  WHERE 1= 1 `
@@ -79,7 +80,7 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 	return
 }
 
-//获取用户报名成功数量
+// 获取用户报名成功数量
 func GetResourceDataCount(condition string, pars []interface{}) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_resource_data    WHERE 1= 1 ` + condition
 	o := orm.NewOrm()

+ 1 - 0
services/activity.go

@@ -543,6 +543,7 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem) (i
 		Explain:                 utils.ACtIVITY_SPECIAL_EXPLAIN,
 		TripImgLink:             v.TripImgLink,
 		Days:                    v.Days,
+		SignupType:              v.SignupType,
 	}
 	au := new(models.UserPermissionAuthInfo)
 	au.SellerName = authInfo.SellerName

+ 26 - 14
services/activity_button.go

@@ -9,7 +9,7 @@ import (
 	"time"
 )
 
-//获取用户已经报名的活动
+// 获取用户已经报名的活动
 func GetActivitySignUpUserMap(activityIds []int, user *models.WxUserItem) (mapUserId map[int]int, err error) {
 	userId := user.UserId
 	var condition string
@@ -34,7 +34,7 @@ func GetActivitySignUpUserMap(activityIds []int, user *models.WxUserItem) (mapUs
 	return
 }
 
-//获取用户已经设置会议提醒的活动  cygx_activity_meeting_reminder
+// 获取用户已经设置会议提醒的活动  cygx_activity_meeting_reminder
 func GetActivityReminderUserMasp(activityIds []int, user *models.WxUserItem) (mapUserId map[int]int, err error) {
 	userId := user.UserId
 	var condition string
@@ -59,7 +59,7 @@ func GetActivityReminderUserMasp(activityIds []int, user *models.WxUserItem) (ma
 	return
 }
 
-//获取用户已经预约纪要的活动
+// 获取用户已经预约纪要的活动
 func GetActivityAppointmentUserMap(activityIds []int, user *models.WxUserItem) (mapUserId map[int]int, err error) {
 	userId := user.UserId
 	var condition string
@@ -84,7 +84,7 @@ func GetActivityAppointmentUserMap(activityIds []int, user *models.WxUserItem) (
 	return
 }
 
-//活动列表的展示  HandleActivityListButton
+// 活动列表的展示  HandleActivityListButton
 func HandleActivityListButton(list []*models.ActivityDetail, user *models.WxUserItem) (items []*models.ActivityDetail, err error) {
 	var activityIds []int
 	var activitySpecilalIds []int
@@ -254,6 +254,13 @@ func HandleActivityListButton(list []*models.ActivityDetail, user *models.WxUser
 		return
 	}
 
+	//处理不同的报名方式按钮回显
+	mapActivitySignup, e := GetActivitySignupResp(mapActivityId, user)
+	if e != nil {
+		err = errors.New("GetActivityVoiceResp, Err: " + e.Error())
+		return
+	}
+
 	//处理视频回放
 	mapActivityVideo, e := GetActivityVideoResp(mapActivityId)
 	if e != nil {
@@ -271,6 +278,7 @@ func HandleActivityListButton(list []*models.ActivityDetail, user *models.WxUser
 			list[k].AudioLink = true
 			list[k].VideoDetail = mapActivityVideo[v.ActivityId]
 		}
+		v.SignupType = mapActivitySignup[v.ActivityId]
 		items = append(items, ActivityButtonShowSearch(v, user))
 	}
 	return
@@ -313,25 +321,28 @@ func ActivityButtonShowSearch(item *models.ActivityDetail, user *models.WxUserIt
 			articleDetail.IsShowHelpSsk = true
 		}
 		if articleDetail.ActiveState == "1" {
-			//新的是否展示规则
-			if articleDetail.IsCanAppointmentMinutes == 1 {
-				articleDetail.IsShowAppointment = true
-			}
 			//专家电话会 1
+			//专家电话会限制人数的展示我要报名,不限制的展示预约外外呼
 			if articleDetail.ActivityTypeId == 1 {
-				articleDetail.IsShowOutboundCall = true
-				if articleDetail.IsLimitPeople == 0 {
-					articleDetail.IsShowMeetingReminder = true
-					articleDetail.IsShowHelpSsk = true
+				//articleDetail.IsShowOutboundCall = true
+				if articleDetail.LimitPeopleNum == 0 {
+					articleDetail.IsShowOutboundCall = true
+					//articleDetail.IsShowHelpSsk = true
+				} else {
+					articleDetail.IsShowSignup = true
 				}
+				articleDetail.IsShowMeetingReminder = true
+				articleDetail.IsShowHelpSsk = true
 			}
 
 			//分析师电话会 2
 			if articleDetail.ActivityTypeId == 2 {
-				articleDetail.IsShowOutboundCall = true
 				if articleDetail.LimitPeopleNum == 0 {
-					articleDetail.IsShowMeetingReminder = true
+					articleDetail.IsShowOutboundCall = true
+				} else {
+					articleDetail.IsShowSignup = true
 				}
+				articleDetail.IsShowMeetingReminder = true
 			}
 
 			//公司调研电话会 3
@@ -362,6 +373,7 @@ func ActivityButtonShowSearch(item *models.ActivityDetail, user *models.WxUserIt
 			//分析师电话会(C类) 7
 			if articleDetail.ActivityTypeId == 7 {
 				articleDetail.IsShowSignup = true
+				articleDetail.IsShowMeetingReminder = true
 			}
 		}
 	}

+ 11 - 1
services/resource_data.go

@@ -134,6 +134,16 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 		for _, v := range activityList {
 			activityListRersp = append(activityListRersp, ActivityButtonShow(v, user))
 		}
+		//处理不同的报名方式按钮回显
+		mapActivitySignup, e := GetActivitySignupResp(activityIds, user)
+		if e != nil {
+			err = errors.New("GetActivitySignupResp, Err: " + e.Error())
+			return
+		}
+		for _, v := range activityList {
+			v.SignupType = mapActivitySignup[v.ActivityId]
+		}
+
 		for _, v := range activityListRersp {
 			if v == nil {
 				continue
@@ -149,7 +159,6 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 					imgUrlResp = mapChart[v.ChartPermissionName]
 				}
 			}
-
 			mapItems[fmt.Sprint("activity", v.ActivityId)].Title = v.ActivityName
 			mapItems[fmt.Sprint("activity", v.ActivityId)].City = v.City
 			mapItems[fmt.Sprint("activity", v.ActivityId)].IsSignup = v.IsSignup
@@ -169,6 +178,7 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 			mapItems[fmt.Sprint("activity", v.ActivityId)].Speaker = v.Speaker
 			mapItems[fmt.Sprint("activity", v.ActivityId)].YidongActivityUrl = v.YidongActivityUrl
 			mapItems[fmt.Sprint("activity", v.ActivityId)].ImgUrl = imgUrlResp
+			mapItems[fmt.Sprint("activity", v.ActivityId)].SignupType = v.SignupType
 		}
 	}