xingzai 2 år sedan
förälder
incheckning
0196b34b9b

+ 1 - 0
controllers/activity.go

@@ -341,6 +341,7 @@ func (this *ActivityController) ActivityListNew() {
 		// 新标签
 		if activityId > 0 {
 			activityIds := []int{activityId}
+
 			activityNewMap, _, e := services.GetActivityNewLabelMap(activityIds)
 			if e != nil {
 				br.Msg = "获取信息失败"

+ 8 - 0
models/article.go

@@ -184,3 +184,11 @@ type CygxArticleEs struct {
 	FileLink         string `description:"下载预览链接"`
 	MatchTypeName    string `description:"匹配类型"`
 }
+
+//获取文章列表
+func GetArticleList(condition string, pars []interface{}) (items []*ArticleDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT	article_id FROM cygx_article  WHERE 1= 1 ` + condition
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}

+ 15 - 0
models/industrial_article_group_management.go

@@ -39,3 +39,18 @@ func GetIndustryArticleMinMaxPublishTime(condition string, pars []interface{}) (
 	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
 	return
 }
+
+// GetIndustrialArticleGroupManagementList  查询产业
+func GetIndustrialArticleGroupManagementList(condition string, pars []interface{}) (list []*CygxIndustrialArticleGroupManagement, err error) {
+	sql := `SELECT
+				*
+			FROM
+				cygx_industrial_article_group_management AS a
+			WHERE
+				1 = 1 `
+	if condition != `` {
+		sql += condition
+	}
+	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
+	return
+}

+ 31 - 5
services/activity.go

@@ -266,6 +266,19 @@ func LabelStr(label string, isShowSubjectName int, temporaryLabel string) (label
 //列表
 func HandleActivityTypeHomeList(listType []*models.ActivityTypeHome, listActivity []*models.CygxActivity, user *models.WxUserItem) (items []*models.ActivityTypeHome, err error) {
 	mapActivity := make(map[int][]*models.CygxActivityLabelList)
+	activityIds := make([]int, 0) // 用于查询活动【新】标签Map
+	for _, v := range listActivity {
+		if v.ActivityTypeId == 1 {
+			activityIds = append(activityIds, v.ActivityId)
+		}
+	}
+	// 活动【新】标签Map
+	newLabelMap, _, e := GetActivityNewLabelMap(activityIds)
+	if e != nil {
+		err = errors.New("获取产业新标签Map失败,GetActivityNewLabelMap Err: " + e.Error())
+		return
+	}
+
 	for _, v := range listActivity {
 		if v.Label == "" {
 			continue
@@ -280,12 +293,10 @@ func HandleActivityTypeHomeList(listType []*models.ActivityTypeHome, listActivit
 		if v.YidongActivityId != "" {
 			item.IsExternalLabel = true
 		}
-		//if len(mapActivity[v.ActivityTypeId]) > 10 {
-		//	continue
-		//}
-
+		item.IsNew = newLabelMap[v.ActivityId]
 		mapActivity[v.ActivityTypeId] = append(mapActivity[v.ActivityTypeId], item)
 	}
+
 	for _, v := range listType {
 		v.Resource = 1
 		if len(mapActivity[v.ActivityTypeId]) > 0 {
@@ -294,6 +305,7 @@ func HandleActivityTypeHomeList(listType []*models.ActivityTypeHome, listActivit
 			v.List = make([]*models.CygxActivityLabelList, 0)
 		}
 	}
+
 	items = listType
 	fmt.Println(len(mapActivity))
 	return
@@ -534,7 +546,7 @@ func GetActivityNewLabelMap(activityIds []int) (labelMap map[int]bool, industryN
 	// 获取活动关联的产业
 	var groupCond string
 	var groupPars []interface{}
-	groupCond += ` AND a.activity_id IN (` + utils.GetOrmInReplace(len(activityIds)) + `)`
+	groupCond += ` AND a.activity_id IN (` + utils.GetOrmInReplace(len(activityIds)) + `) AND b.source = 1 `
 	groupPars = append(groupPars, activityIds)
 	groups, e := models.GetActivityIndustryRelationList(groupCond, groupPars)
 	if e != nil {
@@ -568,6 +580,20 @@ func GetActivityNewLabelMap(activityIds []int) (labelMap map[int]bool, industryN
 		}
 	}
 
+	//for _, v := range activityIds {
+	//	labelMap[v] = true
+	//}
+	//fmt.Println(labelMap)
+	////产业关联的弘则报告发布日期在三个月以内的活动、产业显示 NEW标签
+	articNewLabel, e := GetArticNewLabelWhithActivity3Month()
+	if e != nil {
+		err = errors.New("获取产业新标签Map失败, Err: " + e.Error())
+		return
+	}
+	for k := range articNewLabel {
+		labelMap[k] = false
+	}
+
 	return
 }
 

+ 3 - 3
services/activity_special.go

@@ -29,7 +29,7 @@ func ActivityLabelSpecialSql(chartPermissionIds, whichDay string) (condition str
 		} else if whichDay == "2" {
 			startDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
 			endDate = startDate
-		} else if whichDay == "1,2" {
+		} else if whichDay == "1,2" || whichDay == "2,1" {
 			startDate = time.Now().Format(utils.FormatDate)
 			endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
 		} else if whichDay == "3" {
@@ -44,10 +44,10 @@ func ActivityLabelSpecialSql(chartPermissionIds, whichDay string) (condition str
 		} else if whichDay == "6" {
 			startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
 			endDate = utils.GetLastMonthLastDay().Format(utils.FormatDate)
-		} else if whichDay == "3,4" {
+		} else if whichDay == "3,4" || whichDay == "4,3" {
 			startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
 			endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
-		} else if whichDay == "5,6" {
+		} else if whichDay == "5,6" || whichDay == "6,5" {
 			startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
 			endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
 		} else {

+ 50 - 0
services/article.go

@@ -9,6 +9,7 @@ import (
 	"html"
 	"strconv"
 	"strings"
+	"time"
 	"unicode/utf8"
 )
 
@@ -193,3 +194,52 @@ func HandleArticleStock(stock string) (items []*models.ComapnyNameResp) {
 	}
 	return
 }
+
+//弘则报告发布日期在三个月以内的
+func GetArticNewLabelWhithActivity3Month() (labelMap map[int]bool, err error) {
+	var condition string
+	var pars []interface{}
+	condition += ` AND publish_date  <= ?  AND article_id < ? `
+	pars = append(pars, time.Now().AddDate(0, -3, 0), utils.SummaryArticleId)
+	articleList, e := models.GetArticleList(condition, pars)
+	if e != nil {
+		err = errors.New("GetArticleList, Err: " + e.Error())
+		return
+	}
+	var articleIds []int
+	for _, v := range articleList {
+		articleIds = append(articleIds, v.ArticleId)
+	}
+	if len(articleIds) == 0 {
+		return
+	}
+
+	pars = make([]interface{}, 0)
+	condition = ` AND article_id IN (` + utils.GetOrmInReplace(len(articleIds)) + `)`
+	pars = append(pars, articleIds)
+	industrialList, e := models.GetIndustrialArticleGroupManagementList(condition, pars)
+	if e != nil {
+		err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error())
+		return
+	}
+	labelMap = make(map[int]bool, 0)
+	var industrialIds []int
+	for _, v := range industrialList {
+		industrialIds = append(industrialIds, v.IndustrialManagementId)
+	}
+
+	// 获取活动关联的产业
+	var groupCond string
+	var groupPars []interface{}
+	groupCond += ` AND b.industrial_management_id IN (` + utils.GetOrmInReplace(len(industrialIds)) + `)  AND b.source = 1  `
+	groupPars = append(groupPars, industrialIds)
+	groups, e := models.GetActivityIndustryRelationList(groupCond, groupPars)
+	if e != nil {
+		err = errors.New("获取活动产业关联列表失败, Err: " + e.Error())
+		return
+	}
+	for _, v := range groups {
+		labelMap[v.ActivityId] = true
+	}
+	return
+}