Răsfoiți Sursa

Merge branch 'cygx_9.4.0' of http://8.136.199.33:3000/hongze/hongze_cygx into debug

xingzai 2 ani în urmă
părinte
comite
ec5e941536

+ 17 - 2
controllers/activity.go

@@ -15,7 +15,7 @@ import (
 	"unicode/utf8"
 )
 
-//活动
+// 活动
 type ActivityCoAntroller struct {
 	BaseAuthController
 }
@@ -1042,6 +1042,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)
 	}
@@ -2730,11 +2738,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 _, v := range activityList {
 		if v.ActivityType == 0 {

+ 48 - 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
@@ -455,7 +455,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 +463,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 +471,7 @@ func DeleteActivity(activityId int) (err error) {
 	return
 }
 
-//修改活动状态至进行中
+// 修改活动状态至进行中
 func UpdateActivitySattusToHaveInHand() (err error) {
 	defer func() {
 		if err != nil {
@@ -494,7 +494,7 @@ func UpdateActivitySattusToHaveInHand() (err error) {
 	return
 }
 
-//修改活动状态至已结束
+// 修改活动状态至已结束
 func UpdateActivitySattusToComplete() (err error) {
 	defer func() {
 		if err != nil {
@@ -517,7 +517,7 @@ func UpdateActivitySattusToComplete() (err error) {
 	return
 }
 
-//活动详情
+// 活动详情
 type WxMsgCygxActivityList struct {
 	Id                      int    `description:"报名ID"`
 	UserId                  int    `description:"用户ID"`
@@ -546,7 +546,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 +573,7 @@ WHERE
 	return
 }
 
-//列表 15分钟提醒
+// 列表 15分钟提醒
 func GetActivitySendMsgListAllMeeting(endDate string) (items []*WxMsgCygxActivityList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -600,7 +600,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 +608,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 +616,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 +634,7 @@ WHERE
 	return
 }
 
-//获取满足推送的活动ID
+// 获取满足推送的活动ID
 func GetActivityIdToSendFile(endDate string) (items []*ActivityIdRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -691,7 +691,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 +699,7 @@ func UPdateActivityIdToSendFile(activityId int) (err error) {
 	return
 }
 
-//活动详情
+// 活动详情
 type CygxActivityLabelList struct {
 	KeyWord           string `orm:"column(label)";description:"主题"`
 	Timesort          string `description:"最大时间"`
@@ -717,7 +717,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 +737,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 +754,7 @@ WHERE
 	return
 }
 
-//获取研选系列专家电话会,会前1小时,满足推送的活动ID
+// 获取研选系列专家电话会,会前1小时,满足推送的活动ID
 func GetActivityResearchToSendFile(condition, endDate string) (items []*ActivityIdRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -789,7 +789,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 +810,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 +842,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 +870,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 +883,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 +898,7 @@ func UpdateCygxActivityName(activityId int, Name string) (err error) {
 	return
 }
 
-//获取已发布但是为开始活动的权限
+// 获取已发布但是为开始活动的权限
 func GetActivityWeekPermission() (permission string, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT
@@ -911,7 +911,7 @@ func GetActivityWeekPermission() (permission string, err error) {
 	return
 }
 
-//列表
+// 列表
 func GetIndustrialActivityGroupManagementList(activityId int) (items []*IndustrialManagementRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -929,7 +929,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 +937,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 +955,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 +963,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 +971,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
@@ -1038,7 +1038,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 +1083,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 +1098,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
+}

+ 4 - 4
models/article_collect.go

@@ -74,7 +74,7 @@ type ArticleCollectList struct {
 
 func GetCygxArticleCollectList(condition string) (items []*CygxArticleCollect, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT * FROM cygx_article_collect  WHERE 1 =1   ` + condition + ` GROUP BY user_id  `
+	sql := `SELECT * FROM cygx_article_collect  WHERE 1 =1  AND article_id > 0  ` + condition + ` GROUP BY user_id  `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
@@ -226,7 +226,7 @@ WHERE
 	c.user_id =? 
 	AND vc.activity_id =? 
 	AND c.activity_voice_id = vc.activity_voice_id`
-	err = orm.NewOrm().Raw(sql, userId, activityId,).QueryRow(&count)
+	err = orm.NewOrm().Raw(sql, userId, activityId).QueryRow(&count)
 
 	return
 }
@@ -241,6 +241,6 @@ WHERE
 	c.user_id =? 
 	AND vd.activity_id =? 
 	AND c.activity_video_id = vd.video_id`
-	err = orm.NewOrm().Raw(sql, userId, activityId,).QueryRow(&count)
+	err = orm.NewOrm().Raw(sql, userId, activityId).QueryRow(&count)
 	return
-}
+}

+ 54 - 31
services/activity.go

@@ -14,7 +14,7 @@ import (
 	"time"
 )
 
-//修改活动状态
+// 修改活动状态
 func UpdateActivitySattus(cont context.Context) (err error) {
 	//defer func() {
 	//	if err != nil {
@@ -26,7 +26,7 @@ func UpdateActivitySattus(cont context.Context) (err error) {
 	return
 }
 
-//推送会议开始消息提醒60分钟前
+// 推送会议开始消息提醒60分钟前
 func SendActivityBeginMsg(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -81,7 +81,7 @@ func SendActivityBeginMsg(cont context.Context) (err error) {
 	return
 }
 
-//推送会议开始消息提醒15分钟前
+// 推送会议开始消息提醒15分钟前
 func SendActivityBeginMsgMeeting(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -126,7 +126,7 @@ func SendActivityBeginMsgMeeting(cont context.Context) (err error) {
 	return
 }
 
-//预约外呼名单,会前1小时自动发送邮件给专家组
+// 预约外呼名单,会前1小时自动发送邮件给专家组
 func SendEmailFileToExpert(cont context.Context) (err error) {
 	var msg string
 	var touser string
@@ -286,7 +286,7 @@ func EditOutboundMobile(cont context.Context) (err error) {
 	return
 }
 
-//同步用户绑定手机号以及区号
+// 同步用户绑定手机号以及区号
 func EditUserOutboundMobile(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -310,7 +310,7 @@ func EditUserOutboundMobile(cont context.Context) (err error) {
 	return
 }
 
-//获取 用户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户;6、冻结客户;7、流失客户
+// 获取 用户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户;6、冻结客户;7、流失客户
 func GetUserType(companyId int) (userType int, permissionStrnew string, err error) {
 
 	var permissionStr, permissionZhengShiStr string
@@ -422,7 +422,7 @@ func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, u
 	return
 }
 
-//处理活动本组们是否决策人权限
+// 处理活动本组们是否决策人权限
 func CheckUserPowerByActivityChoose(user *models.WxUserItem, activityInfo *models.ActivityDetail) (noPower bool, err error) {
 	//处理 见范围 1,仅本组可见 、2,全部客户可见
 	if activityInfo.VisibleRange == 1 {
@@ -491,7 +491,7 @@ func GetHavePower(activityInfo *models.ActivityDetail, permissionStr, companyDet
 	return
 }
 
-//获取活动列表查询权限的SQL
+// 获取活动列表查询权限的SQL
 // @Param   ChartPermissionIds   query   string  false     "行业id 多个用 , 隔开"
 // @Param   ActivityTypeIds   query   string  false     "活动类型id 多个用 , 隔开"
 // @Param   ActiveState   query   string  false       "活动进行状态 未开始:1、进行中2、已结束3"
@@ -739,7 +739,7 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 	return
 }
 
-//研选系列专家电话会,会前1小时将问题列表发送给邮箱
+// 研选系列专家电话会,会前1小时将问题列表发送给邮箱
 func SendEmailFileForAskMsgResearch(cont context.Context) (err error) {
 	var msg string
 	//var touser string
@@ -817,7 +817,7 @@ func SendEmailFileForAskMsgResearch(cont context.Context) (err error) {
 	return
 }
 
-//非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
+// 非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
 func SendEmailFileForAskMsg(cont context.Context) (err error) {
 	var msg string
 	//var touser string
@@ -907,7 +907,7 @@ func SendEmailFileForAskMsg(cont context.Context) (err error) {
 	return
 }
 
-//活动标签字符串处理
+// 活动标签字符串处理
 func LabelStr(label string) (labelNew string) {
 	slicebr := strings.Split(label, "-")
 	if len(slicebr) < 2 {
@@ -918,7 +918,7 @@ func LabelStr(label string) (labelNew string) {
 	return labelNew
 }
 
-//5.3版本活动标签字符串处理
+// 5.3版本活动标签字符串处理
 func LabelStrV5(label string, isShowSubjectName int, temporaryLabel string) (labelNew string) {
 	slicebr := strings.Split(label, "-")
 	if len(slicebr) > 1 {
@@ -1218,7 +1218,7 @@ func ActivityAttendanceDetail(cont context.Context) (err error) {
 	return
 }
 
-//判断是否加入黑名单
+// 判断是否加入黑名单
 func AddCygxActivityRestrictSignupByAdmin(activityId int) (err error) {
 	total, err := models.GetActivitySignupNomeetingCount(activityId)
 	if err != nil {
@@ -1304,7 +1304,7 @@ func AddCygxActivityRestrictSignupByAdmin(activityId int) (err error) {
 	return
 }
 
-//判断预约纪要按钮是否显示
+// 判断预约纪要按钮是否显示
 func IsShowAppointment(activityTypeId int, chartPermissionName string) (isShowAppointment bool) {
 	if activityTypeId == 1 || activityTypeId == 2 || activityTypeId == 3 || activityTypeId == 4 {
 		isShowAppointment = true
@@ -1315,7 +1315,7 @@ func IsShowAppointment(activityTypeId int, chartPermissionName string) (isShowAp
 	return
 }
 
-//判断预约纪要按钮是否显示
+// 判断预约纪要按钮是否显示
 func IsShowAppointmentByactivityInfo(item *models.ActivityDetail, chartPermissionName string) (isShowAppointment bool) {
 	activityTypeId := item.ActivityTypeId
 	if activityTypeId == 1 || activityTypeId == 3 || activityTypeId == 4 {
@@ -1330,7 +1330,7 @@ func IsShowAppointmentByactivityInfo(item *models.ActivityDetail, chartPermissio
 	return
 }
 
-//用户报告操作行为,模板消息推送 (先放在活动模块下,避免代码冲突)
+// 用户报告操作行为,模板消息推送 (先放在活动模块下,避免代码冲突)
 func ArticleUserRemind(user *models.WxUserItem, articleDetail *models.ArticleDetail, source int) (err error) {
 	defer func() {
 		if err != nil {
@@ -1373,7 +1373,7 @@ func ArticleUserRemind(user *models.WxUserItem, articleDetail *models.ArticleDet
 	return
 }
 
-//用户活动操作行为,模板消息推送
+// 用户活动操作行为,模板消息推送
 func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.ActivityDetail, source int) (err error) {
 	defer func() {
 		if err != nil {
@@ -1419,7 +1419,7 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
 	return
 }
 
-//用户专项调研操作行为,模板消息推送
+// 用户专项调研操作行为,模板消息推送
 func SpecialActivityUserRemind(user *models.WxUserItem, activityDetail *models.CygxActivitySpecialDetail, source int) (err error) {
 	defer func() {
 		if err != nil {
@@ -1462,7 +1462,7 @@ func SpecialActivityUserRemind(user *models.WxUserItem, activityDetail *models.C
 //	DoActivityOnenIdWxTemplateMsg()
 //}
 
-//周日下午四点半推送全部活动
+// 周日下午四点半推送全部活动
 func DoActivityOnenIdWxTemplateMsg(cont context.Context) (err error) {
 	var msg string
 	defer func() {
@@ -1524,22 +1524,44 @@ 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.SignupType == 0 {
+				if articleDetail.LimitPeopleNum == 0 {
+					articleDetail.IsShowOutboundCall = true
+					//articleDetail.IsShowHelpSsk = true
+				} else {
+					articleDetail.IsShowSignup = true
+				}
+			} else {
+				if articleDetail.SignupType == 1 {
+					articleDetail.IsShowSignup = true
+				} else {
+					articleDetail.IsShowOutboundCall = true
+				}
+			}
 			articleDetail.IsShowMeetingReminder = true
 			articleDetail.IsShowHelpSsk = true
 		}
 
 		//分析师电话会 2
 		if articleDetail.ActivityTypeId == 2 {
-			articleDetail.IsShowOutboundCall = true
-			if articleDetail.LimitPeopleNum == 0 {
-				articleDetail.IsShowMeetingReminder = true
+			if articleDetail.SignupType == 0 {
+				if articleDetail.LimitPeopleNum == 0 {
+					articleDetail.IsShowOutboundCall = true
+					//articleDetail.IsShowHelpSsk = true
+				} else {
+					articleDetail.IsShowSignup = true
+				}
+			} else {
+				if articleDetail.SignupType == 1 {
+					articleDetail.IsShowSignup = true
+				} else {
+					articleDetail.IsShowOutboundCall = true
+				}
 			}
+			articleDetail.IsShowMeetingReminder = true
 		}
 
 		//公司调研电话会 3
@@ -1570,6 +1592,7 @@ func ActivityButtonShow(item *models.ActivityDetail) (articleDetail *models.Acti
 		//分析师电话会(C类) 7
 		if articleDetail.ActivityTypeId == 7 {
 			articleDetail.IsShowSignup = true
+			articleDetail.IsShowMeetingReminder = true
 		}
 	}
 	if articleDetail.SourceType != 2 {
@@ -1644,7 +1667,7 @@ func GetActivityNewLabelMap(activityIds []int) (labelMap map[int]bool, industryN
 	return
 }
 
-//GetActivityVoiceResp 处理活动音频回放
+// GetActivityVoiceResp 处理活动音频回放
 func GetActivityVoiceResp(mapActivityId []int) (mapItem map[int]*models.CygxActivityVoiceReq, err error) {
 	activityVoiceList, err := models.GetCygxActivityVoiceReqList(mapActivityId)
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1661,7 +1684,7 @@ func GetActivityVoiceResp(mapActivityId []int) (mapItem map[int]*models.CygxActi
 	return
 }
 
-//AddActivitykeyWordSearch 添加活动搜索记录
+// AddActivitykeyWordSearch 添加活动搜索记录
 func AddActivitykeyWordSearch(keyWordSearch string, user *models.WxUserItem) {
 	if keyWordSearch != "" {
 		keyWordItem := new(models.CygxUserSearchKeyWord)
@@ -1673,7 +1696,7 @@ func AddActivitykeyWordSearch(keyWordSearch string, user *models.WxUserItem) {
 	}
 }
 
-//GetActivityVideoResp 处理活动视频频回放
+// GetActivityVideoResp 处理活动视频频回放
 func GetActivityVideoResp(mapActivityId []int) (mapItem map[int]*models.CygxActivityVideoListResp, err error) {
 	var condition string
 	var ativityVIdstr string
@@ -1705,7 +1728,7 @@ func GetActivityVideoResp(mapActivityId []int) (mapItem map[int]*models.CygxActi
 	return
 }
 
-//用户音视频回放操作操作行为,模板消息推送
+// 用户音视频回放操作操作行为,模板消息推送
 func ActivityVideoUserRmind(user *models.WxUserItem, activityId, fileType int) (err error) {
 	defer func() {
 		if err != nil {

+ 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 {