Bladeren bron

1,把弘则机构的阅读记录加入到用户统计
2,取消关注作者,直接删除对应数据
3,完善用户互动详情定时任务

xingzai 2 jaren geleden
bovenliggende
commit
6aa38e5f7e

+ 1 - 1
controllers/article.go

@@ -690,7 +690,7 @@ func (this *ArticleController) AddStopTime() {
 				}
 
 				//不统计本公司的阅读记录、正常退出的不做时间差统计
-				if user.CompanyId != 16 && stopTime > 3 {
+				if stopTime > 3 {
 					key := "CYGX_ARTICLE_PV" + strconv.Itoa(articleId) + "_" + strconv.Itoa(uid) + "_" + strconv.Itoa(user.CompanyId) + "_" + strconv.Itoa(outType)
 					record := new(models.CygxArticleHistoryRecordNewpv)
 					record.UserId = uid

+ 4 - 4
models/article_department_follow.go

@@ -37,8 +37,8 @@ type CygxArticleDepartmentFollowResp struct {
 
 func RemoveArticleDepartmentFollow(userId, industrialManagementId, doType int) (err error) {
 	o := orm.NewOrm()
-	sql := `UPDATE cygx_article_department_follow SET type = ? ,modify_time=? WHERE user_id=? AND department_id=? `
-	_, err = o.Raw(sql, doType, time.Now(), userId, industrialManagementId).Exec()
+	sql := `DELETE FROM cygx_article_department_follow WHERE user_id=? AND department_id=? `
+	_, err = o.Raw(sql, userId, industrialManagementId).Exec()
 	return
 }
 
@@ -67,7 +67,7 @@ func GetArticleDepartmentFollowByMobileList(condition string) (items []*CygxArti
 //修改用户关注作者的相关信息
 func UpdateCygxArticleDepartmentFollow(wxUser *WxUserItem) (err error) {
 	o := orm.NewOrm()
-	sql := `UPDATE cygx_article_department_follow SET email=?,company_id=?,company_name=?,mobile=?,real_name=? WHERE user_id=? `
-	_, err = o.Raw(sql, wxUser.Email, wxUser.CompanyId, wxUser.CompanyName, wxUser.Mobile, wxUser.RealName, wxUser.UserId).Exec()
+	sql := `UPDATE cygx_article_department_follow SET email=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE mobile=? `
+	_, err = o.Raw(sql, wxUser.Email, wxUser.CompanyId, wxUser.CompanyName, wxUser.UserId, wxUser.RealName, wxUser.Mobile).Exec()
 	return
 }

+ 1 - 1
models/article_history_record_newpv.go

@@ -43,7 +43,7 @@ func AddCygxArticleViewRecordNewpv(item *CygxArticleHistoryRecordNewpv) (lastId
 	record := new(CygxArticleHistoryRecordAll)
 	record.UserId = item.UserId
 	record.ArticleId = item.ArticleId
-	record.CreateTime = time.Now().Format(utils.FormatDateTime)
+	record.CreateTime = item.CreateTime.Format(utils.FormatDateTime)
 	record.ModifyTime = item.ModifyTime
 	record.Mobile = item.Mobile
 	record.Email = item.Email

+ 8 - 0
models/chart_collect.go

@@ -171,3 +171,11 @@ func UpdateCygxChartCollect(wxUser *WxUserItem) (err error) {
 	_, err = o.Raw(sql, wxUser.Email, wxUser.CompanyId, wxUser.CompanyName, wxUser.UserId, wxUser.RealName, wxUser.Mobile).Exec()
 	return
 }
+
+//获取列表
+func GetCygxChartCollectList() (items []*CygxChartCollect, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_chart_collect   `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 3 - 3
models/industry_fllow.go

@@ -37,8 +37,8 @@ type CygxIndustryFllowResp struct {
 
 func RemoveCygxIndustryFllow(userId, industrialManagementId, doType int) (err error) {
 	o := orm.NewOrm()
-	sql := `UPDATE cygx_industry_fllow SET type = ? ,modify_time=? WHERE user_id=? AND industrial_management_id=? `
-	_, err = o.Raw(sql, doType, time.Now(), userId, industrialManagementId).Exec()
+	sql := `DELETE FROM cygx_industry_fllow WHERE user_id=? AND industrial_management_id=? `
+	_, err = o.Raw(sql, userId, industrialManagementId).Exec()
 	return
 }
 
@@ -67,7 +67,7 @@ func GetCygxIndustryFllowList(condition string) (items []*CygxIndustryFllow, err
 //修改用户关注的相关信息
 func UpdateCygxIndustryFllow(wxUser *WxUserItem) (err error) {
 	o := orm.NewOrm()
-	sql := `UPDATE cygx_industry_fllow SET email=?,company_id=?,company_name=?,mobile=?,real_name=? WHERE user_id=? `
+	sql := `UPDATE cygx_industry_fllow SET email=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE mobile=? `
 	_, err = o.Raw(sql, wxUser.Email, wxUser.CompanyId, wxUser.CompanyName, wxUser.Mobile, wxUser.RealName, wxUser.UserId).Exec()
 	return
 }

+ 4 - 4
models/wx_user.go

@@ -321,7 +321,7 @@ func GetUserRegisterList() (items []*WxUser, err error) {
 			AND u.register_time IS NOT NULL
 			AND cp.product_id = 2
 		GROUP BY
-			u.user_id  `
+			u.user_id `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
@@ -489,12 +489,12 @@ func GetCygxCompanyUserUserInteraction(userIds string) (items []*CygxUserInterac
 			( SELECT COUNT( 1 ) FROM cygx_article_collect AS h WHERE h.user_id = u.user_id  ) AS count_num,
 			( SELECT COUNT( 1 ) FROM cygx_chart_collect AS h WHERE h.user_id = u.user_id  ) AS chart_count_num,
 			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h WHERE h.user_id = u.user_id  ) AS industry_fllow_num,
-			( SELECT COUNT( 1 ) FROM cygx_article_department_follow AS h WHERE h.user_id = u.user_id  ) AS department_follow_num,
+			( SELECT COUNT( 1 ) FROM cygx_article_department_follow AS h WHERE h.user_id = u.user_id   ) AS department_follow_num,
 			( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = u.user_id  ) AS key_word_num,
 			( SELECT COUNT( 1 ) FROM cygx_activity_signup AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id  INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id   WHERE h.mobile = u.mobile  
-					AND a.is_submit_meeting = 1  AND t.activity_type = 1  AND h.do_fail_type = 0 ) AS on_line_num,
+					 AND t.activity_type = 1  AND h.do_fail_type = 0 ) AS on_line_num,
 			( SELECT COUNT( 1 ) FROM cygx_activity_signup AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id  INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id   WHERE h.mobile = u.mobile  
-					AND a.is_submit_meeting = 1  AND t.activity_type = 0 AND h.do_fail_type = 0 ) AS office_num,
+					  AND t.activity_type = 0 AND h.do_fail_type = 0 ) AS office_num,
 			(
 			SELECT
 				GROUP_CONCAT( DISTINCT man.industry_name SEPARATOR ',' ) 

+ 5 - 5
services/chart.go

@@ -194,7 +194,7 @@ func GetUserTokenByMobile(mobile string) (token string, err error) {
 func GetChartCollectionByApi(mobile string, take, skip int) (items []*models.HomeChartListResp, err error, total int) {
 	defer func() {
 		if err != nil {
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetChartPtagByApi ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetChartPtagByApi ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
 	url := utils.ApiUrl + "charts/favorites?take=" + strconv.Itoa(take) + "&skip=" + strconv.Itoa(skip)
@@ -342,8 +342,8 @@ func DoCompany() {
 	//	}
 	//}
 	//var condition string
-	//updateTime := time.Now().Add(-time.Hour * 25).Format(utils.FormatDateTime)
-	//condition = ` AND create_time  > ` + "'" + updateTime + "'"
+	////updateTime := time.Now().Add(-time.Hour * 25).Format(utils.FormatDateTime)
+	//condition = ` AND real_name  = '' `
 	//listArticlePv, err := models.GetArticleHistoryRecordAllByMobileList(condition)
 	//if err != nil {
 	//	fmt.Println("GetArticleHistoryRecordAllByMobileList ,Err" + err.Error())
@@ -365,7 +365,7 @@ func DoCompany() {
 	//	}
 	//}
 
-	//listIndustryFllow, err := models.GetCygxIndustryFllowList()
+	//listIndustryFllow, err := models.GetCygxIndustryFllowList("")
 	//if err != nil {
 	//	fmt.Println("GetArticleDepartmentFollowByMobileList ,Err" + err.Error())
 	//}
@@ -386,7 +386,7 @@ func DoCompany() {
 	//	}
 	//}
 	//
-	//lisDepartmentF, err := models.GetArticleDepartmentFollowByMobileList()
+	//lisDepartmentF, err := models.GetArticleDepartmentFollowByMobileList("")
 	//if err != nil {
 	//	fmt.Println("GetArticleDepartmentFollowByMobileList ,Err" + err.Error())
 	//}

+ 1 - 1
services/task.go

@@ -76,7 +76,7 @@ func Task() {
 		getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
 		task.AddTask("getArticleListByApi", getArticleListByApi)
 	}
-	//UpdateWxUserLabel()
+
 	//DoCompany()
 	//ActivityAttendanceDetail()
 	//SynchronizationArthistory()//同步原有的阅读记录

+ 51 - 26
services/wx_user.go

@@ -19,45 +19,61 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 			utils.FileLog.Info("更新用户标签失败,Err:%s", err.Error())
 		}
 	}()
+	//获取需要处理的权益客户
 	listUser, err := models.GetUserRegisterList()
 	if err != nil {
 		fmt.Println("GetUserRegisterList Err", err)
 		return err
 	}
 
+	mapChartCollect := make(map[string]int)
+	//获取已经处理记录的用户并记录切片
+	listChartCollectL, err := models.GetCygxChartCollectList()
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		fmt.Println("GetCygxUserInteractionNumList Err", err)
+		return err
+	}
+	for _, v := range listChartCollectL {
+		mapChartCollect[fmt.Sprint("m:", v.Mobile, "u:", v.ChartId)] = v.UserId
+	}
+
 	var interactionNum int //  互动量
 	mapComapnyInteractionNum := make(map[int]int)
 
 	//拉取策略平台用户同步的图表信息
+
 	{
 		var chartMobile string
 		var chartItems []*models.CygxChartCollect
-		for _, vUser := range listUser {
-			if vUser.Mobile != "" {
-				mobile := vUser.Mobile
-				fmt.Println(vUser.Mobile)
-				chartMobile += mobile + ","
-				listChart, _, _ := GetChartCollectionByApi(mobile, 9999, 0)
-				if len(listChart) > 0 {
-					for _, vChart := range listChart {
-						item := new(models.CygxChartCollect)
-						item.ChartId = vChart.ChartId
-						t1, _ := time.Parse("2006-01-02T15:04:05Z", vChart.CreateDate)
-						item.CreateTime = t1
-						item.Mobile = mobile
-						chartItems = append(chartItems, item)
+
+		if utils.RunMode == "release" {
+			for k, vUser := range listUser {
+				if vUser.Mobile != "" {
+					mobile := vUser.Mobile
+					fmt.Println(vUser.Mobile, "_", k)
+					chartMobile += mobile + ","
+					listChart, _, _ := GetChartCollectionByApi(mobile, 9999, 0)
+					if len(listChart) > 0 {
+						for _, vChart := range listChart {
+							if mapChartCollect[fmt.Sprint("m:", mobile, "u:", vChart.ChartId)] == 0 {
+								item := new(models.CygxChartCollect)
+								item.ChartId = vChart.ChartId
+								t1, _ := time.Parse("2006-01-02T15:04:05Z", vChart.CreateDate)
+								item.CreateTime = t1
+								item.Mobile = mobile
+								chartItems = append(chartItems, item)
+							}
+						}
 					}
 				}
 			}
 		}
-		chartMobile = strings.TrimRight(chartMobile, ",")
-		err = models.RemoveChartCollectByMobile(chartMobile)
-		if err != nil {
-			fmt.Println(" RemoveChartCollectByMobile Err", err)
-		}
-		_, err = models.AddCygxChartCollectList(chartItems)
-		if err != nil {
-			fmt.Println(" RemoveChartCollectByMobile Err", err)
+		//如果有数据就添加
+		if len(chartItems) > 0 {
+			_, err = models.AddCygxChartCollectList(chartItems)
+			if err != nil {
+				fmt.Println(" RemoveChartCollectByMobile Err", err)
+			}
 		}
 
 		//处理图表关注后的用户
@@ -85,8 +101,8 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 		}
 	}
 
+	//处理 前一天移动之后的用户的公司记录信息
 	{
-		//处理 前一天移动之后的用户的公司记录信息
 		updateTime := time.Now().Add(-time.Hour * 25).Format("2006-01-02 15:04:05")
 		listUpdateUser, err := models.GetWxUserOpLogList(updateTime)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -135,7 +151,6 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 			if err != nil {
 				fmt.Println("GetCygxIndustryFllowList ,Err" + err.Error())
 			}
-			fmt.Println("修改用户关注的产业长度", len(listIndustryFllow))
 			for k, v := range listIndustryFllow {
 				if v.Mobile != "" {
 					user, err := models.GetWxUserItemByUserId(v.UserId)
@@ -159,7 +174,6 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 			if err != nil {
 				fmt.Println("GetArticleHistoryRecordAllByMobileList ,Err" + err.Error())
 			}
-			fmt.Println("修改用户的阅读记录长度", len(listArticlePv))
 			for k, v := range listArticlePv {
 				if v.Mobile != "" {
 					user, err := models.GetWxUserItemByMobile(v.Mobile)
@@ -473,6 +487,11 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 								itemsInteraction = append(itemsInteraction, itemInteraction)
 							} else {
 								err = models.UpdateCygxUserInteractionNum(itemInteraction)
+								if err != nil {
+									fmt.Println("UpdateCygxUserInteractionNum Err", err)
+									return err
+								}
+								fmt.Println(itemInteraction.UserId)
 							}
 						}
 					}
@@ -519,12 +538,18 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 							itemsInteraction = append(itemsInteraction, itemInteraction)
 						} else {
 							err = models.UpdateCygxUserInteractionNum(itemInteraction)
+							if err != nil {
+								fmt.Println("UpdateCygxUserInteractionNum Err", err)
+								return err
+							}
+							fmt.Println(itemInteraction.UserId)
+							err = models.UpdateCygxUserInteractionNum(itemInteraction)
 						}
 					}
 				}
 			}
 		}
-		//修改机构互动量信息
+		////修改机构互动量信息
 		if len(mapComapnyInteractionNum) > 0 {
 			for k, v := range mapComapnyInteractionNum {
 				err = models.UpdateComapanyInteractionNum(v, k)