Browse Source

查研观向9.4

xingzai 2 years ago
parent
commit
a810797af8

+ 26 - 1
controllers/activity.go

@@ -540,6 +540,7 @@ func (this *ActivityCoAntroller) ScheduleList() {
 		imgUrlChart = vslice[len(vslice)-1]
 		mapChart[chartName] = imgUrlChart
 	}
+
 	for k, v := range list {
 		if strings.Contains(v.ActivityName, "【") {
 			list[k].IsBrackets = 1
@@ -604,6 +605,14 @@ func (this *ActivityCoAntroller) 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
@@ -615,6 +624,7 @@ func (this *ActivityCoAntroller) ScheduleList() {
 			list[k].AudioLink = true
 			list[k].VideoDetail = mapActivityVideo[v.ActivityId]
 		}
+		v.SignupType = mapActivitySignup[v.ActivityId]
 		//处理列表的标签是否展示逻辑
 		resp.List = append(resp.List, services.ActivityButtonShow(v))
 	}
@@ -1042,6 +1052,14 @@ func (this *ActivityCoAntroller) Detail() {
 		if strings.Contains(activityInfo.ChartPermissionName, "研选") {
 			activityInfo.IsShowSustainable = false
 		}
+		//处理不同的报名方式按钮回显
+		mapActivitySignup, err := services.GetActivitySignupResp(mapActivityId, user)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "GetActivitySignupResp,Err:" + err.Error()
+			return
+		}
+		activityInfo.SignupType = mapActivitySignup[activityId]
 		//处理按钮是否展示问题
 		resp.Detail = services.ActivityButtonShow(activityInfo)
 	}
