Sfoglia il codice sorgente

图表收藏添加来源记录

xingzai 2 anni fa
parent
commit
8f5b652137
5 ha cambiato i file con 133 aggiunte e 87 eliminazioni
  1. 2 2
      models/activity_signup.go
  2. 57 2
      models/chart_collect.go
  3. 1 0
      models/db.go
  4. 63 63
      services/task.go
  5. 10 20
      services/wx_user.go

+ 2 - 2
models/activity_signup.go

@@ -559,7 +559,7 @@ func GetCygxActivitySignupByMobileList(condition string) (items []*CygxActivityS
 //修改用户关注作者的相关信息
 func UpdateCygxActivitySignup(wxUser *WxUserItem) (err error) {
 	o := orm.NewOrm()
-	sql := `UPDATE cygx_activity_signup 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()
+	sql := `UPDATE cygx_activity_signup 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()
 	return
 }

+ 57 - 2
models/chart_collect.go

@@ -17,11 +17,50 @@ type CygxChartCollect struct {
 	RealName    string    `description:"用户实际名称"`
 	SellerName  string    `description:"所属销售"`
 }
+type CygxChartCollectByCygx struct {
+	Id          int       `orm:"column(id);pk"`
+	ChartId     int       `description:"图表ID"`
+	UserId      int       `description:"用户ID"`
+	CreateTime  time.Time `description:"创建时间"`
+	Mobile      string    `description:"手机号"`
+	Email       string    `description:"邮箱"`
+	CompanyId   int       `description:"公司id"`
+	CompanyName string    `description:"公司名称"`
+	RealName    string    `description:"用户实际名称"`
+	SellerName  string    `description:"所属销售"`
+}
 
 //添加收藏信息
 func AddCygxChartCollect(item *CygxChartCollect) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o, err := orm.NewOrm().Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err == nil {
+			o.Commit()
+		} else {
+			o.Rollback()
+		}
+	}()
 	lastId, err = o.Insert(item)
+	if err != nil {
+		return
+	}
+	//添加查研观向来源的记录
+	itemCygx := new(CygxChartCollectByCygx)
+	itemCygx.ChartId = item.ChartId
+	itemCygx.UserId = item.UserId
+	itemCygx.RealName = item.RealName
+	itemCygx.CreateTime = time.Now()
+	itemCygx.Mobile = item.Mobile
+	itemCygx.Email = item.Email
+	itemCygx.CompanyId = item.CompanyId
+	itemCygx.CompanyName = item.CompanyName
+	lastId, err = o.Insert(itemCygx)
+	if err != nil {
+		return
+	}
 	return
 }
 
@@ -30,10 +69,26 @@ type ChartCollectResp struct {
 	CollectCount int `description:"收藏总数"`
 }
 
+//移除
 func RemoveChartCollect(userId, ChartId int) (err error) {
-	o := orm.NewOrm()
+	o, err := orm.NewOrm().Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err == nil {
+			o.Commit()
+		} else {
+			o.Rollback()
+		}
+	}()
 	sql := `DELETE FROM cygx_chart_collect WHERE user_id=? AND chart_id=? `
 	_, err = o.Raw(sql, userId, ChartId).Exec()
+	if err != nil {
+		return
+	}
+	sql = `DELETE FROM cygx_chart_collect_by_cygx WHERE user_id=? AND chart_id=? `
+	_, err = o.Raw(sql, userId, ChartId).Exec()
 	return
 }
 

+ 1 - 0
models/db.go

@@ -107,6 +107,7 @@ func init() {
 		new(CygxActivityAppointment),
 		new(UserTemplateRecord),
 		new(CygxUserInteractionNum),
+		new(CygxChartCollectByCygx),
 	)
 	// 记录ORM查询日志
 	orm.Debug = true

+ 63 - 63
services/task.go

