瀏覽代碼

策略榜单列表bug处理

xingzai 2 年之前
父節點
當前提交
b7c9e6dfb2
共有 2 個文件被更改,包括 51 次插入40 次删除
  1. 3 0
      services/article_red.go
  2. 48 40
      services/industrial_management.go

+ 3 - 0
services/article_red.go

@@ -163,6 +163,9 @@ func GetUserArticleHistoryRecord(user *models.WxUserItem) (articleIdMap map[int]
 
 // GetUserArticleHistoryIndustrialNewPublishDate  获取产业关联的的文章用户是否阅读
 func GetUserArticleHistoryIndustrialNewPublishDate(user *models.WxUserItem, industrialIdArr []int, articleTypeIds, resource string) (mapIndustrialArticleHistory map[int]bool, err error) {
+	if len(industrialIdArr) == 0 {
+		return
+	}
 	var condition string
 	var pars []interface{}
 	articleIdMap, err := GetUserArticleHistoryRecord(user)

+ 48 - 40
services/industrial_management.go

@@ -163,8 +163,8 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
 	}
 	//获取产业关联的的文章用户是否阅读
 	mapIndustrialArticleHistory, err := GetUserArticleHistoryIndustrialNewPublishDate(user, industrialIdArr, articleTypeIds, resource)
-
 	if err != nil {
+		err = errors.New("获取产业关联的的文章用户是否阅读失败 " + err.Error())
 		return
 	}
 	mapUPdateTime := make(map[int]string)
@@ -172,40 +172,47 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
 	//获取这些产业下最新更新的文章
 	var conditionindustrial string
 	var parsindustrial []interface{}
-	conditionindustrial = condition + ` AND mg.industrial_management_id  IN (` + utils.GetOrmInReplace(len(industrialIdArr)) + `)`
-	parsindustrial = append(parsindustrial, industrialIdArr)
-	listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(parsindustrial, conditionindustrial)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return
-	}
-	for _, v := range listUpdateTime {
-		mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
-		articleIdArr = append(articleIdArr, v.ArticleId)
-	}
+	var industrialIds string
+	if len(industrialIdArr) > 0 {
+		conditionindustrial = condition + ` AND mg.industrial_management_id  IN (` + utils.GetOrmInReplace(len(industrialIdArr)) + `)`
+		parsindustrial = append(parsindustrial, industrialIdArr)
+		listUpdateTime, e := models.GetNewArticleDetailByIndustrialIds(parsindustrial, conditionindustrial)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetNewArticleDetailByIndustrialIds Err " + err.Error())
+			return
+		}
+		for _, v := range listUpdateTime {
+			mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
+			articleIdArr = append(articleIdArr, v.ArticleId)
+		}
 
-	//时间线的更新时间
-	//	maptimelineUPdateTime := make(map[int]string)
-	listtimelinePublishdate, err := models.GetTimeLineReportIndustrialPublishdateList(industrialIdArr)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return
-	}
-	for _, v := range listtimelinePublishdate {
-		if mapUPdateTime[v.IndustrialManagementId] != "" {
-			if utils.StrTimeToTime(v.PublishDate).After(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
-				mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
+		//时间线的更新时间
+		//	maptimelineUPdateTime := make(map[int]string)
+		listtimelinePublishdate, e := models.GetTimeLineReportIndustrialPublishdateList(industrialIdArr)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = e
+			return
+		}
+		for _, v := range listtimelinePublishdate {
+			if mapUPdateTime[v.IndustrialManagementId] != "" {
+				if utils.StrTimeToTime(v.PublishDate).After(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+					mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
+				}
 			}
 		}
-	}
-
-	var industrialIds string
-	for _, id := range industrialIdArr {
-		industrialIds += strconv.Itoa(id) + ","
-	}
-	industrialIds = strings.TrimRight(industrialIds, ",")
-	articleList, err := models.GetReportIndustrialReadNumList(userId, industrialIds, user.CreatedTime)
-	mapHistroyindustrialId := make(map[int]int)
-	for _, v := range articleList {
-		mapHistroyindustrialId[v.IndustrialManagementId] = v.Readnum
+		for _, id := range industrialIdArr {
+			industrialIds += strconv.Itoa(id) + ","
+		}
+		industrialIds = strings.TrimRight(industrialIds, ",")
+		articleList, e := models.GetReportIndustrialReadNumList(userId, industrialIds, user.CreatedTime)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = e
+			return
+		}
+		mapHistroyindustrialId := make(map[int]int)
+		for _, v := range articleList {
+			mapHistroyindustrialId[v.IndustrialManagementId] = v.Readnum
+		}
 	}
 	nowTime := time.Now().Local()
 	threeMonBefore := nowTime.AddDate(0, -3, 0)
@@ -233,17 +240,18 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
 			industrialIdMap[industrialManagementIdstr] = v.CreateTime
 		}
 	}
-
-	mmList, err := models.GetCygxMorningMeetingReviewsListByIndustrialIds(industrialIds)
-	if err != nil {
-		return
-	}
 	morningMeetingTimeMap := make(map[int]time.Time)
-	for _, v := range mmList {
-		morningMeetingTimeMap[v.IndustryId] = v.CreateTime
+	if industrialIds != "" {
+		mmList, e := models.GetCygxMorningMeetingReviewsListByIndustrialIds(industrialIds)
+		if e != nil {
+			err = e
+			return
+		}
+		for _, v := range mmList {
+			morningMeetingTimeMap[v.IndustryId] = v.CreateTime
+		}
 	}
 	timeLineRedMap := make(map[int]bool, 0)
-
 	for _, industrialId := range industrialIdArr {
 		//if createTime, ok := industrialIdMap[strconv.Itoa(industrialId)]; ok {
 		//	if createTime.Before(morningMeetingTimeMap[industrialId]) {