Pārlūkot izejas kodu

Merge branch 'master' of http://8.136.199.33:3000/hongze/hongze_cygx into cygx_9.5

xingzai 2 gadi atpakaļ
vecāks
revīzija
65f9e93f5d

+ 36 - 5
controllers/activity.go

@@ -12,7 +12,6 @@ import (
 	"strconv"
 	"strings"
 	"time"
-	"unicode/utf8"
 )
 
 // 活动
@@ -540,6 +539,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 +604,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 +623,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 +1051,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 +2749,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 {
@@ -3117,6 +3141,12 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 	//}
 	//isMaker := user.IsMaker
 
+	mapCity, err := services.GetActivityCityResp()
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
 	//var sqlExport string
 	resp := new(models.ActivityTypeListHomeResp)
 	for k, v := range list {
@@ -3147,9 +3177,10 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 			if v2.YidongActivityId != 0 {
 				v2.IsExternalLabel = true
 			}
-			if utf8.RuneCountInString(v2.City) != 2 {
-				labelList[k2].City = ""
-			}
+			labelList[k2].City = mapCity[fmt.Sprint(v2.KeyWord, "{|}", v.ActivityTypeId)]
+			//if utf8.RuneCountInString(v2.City) != 2 {
+			//	labelList[k2].City = ""
+			//}
 			labelList[k2].KeyWord = services.LabelStrV5(v2.KeyWord, v2.IsShowSubjectName, v2.TemporaryLabel)
 			labelList[k2].ImgUrlBg = v.ImgUrlBgs
 			if _, ok := mapkeyWord[fmt.Sprint(v.ActivityTypeId, "-", labelList[k2].KeyWord)]; ok {

+ 16 - 0
controllers/research.go

@@ -540,10 +540,26 @@ func (this *ResearchController) DepartmentIdDetail() {
 		br.ErrMsg = "获取文章列表失败,Err:" + err.Error()
 		return
 	}
+	var articleIds []int
 	for k, v := range list {
 		if v.MyCollectNum > 0 {
 			list[k].IsCollect = true
 		}
+		articleIds = append(articleIds, v.ArticleId)
+	}
+	//处理关联的产业
+	industrialMap, err := services.GetArticleIndustrialByArticleId(articleIds)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取关联的产业信息失败,GetArticleIndustrialByArticleId Err:" + err.Error()
+		return
+	}
+	for k, v := range list {
+		if len(industrialMap[v.ArticleId]) > 0 {
+			list[k].List = industrialMap[v.ArticleId]
+		} else {
+			list[k].List = make([]*models.IndustrialManagementResp, 0)
+		}
 	}
 
 	condition = ` AND a.department_id =  ` + strconv.Itoa(departmentId)

+ 26 - 4
controllers/search.go

@@ -598,15 +598,37 @@ func (this *SearchController) ListHomeArtAndChartPage() {
 	var result []*models.SearchItem
 	var total int64
 	if listType == 1 || listType == 2 {
-		tmpResult, tmpTotal, tmpErr := services.EsArticleSearch(keyWord, startSize, pageSize, orderColumn)
-		result = tmpResult
-		total = tmpTotal
-		err = tmpErr
+		_, tmpTotal, err := services.EsArticleSearch(keyWord, startSize, pageSize, orderColumn, 0)
+		if err != nil {
+			br.Msg = "检索失败"
+			br.ErrMsg = "检索失败,Err:" + err.Error()
+			return
+		}
+		tmpResult, tmpTotalResult, err := services.EsArticleSearch(keyWord, startSize, pageSize, orderColumn, 1)
 		if err != nil {
 			br.Msg = "检索失败"
 			br.ErrMsg = "检索失败,Err:" + err.Error()
 			return
 		}
+		result = tmpResult
+		if int(tmpTotalResult) < currentIndex*pageSize {
+			startSizeIk := startSize - int(tmpTotalResult)
+			if startSizeIk < 0 {
+				startSizeIk = 0
+			}
+			var pageSizeIk int
+			pageSizeIk = pageSize - len(tmpResult)
+			tmpResultIk, _, err := services.EsArticleSearch(keyWord, startSizeIk, pageSizeIk, orderColumn, 2)
+			if err != nil {
+				br.Msg = "检索失败"
+				br.ErrMsg = "检索失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range tmpResultIk {
+				result = append(result, v)
+			}
+		}
+		total = tmpTotal
 		if len(result) == 0 {
 			result = make([]*models.SearchItem, 0)
 		}

+ 5 - 3
controllers/tactics.go

@@ -13,7 +13,7 @@ import (
 	"time"
 )
 
-//策略
+// 策略
 type TacticsController struct {
 	BaseAuthController
 }
@@ -63,7 +63,7 @@ func (this *TacticsController) List() {
 	page := paging.GetPaging(currentIndex, pageSize, total)
 
 	//获取该产业下所对应的行业图片
-	detail, errCategory := models.GetdetailByCategoryIdOne(categoryId)
+	detail, errCategory := models.GetdetailByCategoryIdOneByHangye(categoryId)
 	if errCategory != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
@@ -130,7 +130,9 @@ func (this *TacticsController) List() {
 		//	condition = ` AND category_id IN(` + strconv.Itoa(categoryId) + `)`
 		//}
 
-		if detail.PolymerizationId != "" {
+		if detail.CeLueFieldId != "" {
+			condition = ` AND ce_lue_field_id IN(` + detail.CeLueFieldId + `)`
+		} else if detail.PolymerizationId != "" {
 			condition = ` AND category_id IN(` + detail.PolymerizationId + `)`
 		} else {
 			condition = ` AND category_id IN(` + strconv.Itoa(categoryId) + `)`

+ 76 - 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
@@ -731,13 +733,37 @@ func GetActivityLabelListAll(condition, sortTime string, pars []interface{}, sta
 	return
 }
 
+// 主题列表
+func GetActivityLabelListCity() (items []*CygxActivity, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			activity_id,
+			activity_type_id,
+			activity_time,
+			label,
+			temporary_label,
+			is_show_subject_name,
+			yidong_activity_id,
+			city 
+		FROM
+			cygx_activity AS art 
+		WHERE
+			1 = 1 
+			AND art.active_state IN ( 1, 2 ) 
+			AND city != '' 
+		ORDER BY
+			activity_time ASC  `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 type GetCygxActivityLabelListRep struct {
 	Label  string `description:"主题"`
 	ImgUrl string `description:"图片路径"`
 	List   []*CygxActivityLabelList
 }
 
-//获取研选系列专家电话会,会前1小时,满足推送的活动ID数量
+// 获取研选系列专家电话会,会前1小时,满足推送的活动ID数量
 func GetCountActivityResearchToSendFile(condition, endDate string) (count int, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -754,7 +780,7 @@ WHERE
 	return
 }
 
-//获取研选系列专家电话会,会前1小时,满足推送的活动ID
+// 获取研选系列专家电话会,会前1小时,满足推送的活动ID
 func GetActivityResearchToSendFile(condition, endDate string) (items []*ActivityIdRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -789,7 +815,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 +836,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 +868,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 +896,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 +909,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 +924,7 @@ func UpdateCygxActivityName(activityId int, Name string) (err error) {
 	return
 }
 
-//获取已发布但是为开始活动的权限
+// 获取已发布但是为开始活动的权限
 func GetActivityWeekPermission() (permission string, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT
@@ -911,7 +937,7 @@ func GetActivityWeekPermission() (permission string, err error) {
 	return
 }
 
-//列表
+// 列表
 func GetIndustrialActivityGroupManagementList(activityId int) (items []*IndustrialManagementRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -929,7 +955,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 +963,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 +981,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 +989,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 +997,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 +1017,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 +1046,7 @@ func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditi
 			"",
 			"",
 			"",
+			"",
 			2 AS source_type,
 			art.activity_time 
 		FROM
@@ -1038,7 +1066,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 +1111,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 +1126,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
+}

+ 1 - 0
models/article.go

@@ -46,6 +46,7 @@ type CygxArticle struct {
 	Annotation       string `description:"核心观点"`
 	TypeName         string `description:"策略平台报告类型"`
 	ModifyTimeByCl   string `description:"策略平台报告更新时间"`
+	CeLueFieldId     int    `description:"策略平台领域ID"`
 }
 
 type CygxArticleEs struct {

+ 1 - 1
models/chart.go

@@ -174,7 +174,7 @@ func GetChartList(condition string, pars []interface{}, startSize, pageSize int)
 	if condition != "" {
 		sql += condition
 	}
-	sql += ` ORDER BY create_date DESC LIMIT ?,? `
+	sql += ` ORDER BY chart_id DESC LIMIT ?,? `
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	return
 }

+ 1 - 3
models/report.go

@@ -682,9 +682,7 @@ func GetIndustrialDepartmentList() (items []*IndustrialDepartmentListResp, err e
 		WHERE
 			1 = 1
 			AND a.article_type_id > 0
-			AND publish_status = 1 
-		GROUP BY
-			a.article_id 
+			AND publish_status = 1
 		ORDER BY
 			a.publish_date DESC`
 	_, err = o.Raw(sql).QueryRows(&items)

+ 23 - 14
models/report_mapping.go

@@ -14,6 +14,7 @@ type ReportMapping struct {
 	IsRed               bool   `description:"是否标红"`
 	PermissionType      int    `description:"1主观,2客观"`
 	PolymerizationId    string `description:"分类聚合ID"`
+	CeLueFieldId        string `description:"策略平台领域ID"`
 }
 
 type ReportMappingHome struct {
@@ -46,7 +47,7 @@ type TradeReportMappingResp struct {
 	List []*TradeReportMapping
 }
 
-//获取策略下面的所有分类
+// 获取策略下面的所有分类
 func GetReportMappingStrategyAll() (items []*ReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_report_mapping WHERE report_type=1 AND chart_permission_id=23 ORDER BY sort ASC `
@@ -54,7 +55,7 @@ func GetReportMappingStrategyAll() (items []*ReportMapping, err error) {
 	return
 }
 
-//获取策略下面的所有分类
+// 获取策略下面的所有分类
 func GetReportMappingStrategyHomeAll() (items []*ReportMappingHome, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -73,7 +74,7 @@ ORDER BY
 	return
 }
 
-//行业列表
+// 行业列表
 func GetTradeAll(ChartPermissionId int) (items []*TradeReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -109,7 +110,7 @@ type IndustrialToArticleCategoryListRep struct {
 	List                   []*IndustrialToArticleCategoryRep
 }
 
-//通过分类ID获取详情
+// 通过分类ID获取详情
 func GetdetailByCategoryId(categoryId int) (item *ReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_report_mapping WHERE report_type=1 AND category_id=? `
@@ -117,7 +118,7 @@ func GetdetailByCategoryId(categoryId int) (item *ReportMapping, err error) {
 	return
 }
 
-//通过分类ID获取详情
+// 通过分类ID获取详情
 func GetdetailByCategoryIdSet(categoryId int) (ids string, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -130,7 +131,7 @@ func GetdetailByCategoryIdSet(categoryId int) (ids string, err error) {
 	return
 }
 
-//通过分类ID获取详情
+// 通过分类ID获取详情
 func GetdetailByCategoryIdPush(categoryId int) (item *ReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_report_mapping WHERE category_id=? `
@@ -138,7 +139,7 @@ func GetdetailByCategoryIdPush(categoryId int) (item *ReportMapping, err error)
 	return
 }
 
-//通过分类ID获取详情主观客观
+// 通过分类ID获取详情主观客观
 func GetdetailByCategoryIdSando(categoryId int) (item *ReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_report_mapping WHERE permission_type>0 AND category_id=?  LIMIT 1`
@@ -146,15 +147,23 @@ func GetdetailByCategoryIdSando(categoryId int) (item *ReportMapping, err error)
 	return
 }
 
-//通过分类ID获取详情
+// 通过分类ID获取详情
 func GetdetailByCategoryIdOne(categoryId int) (item *ReportMapping, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT * FROM cygx_report_mapping WHERE category_id=? LIMIT 1`
+	sql := `SELECT * FROM cygx_report_mapping WHERE category_id=?   AND report_type = 2 LIMIT 1`
 	err = o.Raw(sql, categoryId).QueryRow(&item)
 	return
 }
 
-//判断该分类下最新的文章用户是否阅读
+// 通过分类ID获取详情
+func GetdetailByCategoryIdOneByHangye(categoryId int) (item *ReportMapping, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_report_mapping WHERE  category_id=?   AND report_type = 1 LIMIT 1`
+	err = o.Raw(sql, categoryId).QueryRow(&item)
+	return
+}
+
+// 判断该分类下最新的文章用户是否阅读
 func CheckThisCategoryNewArticleIsRead(uid, categoryId int) (count int, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT COUNT(1) count
@@ -165,7 +174,7 @@ func CheckThisCategoryNewArticleIsRead(uid, categoryId int) (count int, err erro
 	return
 }
 
-//获取策略下面的所有分类
+// 获取策略下面的所有分类
 func GetMatchTypeNamenNotNull() (items []*ReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT category_id,category_id_set,match_type_name FROM cygx_report_mapping WHERE match_type_name <> ''`
@@ -183,7 +192,7 @@ type ReportMappingStatistical struct {
 	Uv              int    `description:"Uv"`
 }
 
-//获取报表
+// 获取报表
 func GetStatisticalReportArtilce(chartPermissionId int) (items []*ReportMappingStatistical, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -209,7 +218,7 @@ WHERE
 	return
 }
 
-//获取报表
+// 获取报表
 func GetStatisticalReportArtilceExpert() (items []*ReportMappingStatistical, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -227,7 +236,7 @@ func GetStatisticalReportArtilceExpert() (items []*ReportMappingStatistical, err
 	return
 }
 
-//通过分类ID获取详情 处理路演精华的映射
+// 通过分类ID获取详情 处理路演精华的映射
 func GetdetailByCategoryIdLyjh(categoryId int) (item *ReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT

+ 1 - 0
models/tactics.go

@@ -83,6 +83,7 @@ type Tactics2 struct {
 	File            string    `description:"Pdf下载链接"`
 	TypeName        string    `description:"策略平台报告类型"`
 	UpdateDate      string    `description:"策略平台报告更新时间"`
+	CeLueFieldId    int       `description:"策略平台领域ID"`
 }
 
 func GetTacticsList2(endDate string) (list []*Tactics2, err error) {

+ 92 - 29
services/activity.go

@@ -12,9 +12,10 @@ import (
 	"strconv"
 	"strings"
 	"time"
+	"unicode/utf8"
 )
 
-//修改活动状态
+// 修改活动状态
 func UpdateActivitySattus(cont context.Context) (err error) {
 	//defer func() {
 	//	if err != nil {
@@ -26,7 +27,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 +82,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 +127,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 +287,7 @@ func EditOutboundMobile(cont context.Context) (err error) {
 	return
 }
 
-//同步用户绑定手机号以及区号
+// 同步用户绑定手机号以及区号
 func EditUserOutboundMobile(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -310,7 +311,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 +423,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 +492,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"
@@ -620,6 +621,8 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 		condition += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
 	}
 
+	fmt.Println(keyWord)
+	fmt.Println(keyWordNoIk)
 	//有搜索条件传过来时,不判进行状态条件
 	if keyWord != "" {
 		if ikType == 2 || ikType == 3 {
@@ -739,7 +742,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 +820,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 +910,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 +921,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 +1221,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 +1307,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 +1318,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 +1333,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 +1376,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 +1422,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 +1465,7 @@ func SpecialActivityUserRemind(user *models.WxUserItem, activityDetail *models.C
 //	DoActivityOnenIdWxTemplateMsg()
 //}
 
-//周日下午四点半推送全部活动
+// 周日下午四点半推送全部活动
 func DoActivityOnenIdWxTemplateMsg(cont context.Context) (err error) {
 	var msg string
 	defer func() {
@@ -1524,11 +1527,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
@@ -1536,10 +1557,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
@@ -1570,6 +1608,8 @@ func ActivityButtonShow(item *models.ActivityDetail) (articleDetail *models.Acti
 		//分析师电话会(C类) 7
 		if articleDetail.ActivityTypeId == 7 {
 			articleDetail.IsShowSignup = true
+			articleDetail.IsShowMeetingReminder = true
+			articleDetail.ActivityTypeName = "分析师电话会"
 		}
 	}
 	if articleDetail.SourceType != 2 {
@@ -1644,7 +1684,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 +1701,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 +1713,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 +1745,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 {
@@ -1789,3 +1829,26 @@ func ActivityVideoUserRmind(user *models.WxUserItem, activityId, fileType int) (
 	}
 	return
 }
+
+// GetActivityCityResp 获取活动关联城市,当同一个活动标签对应多个城市的时候,展示最近举办的活动
+func GetActivityCityResp() (mapItem map[string]string, err error) {
+	activityList, err := models.GetActivityLabelListCity()
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	mapActivityCity := make(map[string]string)
+	if len(activityList) > 0 {
+		for _, v := range activityList {
+			if v.ActivityTypeId == utils.C_CLASS_ACTIVITY_TYPE_ID {
+				v.ActivityTypeId = utils.ANALYST_TELL_ACTIVITY_TYPE_ID
+			}
+			//如果城市民称长度大于2,那么就不显示
+			if utf8.RuneCountInString(v.City) != 2 || mapActivityCity[fmt.Sprint(v.Label, "{|}", v.ActivityTypeId)] != "" {
+				continue
+			}
+			mapActivityCity[fmt.Sprint(v.Label, "{|}", v.ActivityTypeId)] = v.City
+		}
+	}
+	mapItem = mapActivityCity
+	return
+}

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

+ 47 - 46
services/activity_special.go

@@ -15,7 +15,7 @@ import (
 //	UpdateCygxActivitySpecialSignupNum()
 //}
 
-//修改专项调研,用户与公司的参与数量
+// 修改专项调研,用户与公司的参与数量
 func UpdateCygxActivitySpecialSignupNum(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -71,7 +71,7 @@ func UpdateCygxActivitySpecialSignupNum(cont context.Context) (err error) {
 	return
 }
 
-//处理专项调研的展示
+// 处理专项调研的展示
 func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPermissionIds, permissionNameStr string) (item *models.ActivityTypeHome, err error) {
 	itemList := new(models.ActivityTypeHome)
 	if user.CompanyId <= 1 {
@@ -159,7 +159,7 @@ func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPerm
 	return
 }
 
-//HandleActivityLabelSpecialPermission 处理专项产业调研的查询权限sql 永续
+// HandleActivityLabelSpecialPermission 处理专项产业调研的查询权限sql 永续
 func HandleActivityLabelSpecialPermission(user *models.WxUserItem) (condition string, err error) {
 	permissionStr, e := GetCompanyPermission(user.CompanyId)
 	if e != nil {
@@ -191,7 +191,7 @@ func HandleActivityLabelSpecialPermission(user *models.WxUserItem) (condition st
 	return
 }
 
-//HandleActivityLabelSpecialPermisseion 处理专项产业调研的查询权限sql
+// HandleActivityLabelSpecialPermisseion 处理专项产业调研的查询权限sql
 func HandleActivityLabelSpecialTripPermission(user *models.WxUserItem) (condition string, err error) {
 	permissionStr, e := GetCompanyPermission(user.CompanyId)
 	if e != nil {
@@ -223,7 +223,7 @@ func HandleActivityLabelSpecialTripPermission(user *models.WxUserItem) (conditio
 	return
 }
 
-//获取预报名列表
+// 获取预报名列表
 func GetActivitySpecialPrepareList(user *models.WxUserItem, startSize, pageSize int, keywords string) (list []*models.CygxActivitySpecialDetail, totalPrepare int, err error) {
 	companyDetail, e := models.GetCompanyDetailByIdGroupTrip(user.CompanyId)
 	if e != nil {
@@ -361,7 +361,7 @@ func GetActivityLabelSpecialConfirmList(user *models.WxUserItem, startSize, page
 	return
 }
 
-//获取用户已经报名的活动
+// 获取用户已经报名的活动
 func GetSpecialTripUserMap(activityIds []int, userId int) (mapUserId map[int]int, err error) {
 	var condition string
 	var pars []interface{}
@@ -385,7 +385,7 @@ func GetSpecialTripUserMap(activityIds []int, userId int) (mapUserId map[int]int
 	return
 }
 
-//获取用户已经报名的活动数量
+// 获取用户已经报名的活动数量
 func GetSpecialTripUserSchedule(userId int) (total int, err error) {
 	var condition string
 	var pars []interface{}
@@ -399,7 +399,7 @@ func GetSpecialTripUserSchedule(userId int) (total int, err error) {
 	return
 }
 
-//GetActivitySpecialList 获取专项调研列表
+// GetActivitySpecialList 获取专项调研列表
 func GetActivitySpecialList(user *models.WxUserItem, currentIndex, pageSize int, keywords string) (list []*models.CygxActivitySpecialDetail, total int, err error) {
 	listConfirm, totalConfirm, e := GetActivityLabelSpecialConfirmList(user, (currentIndex-1)*pageSize, pageSize, 4, keywords)
 	if e != nil {
@@ -487,7 +487,7 @@ func GetActivitySpecialList(user *models.WxUserItem, currentIndex, pageSize int,
 	return
 }
 
-//HandleActivitySpecialShow 处理活动的状态
+// HandleActivitySpecialShow 处理活动的状态
 func HandleActivitySpecialShow(activityDetail *models.CygxActivitySpecialDetail, user *models.WxUserItem) (item *models.CygxActivitySpecialDetail, err error) {
 	var activityIds []int
 	resultTimeStart := utils.StrTimeToTime(activityDetail.ActivityTime)  //时间字符串格式转时间格式
@@ -521,7 +521,7 @@ func HandleActivitySpecialShow(activityDetail *models.CygxActivitySpecialDetail,
 	return
 }
 
-//活动与专项调研搜索 GetActivitySpecialSearcheList
+// 活动与专项调研搜索 GetActivitySpecialSearcheList
 func GetActivitySpecialSearcheList(user *models.WxUserItem, condition string, startSize, pageSize int, keywords string) (items []*models.ActivityDetail, total int, err error) {
 	var conditionSpecil string
 	var pars, parsSpecil []interface{}
@@ -536,46 +536,47 @@ func GetActivitySpecialSearcheList(user *models.WxUserItem, condition string, st
 		err = errors.New("GetActivitySpecialSearcheList, Err: " + e.Error())
 		return
 	}
-
-	// 查询IK分词后那一部分的数据
-	conditionActivityIk, e := GetActivityonditionList(user, "", "", "", "", "", 0, 1, keyword, 0, 2)
-	if e != nil && e.Error() != utils.ErrNoRow() {
-		err = errors.New("GetActivityonditionList, Err: " + e.Error())
-		return
-	}
-	conditionActivityIk += " AND art.is_limit_people = 1 AND art.publish_status = 1  "
-
-	totalIk, e := models.GetActivityCount(conditionActivityIk, 0, pars, 0)
-	if e != nil {
-		err = errors.New("GetActivityonditionList, Err: " + e.Error())
-		return
-	}
-	total = totalSearche + totalIk
 	keyWordArr, e := GetIndustryMapNameSliceV3(keywords)
 	if e != nil {
 		err = errors.New("GetActivityonditionList, Err: " + e.Error())
 		return
 	}
-	keyWordArr = RemoveDuplicatesAndEmpty(keyWordArr)
-	startSizeIk := startSize - totalSearche
-	if startSizeIk < 0 {
-		startSizeIk = 0
-	}
-	var pageSizeIk int
-	pageSizeIk = pageSize - len(list)
-	if pageSizeIk > 0 {
-		//搜索关键词联想
-		conditionActivityIk += ` ORDER BY art.activity_time DESC ,  art.active_state ASC   `
-		listIk, e := models.GetActivityListNew(conditionActivityIk, pars, user.UserId, startSizeIk, pageSizeIk, 0, 0, "")
+	var totalIk int
+	if len(keyWordArr) > 1 {
+
+		// 查询IK分词后那一部分的数据
+		conditionActivityIk, e := GetActivityonditionList(user, "", "", "", "", "", 0, 1, keyword, 0, 2)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetActivityonditionList, Err: " + e.Error())
+			return
+		}
+		conditionActivityIk += " AND art.is_limit_people = 1 AND art.publish_status = 1  "
+		totalIk, e = models.GetActivityCount(conditionActivityIk, 0, pars, 0)
 		if e != nil {
 			err = errors.New("GetActivityonditionList, Err: " + e.Error())
 			return
 		}
-		for _, item := range listIk {
-			list = append(list, item)
+		keyWordArr = RemoveDuplicatesAndEmpty(keyWordArr)
+		startSizeIk := startSize - totalSearche
+		if startSizeIk < 0 {
+			startSizeIk = 0
+		}
+		var pageSizeIk int
+		pageSizeIk = pageSize - len(list)
+		if pageSizeIk > 0 {
+			//搜索关键词联想
+			conditionActivityIk += ` ORDER BY art.activity_time DESC ,  art.active_state ASC   `
+			listIk, e := models.GetActivityListNew(conditionActivityIk, pars, user.UserId, startSizeIk, pageSizeIk, 0, 0, "")
+			if e != nil {
+				err = errors.New("GetActivityonditionList, Err: " + e.Error())
+				return
+			}
+			for _, item := range listIk {
+				list = append(list, item)
+			}
 		}
 	}
-
+	total = totalSearche + totalIk
 	items, e = HandleActivityListButton(list, user)
 	if e != nil {
 		err = errors.New("HandleActivityListButton, Err: " + e.Error())
@@ -584,7 +585,7 @@ func GetActivitySpecialSearcheList(user *models.WxUserItem, condition string, st
 	return
 }
 
-//获取 专项调研客户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //8、行业升级套餐客户 //9、其余正式客户;5、试用客户
+// 获取 专项调研客户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //8、行业升级套餐客户 //9、其余正式客户;5、试用客户
 func GetActivitySpecialUserType(companyId int) (userType int, permissionStrnew string, err error) {
 	var permissionStr string
 	if companyId <= 1 {
@@ -642,8 +643,8 @@ func GetActivitySpecialUserType(companyId int) (userType int, permissionStrnew s
 	return
 }
 
-//GetSpecialUserType 获取专项产业调研的用户身份类型
-//获取 专项调研客户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //8、行业升级套餐客户 //9、其余正式客户;5、试用客户
+// GetSpecialUserType 获取专项产业调研的用户身份类型
+// 获取 专项调研客户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //8、行业升级套餐客户 //9、其余正式客户;5、试用客户
 func GetSpecialUserType(user *models.WxUserItem) (userType int, err error) {
 	companyId := user.CompanyId
 	companyDetail, e := models.GetCompanyDetailByIdGroupTrip(companyId)
@@ -687,7 +688,7 @@ func GetSpecialUserType(user *models.WxUserItem) (userType int, err error) {
 	return
 }
 
-//GetSpecialDetailUserPower 处理用户查看专项调研详情的权限
+// GetSpecialDetailUserPower 处理用户查看专项调研详情的权限
 func GetSpecialDetailUserPower(user *models.WxUserItem, activityInfo *models.CygxActivitySpecialDetail) (havePower bool, err error) {
 	permissionStr, e := GetCompanyPermissionUpgrade(user.CompanyId)
 	if e != nil {
@@ -729,7 +730,7 @@ func GetSpecialDetailUserPower(user *models.WxUserItem, activityInfo *models.Cyg
 	return
 }
 
-//预报名活动,感兴趣人数满10人时,推送给活动负责人和王芳
+// 预报名活动,感兴趣人数满10人时,推送给活动负责人和王芳
 func SendWxMsgActivitySpecial10(activityInfo *models.CygxActivitySpecialDetail) (err error) {
 	activityId := activityInfo.ActivityId
 	var msg string
@@ -797,7 +798,7 @@ func SendWxMsgActivitySpecial10(activityInfo *models.CygxActivitySpecialDetail)
 	return
 }
 
-//SendWxMsgActivitySpecialTwoDays  活动开始前两天08:00,提醒报名客户 \提醒报名客户的对口销售
+// SendWxMsgActivitySpecialTwoDays  活动开始前两天08:00,提醒报名客户 \提醒报名客户的对口销售
 func SendWxMsgActivitySpecialTwoDays(cont context.Context) (err error) {
 	var msg string
 	defer func() {
@@ -904,7 +905,7 @@ func SendWxMsgActivitySpecialTwoDays(cont context.Context) (err error) {
 	return
 }
 
-//SendWxMsgActivitySpecialCancel  线下活动前4天08:00报名人数不足7人,线上活动前3天08:00报名人数不足10人,活动自动取消发布,并推送模板消息至报名客户及对口销售
+// SendWxMsgActivitySpecialCancel  线下活动前4天08:00报名人数不足7人,线上活动前3天08:00报名人数不足10人,活动自动取消发布,并推送模板消息至报名客户及对口销售
 func SendWxMsgActivitySpecialCancel(cont context.Context) (err error) {
 	var msg string
 	defer func() {

+ 16 - 13
services/article.go

@@ -77,7 +77,7 @@ func GetReportContentTextSubNew(content string) (contentSub string, err error) {
 	return
 }
 
-//GetReportContentTextSubByarticle 解析文章内容
+// GetReportContentTextSubByarticle 解析文章内容
 func GetReportContentTextSubByarticle(content, abstract string, articleId int) (contentSub string, err error) {
 	var lenabstract int
 	//如果不是研选就这么展示
@@ -104,7 +104,7 @@ func GetReportContentTextSubByarticle(content, abstract string, articleId int) (
 
 }
 
-//解析文章内容
+// 解析文章内容
 func GetArticleAll() {
 	var err error
 	defer func() {
@@ -123,7 +123,7 @@ func GetArticleAll() {
 	}
 }
 
-//解析报告
+// 解析报告
 func FixArticleContent(articleId int) {
 	item, err := models.GetArticleDetailById(articleId)
 	if err != nil {
@@ -320,7 +320,7 @@ func FixArticleImgUrl(body string) (contentSub string, err error) {
 	return
 }
 
-//获取标签里的第一个内容
+// 获取标签里的第一个内容
 func FixArticleFirstCount(body string) (contentSub string, err error) {
 
 	doc, err := goquery.NewDocumentFromReader(strings.NewReader(body))
@@ -370,7 +370,7 @@ func SynchronizationArtclehistory() {
 	fmt.Println("同步结束")
 }
 
-//统计报表
+// 统计报表
 func StatisticalReport() {
 	var isSummaryNumAll, isClassNum, pvNumAll, uvNumAll int
 	list, err := models.GetChartPermissionActivity()
@@ -555,7 +555,7 @@ func PushViewRecordNewRedisData(reportViewRecord *ReportViewRecord, companyId in
 //	fmt.Println(sum)
 //}
 
-//获取策略平台报告阅读数据
+// 获取策略平台报告阅读数据
 func GetCeLueArticlePv(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -684,7 +684,7 @@ func init122() {
 
 }
 
-//处理同步过来的文章
+// 处理同步过来的文章
 func HandleArticleListByApi(artcleId int) (err error) {
 	defer func() {
 		if err != nil {
@@ -800,6 +800,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		item.FieldName = articleResult.Field.Name
 		item.TypeName = articleResult.Type.Name
 		item.UpdateDate = articleResult.UpdateDate
+		item.CeLueFieldId = articleResult.Field.Id
 		list = append(list, item)
 		itemAuthor.ArticleId = articleResult.ArticleId
 		itemAuthor.Name = articleResult.Author.Name
@@ -985,6 +986,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			updateParams["Annotation"] = v.Annotation
 			updateParams["TypeName"] = v.TypeName
 			updateParams["ModifyTimeByCl"] = v.UpdateDate
+			updateParams["CeLueFieldId"] = v.CeLueFieldId
 			whereParam := map[string]interface{}{"article_id": v.ArticleId}
 			err = models.UpdateByExpr(models.CygxArticle{}, whereParam, updateParams)
 			if err != nil {
@@ -1027,6 +1029,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			item.Annotation = v.Annotation
 			item.TypeName = v.TypeName
 			item.ModifyTimeByCl = v.UpdateDate
+			item.CeLueFieldId = v.CeLueFieldId
 			newId, err := models.AddCygxArticles(item)
 			if err != nil {
 				fmt.Println("AddCygxArticle Err:", err.Error())
@@ -1161,7 +1164,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 //	DoArticleOnenIdWxTemplateMsg(6940)
 //}
 
-//过滤策略平台报告,研选报告重复推送,以及权限勾选的推送
+// 过滤策略平台报告,研选报告重复推送,以及权限勾选的推送
 func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 	//策略平台同步过来的文章ID,做微信模板消息推送,同一篇报告12小时只推送一次
 	cacheKey := fmt.Sprint(utils.CACHE_KEY_ARTICLE_ID_TEMPLATE, ":ArticleId", articleId)
@@ -1591,7 +1594,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 	return
 }
 
-//GetSpecialArticleDetailUserPower 处理用户查看专项调研文章详情的权限
+// GetSpecialArticleDetailUserPower 处理用户查看专项调研文章详情的权限
 func GetSpecialArticleDetailUserPower(user *models.WxUserItem, articleInfo *models.ArticleDetail) (havePower bool, err error) {
 	permissionStr, e := GetCompanyPermissionUpgrade(user.CompanyId)
 	if e != nil {
@@ -1621,7 +1624,7 @@ func GetSpecialArticleDetailUserPower(user *models.WxUserItem, articleInfo *mode
 //	GetArticNewLabelWhithActivity3Month()
 //}
 
-//弘则报告发布日期在三个月以内的
+// 弘则报告发布日期在三个月以内的
 func GetArticNewLabelWhithActivity3Month() (labelMap map[int]bool, err error) {
 	var condition string
 	var pars []interface{}
@@ -1670,7 +1673,7 @@ func GetArticNewLabelWhithActivity3Month() (labelMap map[int]bool, err error) {
 	return
 }
 
-//HandleArticleCategoryImg 预处理文章的封面图片
+// HandleArticleCategoryImg 预处理文章的封面图片
 func HandleArticleCategoryImg(list []*models.HomeArticle) (items []*models.HomeArticle, err error) {
 	//研选的五张图片
 	detailResearch, e := models.GetConfigByCode("category_research_img_url")
@@ -1808,7 +1811,7 @@ func HandleArticleCategoryImg(list []*models.HomeArticle) (items []*models.HomeA
 	return
 }
 
-//处理核心观点的展示规则
+// 处理核心观点的展示规则
 func ArticleAnnotation(item *models.HomeArticle) (annotation string) {
 	if item.ArticleId >= utils.SummaryArticleId {
 		item.Annotation = YxArticleAnnotation(item)
@@ -1881,7 +1884,7 @@ func ArticleAnnotation(item *models.HomeArticle) (annotation string) {
 	return
 }
 
-//解析研选内容中的核心观点
+// 解析研选内容中的核心观点
 func YxArticleAnnotation(article *models.HomeArticle) (annotation string) {
 	//如果不规范,就获取内容主体
 	if strings.Count(article.Body, "<hr") == 0 {

+ 113 - 42
services/elastic.go

@@ -35,7 +35,7 @@ func NewClient() (client *elastic.Client, err error) {
 	return
 }
 
-//创建文章阅读记录的Es索引
+// 创建文章阅读记录的Es索引
 func CreateIndexNameArticleHistory() {
 	indexName := utils.IndexNameArticleHistory
 	mappingJson := `{
@@ -101,7 +101,7 @@ func CreateIndexNameArticleHistory() {
 	EsCreateIndex(indexName, mappingJson)
 }
 
-//func UpdateWxUserLabel(cont context.Context) (err error) {
+// func UpdateWxUserLabel(cont context.Context) (err error) {
 func AddAllArticleHistory(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -261,7 +261,7 @@ func AddAllArticleHistory(cont context.Context) (err error) {
 	return
 }
 
-//新增数据
+// 新增数据
 func EsAddArticleHistoryData(item *models.EsUserInteraction) (err error) {
 	defer func() {
 		if err != nil {
@@ -285,8 +285,8 @@ func EsAddArticleHistoryData(item *models.EsUserInteraction) (err error) {
 	return
 }
 
-//indexName:索引名称
-//mappingJson:表结构
+// indexName:索引名称
+// mappingJson:表结构
 func EsCreateIndex(indexName, mappingJson string) (err error) {
 
 	client := utils.Client
@@ -312,7 +312,7 @@ func EsCreateIndex(indexName, mappingJson string) (err error) {
 	return
 }
 
-//新增和修改数据
+// 新增和修改数据
 func EsAddOrEditData(indexName, docId string, item *ElasticTestArticleDetail) (err error) {
 	defer func() {
 		if err != nil {
@@ -360,7 +360,7 @@ func EsAddOrEditData(indexName, docId string, item *ElasticTestArticleDetail) (e
 	return
 }
 
-//新增和修改数据
+// 新增和修改数据
 func EsAddOrEditDataV4(indexName, docId string, item *ElasticTestArticleDetailV4) (err error) {
 	defer func() {
 		if err != nil {
@@ -409,7 +409,7 @@ func EsAddOrEditDataV4(indexName, docId string, item *ElasticTestArticleDetailV4
 	return
 }
 
-//删除数据
+// 删除数据
 func EsDeleteData(indexName, docId string) (err error) {
 	client := utils.Client
 	//if err != nil {
@@ -723,7 +723,7 @@ func EsSearchReport(indexName, keyWord string, startSize, pageSize, userId int)
 	return
 }
 
-//分页
+// 分页
 func EsMultiMatchFunctionScoreQueryTimeSortPage(indexName, keyWord string, startSize, pageSize, userId int) (result []*models.SearchItem, total int64, err error) {
 	client := utils.Client
 	keyWordArr, err := GetIndustryMapNameSliceV2(keyWord)
@@ -887,42 +887,105 @@ func EsMultiMatchFunctionScoreQuerySortPage(indexName, keyWord string, startSize
 	return
 }
 
-func init23423() {
-	EsArticleSearch("立高食品", 0, 10, "34")
-}
+//func init23423() {
+//	EsArticleSearch("立高食品", 0, 10, "34")
+//}
 
-func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string) (result []*models.SearchItem, total int64, err error) {
+func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string, ikType int) (result []*models.SearchItem, total int64, err error) {
 	indexName := utils.IndexName
 	client := utils.Client
 	keyWordArr, err := GetIndustryMapNameSliceV3(keyWord)
 	keyWordArr = RemoveDuplicatesAndEmpty(keyWordArr)
-	fmt.Println(keyWordArr)
 	keyWordLen := len(keyWordArr)
 	if keyWordLen <= 0 {
 		keyWordArr = append(keyWordArr, keyWord)
 		keyWordLen = len(keyWordArr)
 	}
-	fmt.Println(keyWordArr)
+	//Es 的高级查询有 自定义排序 文档一时半会儿撸不懂,先做多次查询手动过滤 2023.2.2
+	//ikType 查询方式 ,0:查所有 、 1:查询键入词 、 2:查询除了查询键入词之外的联想词
 	mustMap := make([]interface{}, 0)
 	shouldMap := make(map[string]interface{}, 0)
-	//shouldMapquery := make(map[string]interface{}, 0)
 	shouldMapquery := make([]interface{}, 0)
+
+	mustNotMap := make([]interface{}, 0)
+	shouldNotMap := make(map[string]interface{}, 0)
+	shouldNotMapquery := make([]interface{}, 0)
 	// @Param   OrderColumn   query   int  true       "排序字段 ,Comprehensive综合 ,Matching匹配度 ,PublishDate 发布时间 "
 	//keyWordWeight := GetWeight(keyWordLen)
-	//var boost int
+	var boost int
 	//lenkeyWordArr := len(keyWordArr)
-	for _, v := range keyWordArr {
-		//if k == 0 {
-		//	boost = 2 * 1000
-		//} else {
-		//	boost = 1000
-		//}
+	for k, v := range keyWordArr {
+		if k == 0 {
+			boost = 2 * 1000
+		} else {
+			boost = 1
+		}
+
+		//如果是 2:查询除了查询键入词之外的联想词
+		if k == 0 && ikType == 2 {
+			if v != "" {
+				shouldNotMapquery = append(shouldNotMapquery, map[string]interface{}{
+					"function_score": map[string]interface{}{
+						"query": map[string]interface{}{
+							"multi_match": map[string]interface{}{
+								//"boost":  (lenkeyWordArr - k) * boost, //给查询的值赋予权重
+								"boost":  boost, //给查询的值赋予权重
+								"fields": []interface{}{"Title"},
+								"query":  v,
+							},
+						},
+					},
+				})
+				shouldNotMapquery = append(shouldNotMapquery, map[string]interface{}{
+					"function_score": map[string]interface{}{
+						"query": map[string]interface{}{
+							"multi_match": map[string]interface{}{
+								"boost":  boost, //给查询的值赋予权重
+								"fields": []interface{}{"Abstract"},
+								"query":  v,
+							},
+						},
+					},
+				})
+				shouldNotMapquery = append(shouldNotMapquery, map[string]interface{}{
+					"function_score": map[string]interface{}{
+						"query": map[string]interface{}{
+							"multi_match": map[string]interface{}{
+								"boost":  boost, //给查询的值赋予权重
+								"fields": []interface{}{"Annotation"},
+								"query":  v,
+							},
+						},
+					},
+				})
+
+				shouldNotMapquery = append(shouldNotMapquery, map[string]interface{}{
+					"function_score": map[string]interface{}{
+						"query": map[string]interface{}{
+							"multi_match": map[string]interface{}{
+								//"boost":  (lenkeyWordArr-k)*boost - 1, //给查询的值赋予权重
+								"boost":  boost, //给查询的值赋予权重
+								"fields": []interface{}{"BodyText"},
+								"query":  v,
+							},
+						},
+					},
+				})
+			}
+			continue
+		}
+		//如果是 1:查询键入词
+		if k > 0 && ikType == 1 {
+			continue
+		}
+
 		if v != "" {
 			shouldMapquery = append(shouldMapquery, map[string]interface{}{
 				"function_score": map[string]interface{}{
 					"query": map[string]interface{}{
 						"multi_match": map[string]interface{}{
 							//"boost":  (lenkeyWordArr - k) * boost, //给查询的值赋予权重
+							"boost":  boost, //给查询的值赋予权重
 							"fields": []interface{}{"Title"},
 							"query":  v,
 						},
@@ -933,7 +996,7 @@ func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string
 				"function_score": map[string]interface{}{
 					"query": map[string]interface{}{
 						"multi_match": map[string]interface{}{
-							//"boost":  (lenkeyWordArr - k) * boost, //给查询的值赋予权重
+							"boost":  boost, //给查询的值赋予权重
 							"fields": []interface{}{"Abstract"},
 							"query":  v,
 						},
@@ -944,18 +1007,20 @@ func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string
 				"function_score": map[string]interface{}{
 					"query": map[string]interface{}{
 						"multi_match": map[string]interface{}{
-							//"boost":  (lenkeyWordArr - k) * boost, //给查询的值赋予权重
+							"boost":  boost, //给查询的值赋予权重
 							"fields": []interface{}{"Annotation"},
 							"query":  v,
 						},
 					},
 				},
 			})
+
 			shouldMapquery = append(shouldMapquery, map[string]interface{}{
 				"function_score": map[string]interface{}{
 					"query": map[string]interface{}{
 						"multi_match": map[string]interface{}{
 							//"boost":  (lenkeyWordArr-k)*boost - 1, //给查询的值赋予权重
+							"boost":  boost, //给查询的值赋予权重
 							"fields": []interface{}{"BodyText"},
 							"query":  v,
 						},
@@ -967,8 +1032,13 @@ func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string
 	shouldMap = map[string]interface{}{
 		"should": shouldMapquery,
 	}
+
+	shouldNotMap = map[string]interface{}{
+		"should": shouldNotMapquery,
+	}
 	//排序
 	sortMap := make([]interface{}, 0)
+
 	//时间
 	sortMap = append(sortMap, map[string]interface{}{
 		"PublishDate": map[string]interface{}{
@@ -992,6 +1062,10 @@ func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string
 	mustMap = append(mustMap, map[string]interface{}{
 		"bool": shouldMap,
 	})
+	mustNotMap = append(mustNotMap, map[string]interface{}{
+		"bool": shouldNotMap,
+	})
+
 	queryMap := map[string]interface{}{
 		"query": map[string]interface{}{
 			"bool": map[string]interface{}{
@@ -999,14 +1073,25 @@ func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string
 			},
 		},
 	}
+	//把第一次键入词的筛选条件过滤掉
+	if ikType == 2 {
+		queryMap = map[string]interface{}{
+			"query": map[string]interface{}{
+				"bool": map[string]interface{}{
+					"must":     mustMap,
+					"must_not": mustNotMap,
+				},
+			},
+		}
+	}
 	if orderColumn == "Matching" {
 		queryMap["sort"] = sortMap
 	}
 	queryMap["from"] = startSize
 	queryMap["size"] = pageSize
 	queryMap["highlight"] = highlightMap
-	//jsonBytes, _ := json.Marshal(queryMap)
-	//fmt.Println(string(jsonBytes))
+	jsonBytes, _ := json.Marshal(queryMap)
+	fmt.Println(string(jsonBytes))
 	//utils.FileLog.Info(string(jsonBytes))
 	request := client.Search(indexName).Source(queryMap) // sets the JSON request
 	searchByMatch, err := request.Do(context.Background())
@@ -1025,18 +1110,8 @@ func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string
 				}
 				searchItem := new(models.SearchItem)
 				searchItem.ArticleId, _ = strconv.Atoi(v.Id)
-				if len(v.Highlight["BodyText"]) > 0 || len(v.Highlight["Abstract"]) > 0 || len(v.Highlight["Annotation"]) > 0 {
+				if len(v.Highlight["BodyText"]) > 0 {
 					searchItem.Body = v.Highlight["BodyText"]
-					if len(v.Highlight["Abstract"]) > 0 {
-						for _, vRed := range v.Highlight["Abstract"] {
-							searchItem.Body = append(searchItem.Body, vRed)
-						}
-					}
-					if len(v.Highlight["Annotation"]) > 0 {
-						for _, vRed := range v.Highlight["Annotation"] {
-							searchItem.Body = append(searchItem.Body, vRed)
-						}
-					}
 				} else {
 					bodyRune := []rune(article.BodyText)
 					bodyRuneLen := len(bodyRune)
@@ -1068,9 +1143,5 @@ func EsArticleSearch(keyWord string, startSize, pageSize int, orderColumn string
 		}
 		total = searchByMatch.Hits.TotalHits.Value
 	}
-	//fmt.Println(result)
-	//for _, v := range result {
-	//	fmt.Println(v)
-	//}
 	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 {

+ 2 - 2
services/task.go

@@ -99,8 +99,8 @@ func Task() {
 		sendWxMsgActivitySpecialTwoDays := task.NewTask("sendWxMsgActivitySpecialTwoDays", "0 0 8 * * *", SendWxMsgActivitySpecialTwoDays)
 		task.AddTask("sendWxMsgActivitySpecialTwoDays", sendWxMsgActivitySpecialTwoDays) //活动开始前两天08:00,提醒报名客户 \提醒报名客户的对口销售
 
-		sendWxMsgActivitySpecialCancel := task.NewTask("sendWxMsgActivitySpecialCancel", "0 0 8 * * *", SendWxMsgActivitySpecialCancel)
-		task.AddTask("sendWxMsgActivitySpecialCancel", sendWxMsgActivitySpecialCancel) // 线下活动前4天08:00报名人数不足7人,线上活动前3天08:00报名人数不足10人,活动自动取消发布,并推送模板消息至报名客户及对口销售
+		//sendWxMsgActivitySpecialCancel := task.NewTask("sendWxMsgActivitySpecialCancel", "0 0 8 * * *", SendWxMsgActivitySpecialCancel)
+		//task.AddTask("sendWxMsgActivitySpecialCancel", sendWxMsgActivitySpecialCancel) // 线下活动前4天08:00报名人数不足7人,线上活动前3天08:00报名人数不足10人,活动自动取消发布,并推送模板消息至报名客户及对口销售
 
 	}
 	if utils.RunMode != "release" {