@@ -2732,11 +2750,18 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 		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 _, v := range list {
 		if mapDingActivityId[v.ActivityId] == 0 {
 			activityList = append(activityList, v)
 		}
+		v.SignupType = mapActivitySignup[v.ActivityId]
 	}
 	for k, v := range activityList {
 		if mapActivityVoice[v.ActivityId] != nil {

+ 52 - 48
models/activity.go

@@ -9,7 +9,7 @@ import (
 	"time"
 )
 
-//活动详情
+// 活动详情
 type CygxActivity struct {
 	ActivityId              int       `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
 	ActivityTypeId          int       `description:"活动类型id"`
@@ -80,7 +80,7 @@ type ActivityIdRep struct {
 
 type ActivitySingnupRep struct {
 	ActivityId int `description:"活动id"`
-	SignupType int `description:"报名方式,1预约外呼,2我要报名"`
+	SignupType int `description:"报名方式,1预约外呼,2自主拨入,3我要报名"`
 }
 
 type ActivityCcustomerType struct {
@@ -92,7 +92,7 @@ type ActivityCcustomerTypeList struct {
 	List []*ActivityCcustomerType
 }
 
-//列表
+// 列表
 func GetActivityCcustomerTypeList() (items []*ActivityCcustomerType, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_customer_type ORDER BY sort DESC`
@@ -100,7 +100,7 @@ func GetActivityCcustomerTypeList() (items []*ActivityCcustomerType, err error)
 	return
 }
 
-//活动添加、修改入参
+// 活动添加、修改入参
 type ActivityRep struct {
 	ActivityTypeId    int    `description:"活动类型id"`
 	ChartPermissionId int    `description:"行业id"`
@@ -116,7 +116,7 @@ type ActivityArticleResp struct {
 	ArticleId  int    `description:"报告id(报告链接跳转使用)"`
 }
 
-//活动详情
+// 活动详情
 type ActivityDetail struct {
 	ActivityId              int                        `orm:"column(activity_id);pk";description:"活动ID "`
 	ActivityTypeId          int                        `description:"活动类型id"`
@@ -208,7 +208,7 @@ type CygxActivityResp struct {
 	Detail            *ActivityDetail
 }
 
-//通过纪要ID获取活动详情
+// 通过纪要ID获取活动详情
 func GetAddActivityInfoById(ActivityId int) (item *ActivityDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity  WHERE activity_id=? AND publish_status = 1 `
@@ -216,7 +216,7 @@ func GetAddActivityInfoById(ActivityId int) (item *ActivityDetail, err error) {
 	return
 }
 
-//通过活动名称获取活动详情
+// 通过活动名称获取活动详情
 func GetAddActivityInfoByTitle(title, startDate, endDate string) (item *ActivityDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity  WHERE  activity_time > '` + startDate + `' AND activity_time < '` + endDate + `' AND (activity_name_task LIKE '%` + title + `%' OR  jmcj_roadshow_title LIKE '%` + title + `%')   AND activity_id  NOT IN (1328)  LIMIT 1 `
@@ -224,7 +224,7 @@ func GetAddActivityInfoByTitle(title, startDate, endDate string) (item *Activity
 	return
 }
 
-//通过纪要ID获取活动详情
+// 通过纪要ID获取活动详情
 func GetAddActivityInfoByIdShow(uid, ActivityId int) (item *ActivityDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT *,( SELECT COUNT( 1 ) FROM cygx_activity_signup AS s WHERE s.activity_id = a.activity_id AND s.user_id = ?   AND s.is_cancel = 0  AND s.do_fail_type = 0) AS is_signup,
@@ -236,7 +236,7 @@ func GetAddActivityInfoByIdShow(uid, ActivityId int) (item *ActivityDetail, err
 	return
 }
 
-//活动列表
+// 活动列表
 type CygxActivityList struct {
 	ActivityId              int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
 	ActivityTypeId          int    `description:"活动类型id"`
@@ -282,7 +282,7 @@ type GetCygxActivityListRep struct {
 	IndustryNewLabel       bool   `description:"产业是否新标签"`
 }
 
-//列表
+// 列表
 func GetActivityListAll(condition string, pars []interface{}, uid, startSize, pageSize, playBack int) (items []*ActivityDetail, err error) {
 	var sqlJiontable string
 	if playBack == 1 {
@@ -305,7 +305,7 @@ func GetActivityListAll(condition string, pars []interface{}, uid, startSize, pa
 	return
 }
 
-//列表
+// 列表
 func GetActivityListByDateTime(startDate, endDate, activityIds, activityIdsLongTime string) (items []*CygxActivityList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity WHERE activity_time > '` + startDate + `' AND activity_time < '` + endDate + `' `
@@ -318,7 +318,7 @@ func GetActivityListByDateTime(startDate, endDate, activityIds, activityIdsLongT
 	return
 }
 
-//获取我的日程数量
+// 获取我的日程数量
 func GetSpecialScheduleCount(uid int) (count int, err error) {
 	o := orm.NewOrm()
 	sqlCount := `
@@ -331,7 +331,7 @@ SELECT COUNT( 1 ) AS count FROM
 	return
 }
 
-//获取数量
+// 获取数量
 func GetActivityCount(condition string, playBack int, pars []interface{}, filter int) (count int, err error) {
 	var sqlJiontable string
 	if playBack == 1 {
@@ -352,7 +352,7 @@ func GetActivityCount(condition string, playBack int, pars []interface{}, filter
 	return
 }
 
-//获取我的日程数量
+// 获取我的日程数量
 func GetScheduleCount(condition string, uid int) (count int, err error) {
 	o := orm.NewOrm()
 	sqlCount := `SELECT COUNT( 1 ) AS count 
@@ -367,7 +367,7 @@ func GetScheduleCount(condition string, uid int) (count int, err error) {
 	return
 }
 
-//我的日程列表
+// 我的日程列表
 func GetScheduleList(condition string, pars []interface{}, uid, startSize, pageSize int) (items []*ActivityDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT art.*,t.activity_type,t.img_url_text,c.image_url as  img_url,
@@ -388,7 +388,7 @@ func GetScheduleList(condition string, pars []interface{}, uid, startSize, pageS
 	return
 }
 
-//我的日程列表 活动以及专项调研一起
+// 我的日程列表 活动以及专项调研一起
 func GetScheduleAndSpecilList(condition string, pars []interface{}, conditionSpecil string, parsSpecil []interface{}, startSize, pageSize int) (items []*ActivityDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -408,6 +408,7 @@ func GetScheduleAndSpecilList(condition string, pars []interface{}, conditionSpe
 			art.is_can_appointment_minutes,
 			art.activity_type_id,
 			art.limit_people_num,
+			art.is_limit_people,
 			1 AS source_type,
 			art.activity_time, 
 			art.city
@@ -439,6 +440,7 @@ func GetScheduleAndSpecilList(condition string, pars []interface{}, conditionSpe
 			"",
 			"",
 			"",
+			"",
 			2 AS source_type,
 			art.activity_time,
 			""
@@ -455,7 +457,7 @@ func GetScheduleAndSpecilList(condition string, pars []interface{}, conditionSpe
 	return
 }
 
-//获取数量
+// 获取数量
 func GetActivityCountById(activityId int) (count int, err error) {
 	o := orm.NewOrm()
 	sqlCount := `SELECT COUNT(1) AS count  FROM cygx_activity WHERE activity_id = ?`
@@ -463,7 +465,7 @@ func GetActivityCountById(activityId int) (count int, err error) {
 	return
 }
 
-//删除数据
+// 删除数据
 func DeleteActivity(activityId int) (err error) {
 	o := orm.NewOrm()
 	sql := ` DELETE FROM cygx_activity WHERE activity_id = ?`
@@ -471,7 +473,7 @@ func DeleteActivity(activityId int) (err error) {
 	return
 }
 
-//修改活动状态至进行中
+// 修改活动状态至进行中
 func UpdateActivitySattusToHaveInHand() (err error) {
 	defer func() {
 		if err != nil {
@@ -494,7 +496,7 @@ func UpdateActivitySattusToHaveInHand() (err error) {
 	return
 }
 
-//修改活动状态至已结束
+// 修改活动状态至已结束
 func UpdateActivitySattusToComplete() (err error) {
 	defer func() {
 		if err != nil {
@@ -517,7 +519,7 @@ func UpdateActivitySattusToComplete() (err error) {
 	return
 }
 
-//活动详情
+// 活动详情
 type WxMsgCygxActivityList struct {
 	Id                      int    `description:"报名ID"`
 	UserId                  int    `description:"用户ID"`
@@ -546,7 +548,7 @@ type WxMsgCygxActivityList struct {
 	FailType                int    `description:"失败原因,0,未失败,1总人数已满,2单机构超限制,3,爽约次数超限"`
 }
 
-//列表 3o分钟
+// 列表 3o分钟
 func GetActivitySendMsgListAll(endDate string) (items []*WxMsgCygxActivityList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -573,7 +575,7 @@ WHERE
 	return
 }
 
-//列表 15分钟提醒
+// 列表 15分钟提醒
 func GetActivitySendMsgListAllMeeting(endDate string) (items []*WxMsgCygxActivityList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -600,7 +602,7 @@ WHERE
 	return
 }
 
-//修改是否推送消息状态
+// 修改是否推送消息状态
 func UPdateSendedMsgStatus(signupIds string) (err error) {
 	sql := ` UPDATE cygx_activity_signup SET  is_send_wx_msg= 1  WHERE id IN(` + signupIds + `)`
 	o := orm.NewOrm()
@@ -608,7 +610,7 @@ func UPdateSendedMsgStatus(signupIds string) (err error) {
 	return
 }
 
-//修改是否推送消息状态
+// 修改是否推送消息状态
 func UPdateSendedMsgMeetingStatus(signupIds string) (err error) {
 	sql := ` UPDATE cygx_activity_meeting_reminder SET  is_send_wx_msg= 1  WHERE id IN(` + signupIds + `)`
 	o := orm.NewOrm()
@@ -616,7 +618,7 @@ func UPdateSendedMsgMeetingStatus(signupIds string) (err error) {
 	return
 }
 
-//获取满足推送的活动ID数量
+// 获取满足推送的活动ID数量
 func GetCountActivityIdToSendFile(endDate string) (count int, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -634,7 +636,7 @@ WHERE
 	return
 }
 
-//获取满足推送的活动ID
+// 获取满足推送的活动ID
 func GetActivityIdToSendFile(endDate string) (items []*ActivityIdRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -691,7 +693,7 @@ func GetSignupExport(activityId int) (item []*SignupExportRep, err error) {
 	return
 }
 
-//修改文件是否推送状态
+// 修改文件是否推送状态
 func UPdateActivityIdToSendFile(activityId int) (err error) {
 	sql := ` UPDATE cygx_activity SET  is_send_file_toemail= 1  WHERE activity_id = ?`
 	o := orm.NewOrm()
@@ -699,7 +701,7 @@ func UPdateActivityIdToSendFile(activityId int) (err error) {
 	return
 }
 
-//活动详情
+// 活动详情
 type CygxActivityLabelList struct {
 	KeyWord           string `orm:"column(label)";description:"主题"`
 	Timesort          string `description:"最大时间"`
@@ -717,7 +719,7 @@ type CygxActivityLabelList struct {
 	Days              int    `description:"天数"`
 }
 
-//主题列表
+// 主题列表
 func GetActivityLabelListAll(condition, sortTime string, pars []interface{}, startSize, pageSize int) (items []*CygxActivityLabelList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT	activity_id, label,temporary_label,is_show_subject_name, MAX( art.activity_time ) AS timesort, MIn( art.activity_time ) AS mintimesort , yidong_activity_id,city
@@ -737,7 +739,7 @@ type GetCygxActivityLabelListRep struct {
 	List   []*CygxActivityLabelList
 }
 
-//获取研选系列专家电话会,会前1小时,满足推送的活动ID数量
+// 获取研选系列专家电话会,会前1小时,满足推送的活动ID数量
 func GetCountActivityResearchToSendFile(condition, endDate string) (count int, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -754,7 +756,7 @@ WHERE
 	return
 }
 
-//获取研选系列专家电话会,会前1小时,满足推送的活动ID
+// 获取研选系列专家电话会,会前1小时,满足推送的活动ID
 func GetActivityResearchToSendFile(condition, endDate string) (items []*ActivityIdRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -789,7 +791,7 @@ func GetActivityMsgExport(activityId int) (item []*ActivityMsgExportRep, err err
 	return
 }
 
-//修改文件带问消息是否推送状态
+// 修改文件带问消息是否推送状态
 func UPdateActivityMsgToSendFile(activityId int) (err error) {
 	sql := ` UPDATE cygx_activity SET  is_send_ask_msg= 1  WHERE activity_id = ?`
 	o := orm.NewOrm()
@@ -810,7 +812,7 @@ func GetAskEmail() (item []*AskEmailRep, err error) {
 	return
 }
 
-//主题列表
+// 主题列表
 func GetActivityLabelSpecialListAll(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxActivityLabelList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT	label,activity_id,is_show_subject_name,days
@@ -842,7 +844,7 @@ type CygxActivitySpecialResp struct {
 	Detail            *CygxActivitySpecialDetail
 }
 
-//获取专项调研活动列表
+// 获取专项调研活动列表
 func GetCygxActivitySpecialDetailList(condition string, pars []interface{}, uid, startSize, pageSize int) (items []*CygxActivitySpecialDetail, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT
@@ -870,7 +872,7 @@ WHERE
 	return
 }
 
-//通过活动ID获取活动详情
+// 通过活动ID获取活动详情
 func GetCygxActivitySpecialDetailById(uid, ActivityId int) (item *CygxActivitySpecialDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT *,( SELECT COUNT( 1 ) FROM cygx_activity_special_signup AS s WHERE s.activity_id = a.activity_id AND s.user_id = ? ) AS is_signup 
@@ -883,7 +885,7 @@ WHERE
 	return
 }
 
-//通过活动ID获取活动详情
+// 通过活动ID获取活动详情
 func GetCygxActivitySpecialDetail(ActivityId int) (item *CygxActivitySpecialDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity_special  WHERE activity_id=? AND publish_status = 1 `
@@ -898,7 +900,7 @@ func UpdateCygxActivityName(activityId int, Name string) (err error) {
 	return
 }
 
-//获取已发布但是为开始活动的权限
+// 获取已发布但是为开始活动的权限
 func GetActivityWeekPermission() (permission string, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT
@@ -911,7 +913,7 @@ func GetActivityWeekPermission() (permission string, err error) {
 	return
 }
 
-//列表
+// 列表
 func GetIndustrialActivityGroupManagementList(activityId int) (items []*IndustrialManagementRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -929,7 +931,7 @@ func GetIndustrialActivityGroupManagementList(activityId int) (items []*Industri
 	return
 }
 
-//GetActivityListByYiDong 获取易董同步过来的活动列表
+// GetActivityListByYiDong 获取易董同步过来的活动列表
 func GetActivityListByYiDong() (items []*CygxActivity, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT * FROM cygx_activity WHERE yidong_activity_id != '' `
@@ -937,14 +939,14 @@ func GetActivityListByYiDong() (items []*CygxActivity, err error) {
 	return
 }
 
-//AddCygxActivity 添加活动
+// AddCygxActivity 添加活动
 func AddCygxActivity(item *CygxActivity) (lastId int64, err error) {
 	o := orm.NewOrm()
 	lastId, err = o.Insert(item)
 	return
 }
 
-//列表
+// 列表
 func GetActivityListByYidong(condition string) (items []*ActivityDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity WHERE yidong_activity_id != '' `
@@ -955,7 +957,7 @@ func GetActivityListByYidong(condition string) (items []*ActivityDetail, err err
 	return
 }
 
-//UpdateCygxActivitySubmitMeetingByYidong  ,跟易董返回的用户状态修改活动以提交到会状态
+// UpdateCygxActivitySubmitMeetingByYidong  ,跟易董返回的用户状态修改活动以提交到会状态
 func UpdateCygxActivitySubmitMeetingByYidong(yidongActivityId string) (err error) {
 	o := orm.NewOrm()
 	sql := `UPDATE cygx_activity SET is_submit_meeting = 1 WHERE yidong_activity_id=?  `
@@ -963,7 +965,7 @@ func UpdateCygxActivitySubmitMeetingByYidong(yidongActivityId string) (err error
 	return
 }
 
-//UpdateActivityshowSubject 根据易董推过来的匹配信息,判断临时标签是否展示
+// UpdateActivityshowSubject 根据易董推过来的匹配信息,判断临时标签是否展示
 func UpdateActivityshowSubject(activityId int) (err error) {
 	sql := ` UPDATE cygx_activity SET  is_show_subject_name= 1 , temporary_label = ''  WHERE activity_id = ?`
 	o := orm.NewOrm()
@@ -971,7 +973,7 @@ func UpdateActivityshowSubject(activityId int) (err error) {
 	return
 }
 
-//GetActivitySpecialSearcheList 活动与专项调研的搜索
+// GetActivitySpecialSearcheList 活动与专项调研的搜索
 func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditionSpecil string, parsSpecil []interface{}, startSize, pageSize int) (items []*ActivityDetail, total int, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -991,6 +993,7 @@ func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditi
 			art.is_can_appointment_minutes,
 			art.activity_type_id,
 			art.limit_people_num,
+			art.is_limit_people,
 			1 AS source_type,
 			art.activity_time 
 		FROM
@@ -1019,6 +1022,7 @@ func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditi
 			"",
 			"",
 			"",
+			"",
 			2 AS source_type,
 			art.activity_time 
 		FROM
@@ -1038,7 +1042,7 @@ func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditi
 	return
 }
 
-//列表
+// 列表
 func GetActivityListNew(condition string, pars []interface{}, uid, startSize, pageSize, playBack, filter int, typeName string) (items []*ActivityDetail, err error) {
 	var sqlJiontable string
 	if playBack == 1 {
@@ -1083,7 +1087,7 @@ func GetActivityListNew(condition string, pars []interface{}, uid, startSize, pa
 	return
 }
 
-//列表
+// 列表
 func GetActivityListHomeNew(condition string, startSize, pageSize int) (items []*ActivityDetail, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT activity_id
@@ -1098,7 +1102,7 @@ func GetActivityListHomeNew(condition string, startSize, pageSize int) (items []
 	return
 }
 
-//主题列表
+// 主题列表
 func GetActivityLabelListAllNoLimit(condition, sortTime string, pars []interface{}, conditionSpecial string) (items []*CygxActivityLabelList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT	activity_id, label,temporary_label,is_show_subject_name, art.activity_time,	1 AS resource, yidong_activity_id 

+ 42 - 29
models/activity_signup.go

@@ -42,7 +42,7 @@ type SignupStatus struct {
 	GoBindEmail       bool   `description:"是否去绑定邮箱"`
 }
 
-//我的日程
+// 我的日程
 type CygxMySchedule struct {
 	Id          int       `orm:"column(id);pk"`
 	ActivityId  int       `description:"活动ID"`
@@ -54,7 +54,7 @@ type CygxMySchedule struct {
 	CompanyName string    `description:"公司名称"`
 }
 
-//报名记录日志
+// 报名记录日志
 type CygxActivitySignupLog struct {
 	Id          int       `orm:"column(id);pk"`
 	ActivityId  int       `description:"活动ID"`
@@ -67,7 +67,7 @@ type CygxActivitySignupLog struct {
 	Type        int       `description:"操作方式,1报名,2取消报名"`
 }
 
-//添加报名信息
+// 添加报名信息
 func AddActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
 	o, err := orm.NewOrm().Begin()
 	if err != nil {
@@ -129,7 +129,7 @@ func AddActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
 	return
 }
 
-//仅绑定邮箱的用户修改报名后,添加报名信息
+// 仅绑定邮箱的用户修改报名后,添加报名信息
 func AddActivitySignupFromEmail(item *CygxActivitySignup) (lastId int64, err error) {
 	o, err := orm.NewOrm().Begin()
 	if err != nil {
@@ -196,7 +196,7 @@ func AddActivitySignupFromEmail(item *CygxActivitySignup) (lastId int64, err err
 	return
 }
 
-//添加报名信息
+// 添加报名信息
 func AddActivitySignupNoSchedule(item *CygxActivitySignup) (lastId int64, err error) {
 	o, err := orm.NewOrm().Begin()
 	if err != nil {
@@ -227,7 +227,7 @@ func AddActivitySignupNoSchedule(item *CygxActivitySignup) (lastId int64, err er
 	return
 }
 
-//获取用户报名成功数量
+// 获取用户报名成功数量
 func GetActivitySignupCount(uid, activityId int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0  AND do_fail_type = 0 AND user_id=? AND activity_id=? `
 	o := orm.NewOrm()
@@ -235,7 +235,7 @@ func GetActivitySignupCount(uid, activityId int) (count int, err error) {
 	return
 }
 
-//获取用户报名数量
+// 获取用户报名数量
 func GetActivitySignupByUserCount(uid, activityId int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND user_id=? AND activity_id=? `
 	o := orm.NewOrm()
@@ -243,7 +243,7 @@ func GetActivitySignupByUserCount(uid, activityId int) (count int, err error) {
 	return
 }
 
-//获取用户报名禁止数量
+// 获取用户报名禁止数量
 func GetActivitySignupByUserRestrictCount(uid, activityId int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE do_fail_type=3 AND user_id=? AND activity_id=? `
 	o := orm.NewOrm()
@@ -251,7 +251,7 @@ func GetActivitySignupByUserRestrictCount(uid, activityId int) (count int, err e
 	return
 }
 
-//获取某一活动已经报名的数量
+// 获取某一活动已经报名的数量
 func GetActivitySignupSuccessCount(activityId int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND do_fail_type = 0 AND activity_id=? `
 	o := orm.NewOrm()
@@ -259,7 +259,7 @@ func GetActivitySignupSuccessCount(activityId int) (count int, err error) {
 	return
 }
 
-//获取某一活动某个机构已经报名的数量
+// 获取某一活动某个机构已经报名的数量
 func GetActivitySignupCompanyCount(activityId, companyId int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup WHERE is_cancel=0 AND fail_type = 0 AND activity_id=? AND company_id=? `
 	o := orm.NewOrm()
@@ -267,7 +267,7 @@ func GetActivitySignupCompanyCount(activityId, companyId int) (count int, err er
 	return
 }
 
-//获取某一用户是否被限制报名
+// 获取某一用户是否被限制报名
 func GetUserRestrictCount(mobile string) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_restrict_signup WHERE is_restrict=1  AND mobile=? `
 	o := orm.NewOrm()
@@ -275,7 +275,7 @@ func GetUserRestrictCount(mobile string) (count int, err error) {
 	return
 }
 
-//获取某一用户的日程数量
+// 获取某一用户的日程数量
 func GetUserMeetingReminderCount(uid int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_my_schedule WHERE  user_id=? `
 	o := orm.NewOrm()
@@ -283,7 +283,7 @@ func GetUserMeetingReminderCount(uid int) (count int, err error) {
 	return
 }
 
-//获取某一用户的报名的数量
+// 获取某一用户的报名的数量
 func GetUserSignupCount(uid int) (count int, err error) {
 	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_signup_log WHERE  user_id=? `
 	o := orm.NewOrm()
@@ -291,7 +291,7 @@ func GetUserSignupCount(uid int) (count int, err error) {
 	return
 }
 
-//取消报名
+// 取消报名
 func CancelActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
 	o, err := orm.NewOrm().Begin()
 	if err != nil {
@@ -341,7 +341,7 @@ func CancelActivitySignup(item *CygxActivitySignup) (lastId int64, err error) {
 	return
 }
 
-//详情
+// 详情
 func GetActivitySignupDetail(activityId, uid int) (item *CygxActivitySignup, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity_signup WHERE  activity_id = ? AND user_id =? `
@@ -359,7 +359,7 @@ func GetActivitySignuListByUser(condition string, pars []interface{}) (item []*C
 	return
 }
 
-//解除报名限制之后二次报名
+// 解除报名限制之后二次报名
 func AddActivitySignupByRestrict(item *CygxActivitySignup) (lastId int64, err error) {
 	o, err := orm.NewOrm().Begin()
 	if err != nil {
@@ -400,7 +400,7 @@ func AddActivitySignupByRestrict(item *CygxActivitySignup) (lastId int64, err er
 	return
 }
 
-//列表
+// 列表
 func GetActivitySignupListAll() (items []*CygxActivitySignup, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity_signup `
@@ -408,7 +408,7 @@ func GetActivitySignupListAll() (items []*CygxActivitySignup, err error) {
 	return
 }
 
-//修改是否推送消息状态
+// 修改是否推送消息状态
 func UPdateSignup(item *CygxActivitySignup) (err error) {
 	sql := ` UPDATE cygx_activity_signup SET  outbound_mobile= ? , country_code=86  WHERE id = ?`
 	o := orm.NewOrm()
@@ -416,7 +416,7 @@ func UPdateSignup(item *CygxActivitySignup) (err error) {
 	return
 }
 
-//获取数量
+// 获取数量
 func GetActivityCountByIdWithUid(activityId, Uid int) (count int, err error) {
 	o := orm.NewOrm()
 	sqlCount := `SELECT COUNT(1) AS count  FROM cygx_activity_signup WHERE activity_id = ? AND user_id = ?`
@@ -424,7 +424,7 @@ func GetActivityCountByIdWithUid(activityId, Uid int) (count int, err error) {
 	return
 }
 
-//获取用户报名数量
+// 获取用户报名数量
 func GetActivitySignupNomeetingCount(activityId int) (count int, err error) {
 	sqlCount := `SELECT
 	COUNT( 1 ) count 
@@ -454,7 +454,7 @@ WHERE
 	return
 }
 
-//获取用户是否被限制报名
+// 获取用户是否被限制报名
 func GetRestrictSignupCountByUid(uid int) (count int, err error) {
 	sqlCount := `SELECT COUNT( 1 ) count FROM cygx_activity_restrict_signup  WHERE user_id = ?`
 	o := orm.NewOrm()
@@ -462,7 +462,7 @@ func GetRestrictSignupCountByUid(uid int) (count int, err error) {
 	return
 }
 
-//获取用户爽约次数
+// 获取用户爽约次数
 func GetActivitySignupNomeetingCountByUid(uid int) (count int, err error) {
 	sqlCount := `SELECT
 	COUNT( 1 ) count 
@@ -481,7 +481,7 @@ WHERE
 	return
 }
 
-//删除
+// 删除
 func DeleteCygxActivityRestrictSignup(uid int) (err error) {
 	o := orm.NewOrm()
 	sql := ` DELETE FROM cygx_activity_restrict_signup  WHERE user_id=?`
@@ -501,7 +501,7 @@ type CygxActivitySignupList struct {
 	Channel     int    `description:"报名渠道,0 空降、 1小程序报名"`
 }
 
-//获取用户报名列表
+// 获取用户报名列表
 func GetActivitySignupNomeetingCountList(activityId int) (items []*CygxActivitySignupList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -551,14 +551,14 @@ type CygxActivityRestrictSignup struct {
 	IsRestrict  int       `description:"是否限制报名,1是,0否"`
 }
 
-//添加
+// 添加
 func AddCygxActivityRestrictSignup(item *CygxActivityRestrictSignup) (err error) {
 	o := orm.NewOrm()
 	_, err = o.Insert(item)
 	return
 }
 
-//获取列表信息根据手机号分组
+// 获取列表信息根据手机号分组
 func GetCygxActivitySignupByMobileList(condition string) (items []*CygxActivitySignup, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_activity_signup_detail  WHERE  1= 1 ` + condition + `  GROUP BY mobile  `
@@ -566,7 +566,7 @@ func GetCygxActivitySignupByMobileList(condition string) (items []*CygxActivityS
 	return
 }
 
-//修改用户报名的相关信息
+// 修改用户报名的相关信息
 func UpdateCygxActivitySignup(wxUser *WxUserItem) (err error) {
 	o := orm.NewOrm()
 	sql := `UPDATE cygx_activity_signup_detail SET email=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE  mobile=? `
@@ -574,7 +574,7 @@ func UpdateCygxActivitySignup(wxUser *WxUserItem) (err error) {
 	return
 }
 
-//UpdateCygxActivitySignupisMeet 修改易董的活动,用户已到会
+// UpdateCygxActivitySignupisMeet 修改易董的活动,用户已到会
 func UpdateCygxActivitySignupisMeet(activityId int, mobile string) (err error) {
 	o := orm.NewOrm()
 	sql := `UPDATE cygx_activity_signup SET is_meeting=1 WHERE activity_id=?  AND mobile = ? `
@@ -582,7 +582,7 @@ func UpdateCygxActivitySignupisMeet(activityId int, mobile string) (err error) {
 	return
 }
 
-//UpdateCygxActivitySignupisMeetList 批量修改易董的活动,用户已到会
+// UpdateCygxActivitySignupisMeetList 批量修改易董的活动,用户已到会
 func UpdateCygxActivitySignupisMeetList(condition string, pars []interface{}) (err error) {
 	if condition == "" {
 		return
@@ -592,3 +592,16 @@ func UpdateCygxActivitySignupisMeetList(condition string, pars []interface{}) (e
 	_, err = o.Raw(sql, pars).Exec()
 	return
 }
+
+// GetCygxCygxActivitySignupList 获取报名列表信息
+func GetActivitySignupList(condition string, pars []interface{}) (items []*CygxActivitySignup, err error) {
+	sql := `SELECT
+			signup_type,activity_id
+		FROM
+			cygx_activity_signup AS v
+		WHERE
+			1 = 1 	` + condition
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}

+ 42 - 6
services/activity.go

@@ -1526,11 +1526,29 @@ func ActivityButtonShow(item *models.ActivityDetail) (articleDetail *models.Acti
 	}
 	if articleDetail.ActiveState == "1" {
 		//专家电话会 1
+		//专家电话会限制人数的展示我要报名,不限制的展示预约外外呼
 		if articleDetail.ActivityTypeId == 1 {
-			articleDetail.IsShowOutboundCall = true
-			//if articleDetail.LimitPeopleNum == 0 {
-			//	articleDetail.IsShowMeetingReminder = true
-			//	articleDetail.IsShowHelpSsk = true
+			//articleDetail.IsShowOutboundCall = true
+			if articleDetail.LimitPeopleNum == 0 {
+				articleDetail.IsShowOutboundCall = true
+				//articleDetail.IsShowHelpSsk = true
+			} else {
+				articleDetail.IsShowSignup = true
+			}
+
+			//if articleDetail.SignupType == 0 {
+			//	if articleDetail.LimitPeopleNum == 0 {
+			//		articleDetail.IsShowOutboundCall = true
+			//		//articleDetail.IsShowHelpSsk = true
+			//	} else {
+			//		articleDetail.IsShowSignup = true
+			//	}
+			//} else {
+			//	if articleDetail.SignupType == 2 {
+			//		articleDetail.IsShowSignup = true
+			//	} else {
+			//		articleDetail.IsShowOutboundCall = true
+			//	}
 			//}
 			articleDetail.IsShowMeetingReminder = true
 			articleDetail.IsShowHelpSsk = true
@@ -1538,10 +1556,27 @@ func ActivityButtonShow(item *models.ActivityDetail) (articleDetail *models.Acti
 
 		//分析师电话会 2
 		if articleDetail.ActivityTypeId == 2 {
-			articleDetail.IsShowOutboundCall = true
+			//if articleDetail.SignupType == 0 {
+			//	if articleDetail.LimitPeopleNum == 0 {
+			//		articleDetail.IsShowOutboundCall = true
+			//		//articleDetail.IsShowHelpSsk = true
+			//	} else {
+			//		articleDetail.IsShowSignup = true
+			//	}
+			//} else {
+			//	if articleDetail.SignupType == 2 {
+			//		articleDetail.IsShowSignup = true
+			//	} else {
+			//		articleDetail.IsShowOutboundCall = true
+			//	}
+			//}
 			if articleDetail.LimitPeopleNum == 0 {
-				articleDetail.IsShowMeetingReminder = true
+				articleDetail.IsShowOutboundCall = true
+				//articleDetail.IsShowHelpSsk = true
+			} else {
+				articleDetail.IsShowSignup = true
 			}
+			articleDetail.IsShowMeetingReminder = true
 		}
 
 		//公司调研电话会 3
@@ -1572,6 +1607,7 @@ func ActivityButtonShow(item *models.ActivityDetail) (articleDetail *models.Acti
 		//分析师电话会(C类) 7
 		if articleDetail.ActivityTypeId == 7 {
 			articleDetail.IsShowSignup = true
+			articleDetail.IsShowMeetingReminder = true
 			articleDetail.ActivityTypeName = "分析师电话会"
 		}
 	}

+ 12 - 4
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
@@ -260,6 +260,13 @@ func HandleActivityListButton(list []*models.ActivityDetail, user *models.WxUser
 		err = errors.New("GetActivityVoiceResp, Err: " + e.Error())
 		return
 	}
+
+	//处理不同的报名方式按钮回显
+	mapActivitySignup, e := GetActivitySignupResp(mapActivityId, user)
+	if e != nil {
+		e = errors.New("mapActivitySignup, Err: " + e.Error())
+		return
+	}
 	for k, v := range list {
 		if mapActivityVoice[v.ActivityId] != nil {
 			list[k].FileType = 1
@@ -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, ActivityButtonShow(v))
 	}
 	return

+ 30 - 0
services/activity_signup.go

@@ -0,0 +1,30 @@
+package services
+
+import (
+	"errors"
+	"hongze/hongze_cygx/models"
+	"hongze/hongze_cygx/utils"
+)
+
+// GetActivitySignupResp 处理用户的报名方式
+func GetActivitySignupResp(activityIdS []int, user *models.WxUserItem) (mapItem map[int]int, err error) {
+	var condition string
+	var pars []interface{}
+	lenActivityId := len(activityIdS)
+	if lenActivityId == 0 || user.Mobile == "" {
+		return
+	}
+	condition = ` AND do_fail_type = 0 AND activity_id IN (` + utils.GetOrmInReplace(lenActivityId) + `) AND mobile = ?`
+	pars = append(pars, activityIdS, user.Mobile)
+
+	listSignup, e := models.GetActivitySignupList(condition, pars)
+	if e != nil {
+		err = errors.New("GetResourceDataList, Err: " + e.Error())
+		return
+	}
+	mapItem = make(map[int]int, 0)
+	for _, v := range listSignup {
+		mapItem[v.ActivityId] = v.SignupType
+	}
+	return
+}

+ 10 - 2
services/resource_data.go

@@ -123,8 +123,16 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 			err = errors.New("GetResourceDataList, Err: " + e.Error())
 			return
 		}
+		//处理不同的报名方式按钮回显
+		mapActivitySignup, e := GetActivitySignupResp(activityIds, user)
+		if e != nil {
+			e = errors.New("GetActivitySignupResp, Err: " + e.Error())
+			return
+		}
+
 		var activityListRersp []*models.ActivityDetail
 		for _, v := range activityList {
+			v.SignupType = mapActivitySignup[v.ActivityId]
 			activityListRersp = append(activityListRersp, ActivityButtonShow(v))
 		}
 		for _, v := range activityListRersp {
@@ -334,7 +342,7 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 	return
 }
 
-//同步活动到最新数据表
+// 同步活动到最新数据表
 func UpdateResourceData(sourceId int, source, doType, publishDate string) (err error) {
 	defer func() {
 		if err != nil {
@@ -356,7 +364,7 @@ func UpdateResourceData(sourceId int, source, doType, publishDate string) (err e
 	return
 }
 
-//批量删除最新图表数据
+// 批量删除最新图表数据
 func Deletenewchart(chartIdsDelete []int) (err error) {
 	defer func() {
 		if err != nil {