@@ -14,69 +14,69 @@ import (
 
 func Task() {
 	fmt.Println("start")
-	//if utils.RunMode == "release" && utils.IsTask {
-	//	//syncTacticsListAddreport := task.NewTask("syncTacticsListAddreport", "0 */5 * * * *", SyncTacticsListAddreport) //同步文章
-	//	//task.AddTask("syncTacticsListAddreport", syncTacticsListAddreport)
-	//	getSummarytoEs := task.NewTask("getSummarytoEs", "0 */30 * * * *", GetSummarytoEs) //同步纪要库内容到Es
-	//	task.AddTask("getSummarytoEs", getSummarytoEs)
-	//	getArticleListByApi := task.NewTask("getArticleListByApi", "0 */5 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
-	//	task.AddTask("getArticleListByApi", getArticleListByApi)
-	//
-	//	//会议提醒模板消息推送
-	//	sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
-	//	task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
-	//	sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
-	//	task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
-	//
-	//	//预约外呼名单,会前1小时自动发送邮件给专家组
-	//	sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
-	//	task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
-	//
-	//	sendEmailUserWhiteListChange := task.NewTask("sendEmailUserWhiteListChange", "0 00 17 * * *", SendEmailUserWhiteListChange) //新增 和冻结的客户白名单
-	//	task.AddTask("白名单发送", sendEmailUserWhiteListChange)
-	//
-	//	dotongbuShangHai := task.NewTask("dotongbuShangHai", "0 30 3 * * *", DotongbuShangHai) //把信息同步到上海策略品台
-	//	task.AddTask("同步用户到上海", dotongbuShangHai)
-	//
-	//	dotongbuShangHaiSendEmail := task.NewTask("dotongbuShangHaiSendEmail", "0 00 4 * * *", DotongbuShangHaiSendEmail) //发送上海策略品台同步结果名单的邮件附件
-	//	task.AddTask("发送上海策略品台同步结果名单的邮件附件", dotongbuShangHaiSendEmail)
-	//
-	//	getChartListByApi := task.NewTask("getChartListByApi", "0 */30 * * * *", GetChartListByApi) //同步图表
-	//	task.AddTask("getChartListByApi", getChartListByApi)
-	//}
-	//
-	//if utils.IsTask {
-	//	//修改任务状
-	//	updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
-	//	task.AddTask("updateActivitySattus", updateActivitySattus)
-	//
-	//	//更新深 和新的标签
-	//	updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
-	//	task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
-	//
-	//	//更改对应产业的文章阅读数量
-	//	chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
-	//	task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
-	//	activityAttendanceDetail := task.NewTask("activityAttendanceDetail", "0 00 3 * * *", ActivityAttendanceDetail) //同步进门财经的路演信息
-	//	task.AddTask("sendEmailUserWhiteListChange", activityAttendanceDetail)
-	//
-	//	sendEmailFileForAskMsgResearch := task.NewTask("sendEmailFileForAskMsgResearch", "0 */5 8-22 * * *", SendEmailFileForAskMsgResearch) //研选系列专家电话会,会前1小时将问题列表发送给邮箱
-	//	task.AddTask("sendEmailFileForAskMsgResearch", sendEmailFileForAskMsgResearch)
-	//
-	//	sendEmailFileForAskMsg := task.NewTask("sendEmailFileForAskMsg", "0 */5 8-22 * * *", SendEmailFileForAskMsg) //非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
-	//	task.AddTask("sendEmailFileForAskMsg", sendEmailFileForAskMsg)
-	//
-	//	updateWxUserLabel := task.NewTask("updateWxUserLabel", "0 01 0 * * *", UpdateWxUserLabel) //更新用户的标签
-	//	task.AddTask("updateWxUserLabel", updateWxUserLabel)
-	//
-	//	getCeLueArticlePv := task.NewTask("getCeLueArticlePv", "0 */10 * * * *", GetCeLueArticlePv) //通过三方接口获取策略平台上的阅读记录
-	//	task.AddTask("getCeLueArticlePv", getCeLueArticlePv)
-	//}
-	//if utils.RunMode != "release" {
-	//	getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
-	//	task.AddTask("getArticleListByApi", getArticleListByApi)
-	//}
-	UpdateWxUserLabel()
+	if utils.RunMode == "release" && utils.IsTask {
+		//syncTacticsListAddreport := task.NewTask("syncTacticsListAddreport", "0 */5 * * * *", SyncTacticsListAddreport) //同步文章
+		//task.AddTask("syncTacticsListAddreport", syncTacticsListAddreport)
+		getSummarytoEs := task.NewTask("getSummarytoEs", "0 */30 * * * *", GetSummarytoEs) //同步纪要库内容到Es
+		task.AddTask("getSummarytoEs", getSummarytoEs)
+		getArticleListByApi := task.NewTask("getArticleListByApi", "0 */5 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
+		task.AddTask("getArticleListByApi", getArticleListByApi)
+
+		//会议提醒模板消息推送
+		sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
+		task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
+		sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
+		task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
+
+		//预约外呼名单,会前1小时自动发送邮件给专家组
+		sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
+		task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
+
+		sendEmailUserWhiteListChange := task.NewTask("sendEmailUserWhiteListChange", "0 00 17 * * *", SendEmailUserWhiteListChange) //新增 和冻结的客户白名单
+		task.AddTask("白名单发送", sendEmailUserWhiteListChange)
+
+		dotongbuShangHai := task.NewTask("dotongbuShangHai", "0 30 3 * * *", DotongbuShangHai) //把信息同步到上海策略品台
+		task.AddTask("同步用户到上海", dotongbuShangHai)
+
+		dotongbuShangHaiSendEmail := task.NewTask("dotongbuShangHaiSendEmail", "0 00 4 * * *", DotongbuShangHaiSendEmail) //发送上海策略品台同步结果名单的邮件附件
+		task.AddTask("发送上海策略品台同步结果名单的邮件附件", dotongbuShangHaiSendEmail)
+
+		getChartListByApi := task.NewTask("getChartListByApi", "0 */30 * * * *", GetChartListByApi) //同步图表
+		task.AddTask("getChartListByApi", getChartListByApi)
+	}
+
+	if utils.IsTask {
+		//修改任务状
+		updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
+		task.AddTask("updateActivitySattus", updateActivitySattus)
+
+		//更新深 和新的标签
+		updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
+		task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
+
+		//更改对应产业的文章阅读数量
+		chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
+		task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
+		activityAttendanceDetail := task.NewTask("activityAttendanceDetail", "0 00 3 * * *", ActivityAttendanceDetail) //同步进门财经的路演信息
+		task.AddTask("sendEmailUserWhiteListChange", activityAttendanceDetail)
+
+		sendEmailFileForAskMsgResearch := task.NewTask("sendEmailFileForAskMsgResearch", "0 */5 8-22 * * *", SendEmailFileForAskMsgResearch) //研选系列专家电话会,会前1小时将问题列表发送给邮箱
+		task.AddTask("sendEmailFileForAskMsgResearch", sendEmailFileForAskMsgResearch)
+
+		sendEmailFileForAskMsg := task.NewTask("sendEmailFileForAskMsg", "0 */5 8-22 * * *", SendEmailFileForAskMsg) //非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
+		task.AddTask("sendEmailFileForAskMsg", sendEmailFileForAskMsg)
+
+		updateWxUserLabel := task.NewTask("updateWxUserLabel", "0 01 0 * * *", UpdateWxUserLabel) //更新用户的标签
+		task.AddTask("updateWxUserLabel", updateWxUserLabel)
+
+		getCeLueArticlePv := task.NewTask("getCeLueArticlePv", "0 */10 * * * *", GetCeLueArticlePv) //通过三方接口获取策略平台上的阅读记录
+		task.AddTask("getCeLueArticlePv", getCeLueArticlePv)
+	}
+	if utils.RunMode != "release" {
+		getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
+		task.AddTask("getArticleListByApi", getArticleListByApi)
+	}
+	//UpdateWxUserLabel()
 	//DoCompany()
 	//ActivityAttendanceDetail()
 	//SynchronizationArthistory()//同步原有的阅读记录

+ 10 - 20
services/wx_user.go

@@ -1,6 +1,7 @@
 package services
 
 import (
+	"context"
 	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
@@ -10,8 +11,7 @@ import (
 	"time"
 )
 
-//func UpdateWxUserLabel(cont context.Context) (err error) {
-func UpdateWxUserLabel() (err error) {
+func UpdateWxUserLabel(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
 			go utils.SendAlarmMsg("更新用户标签失败;Err:"+err.Error(), 2)
@@ -32,7 +32,7 @@ func UpdateWxUserLabel() (err error) {
 	{
 		var chartMobile string
 		var chartItems []*models.CygxChartCollect
-		for k, vUser := range listUser {
+		for _, vUser := range listUser {
 			if vUser.Mobile != "" {
 				mobile := vUser.Mobile
 				chartMobile += mobile + ","
@@ -47,11 +47,8 @@ func UpdateWxUserLabel() (err error) {
 						chartItems = append(chartItems, item)
 					}
 				}
-				fmt.Println(mobile, "长度", len(listChart), "条数", k)
 			}
 		}
-
-		fmt.Println("总长度", len(chartItems))
 		chartMobile = strings.TrimRight(chartMobile, ",")
 		err = models.RemoveChartCollectByMobile(chartMobile)
 		if err != nil {
@@ -64,12 +61,11 @@ func UpdateWxUserLabel() (err error) {
 
 		//处理图表关注后的用户
 		{
-			fmt.Println("处理图表关注后的用户")
+
 			listChartCollect, err := models.GetCygxChartCollectByMobileList()
 			if err != nil {
 				fmt.Println("GetCygxChartCollectByMobileList ,Err" + err.Error())
 			}
-			fmt.Println("长度", len(listChartCollect))
 			for k, v := range listChartCollect {
 				if v.Mobile != "" {
 					user, err := models.GetWxUserItemByMobile(v.Mobile)
@@ -90,7 +86,7 @@ func UpdateWxUserLabel() (err error) {
 
 	{
 		//处理 前一天移动之后的用户的公司记录信息
-		updateTime := time.Now().Add(-time.Hour * 48).Format("2006-01-02 15:04:05")
+		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() {
 			return err
@@ -103,12 +99,9 @@ func UpdateWxUserLabel() (err error) {
 				mobiles += "'" + v.Mobile + "',"
 			}
 		}
-
 		userIds = strings.TrimRight(userIds, ",")
 		mobiles = strings.TrimRight(mobiles, ",")
 
-		fmt.Println(userIds)
-		fmt.Println(mobiles)
 		//如果用户ID不为空那么就处理这些用户的记录信息
 		if userIds != "" {
 			var condition string
@@ -187,7 +180,7 @@ func UpdateWxUserLabel() (err error) {
 			if err != nil {
 				fmt.Println("GetArticleHistoryRecordAllByMobileList ,Err" + err.Error())
 			}
-			fmt.Println("处理用户的搜索记录长度", len(listSearch))
+
 			for k, v := range listSearch {
 				if v.Mobile != "" {
 					user, err := models.GetWxUserItemByUserId(v.UserId)
@@ -210,7 +203,6 @@ func UpdateWxUserLabel() (err error) {
 				fmt.Println("GetArticleDepartmentFollowByMobileList ,Err" + err.Error())
 				return err
 			}
-			fmt.Println("处理用户的作者关注长度", len(lisDepartmentF))
 			for k, v := range lisDepartmentF {
 				if v.Mobile != "" {
 					user, err := models.GetWxUserItemByUserId(v.UserId)
@@ -235,19 +227,18 @@ func UpdateWxUserLabel() (err error) {
 				if err != nil {
 					fmt.Println("GetCygxChartCollectByMobileList ,Err" + err.Error())
 				}
-				fmt.Println("更新用户的报名信息长度", len(listSingUp))
-				for k, v := range listSingUp {
+				//fmt.Println("更新用户的报名信息长度", len(listSingUp))
+				for _, v := range listSingUp {
 					if v.Mobile != "" {
 						user, err := models.GetWxUserItemByMobile(v.Mobile)
 						if err != nil && err.Error() != utils.ErrNoRow() {
 							fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
 						}
 						if user != nil {
-							fmt.Println(user.RealName, k)
 							err = models.UpdateCygxActivitySignup(user)
 							if err != nil {
 								fmt.Println("UpdateCygxActivitySignup ,Err" + err.Error())
-								return err
+								//return err
 							}
 						}
 					}
@@ -495,7 +486,7 @@ func UpdateWxUserLabel() (err error) {
 				fmt.Println("GetCygxCompanyUserUserInteraction Err", err)
 				return err
 			}
-			fmt.Println("处理用户剩余的")
+			//fmt.Println("处理用户剩余的")
 			//处理用户的互动量
 			if len(userUserInteractionList) > 0 {
 				for _, vsplit := range userUserInteractionList {
@@ -535,7 +526,6 @@ func UpdateWxUserLabel() (err error) {
 		if len(mapComapnyInteractionNum) > 0 {
 			for k, v := range mapComapnyInteractionNum {
 				err = models.UpdateComapanyInteractionNum(v, k)
-				fmt.Println(k, "修改", v)
 			}
 		}
 		// 批量添加用户互动量信息