Browse Source

开启进门财经数据同步

xingzai 3 years ago
parent
commit
6640bee418

+ 17 - 2
controllers/report.go

@@ -1903,6 +1903,7 @@ func (this *ReportController) IndustryListByDepartmentPc() {
 		}
 		}
 		slice := strings.Split(keyWord, "/")
 		slice := strings.Split(keyWord, "/")
 		if len(slice) > 1 {
 		if len(slice) > 1 {
+			var subjectIds string
 			for _, v := range slice {
 			for _, v := range slice {
 				subjectId, err := models.GetcygxIndustrialSubjectByName(v)
 				subjectId, err := models.GetcygxIndustrialSubjectByName(v)
 				if err != nil {
 				if err != nil {
@@ -1911,11 +1912,25 @@ func (this *ReportController) IndustryListByDepartmentPc() {
 					return
 					return
 				}
 				}
 				if subjectId != "" {
 				if subjectId != "" {
-
+					subjectIds += subjectId + ","
 				}
 				}
-				fmt.Println(v)
+			}
+			subjectIds = strings.TrimRight(subjectIds, ",")
+			articleBySub, err := models.GetArticleIdsBySubId(subjectIds)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取文章关联的标的失败,Err:" + err.Error()
+				return
+			}
+			if articleIdGroup != "" {
+				if articleBySub != "" {
+					articleIdGroup += "," + articleBySub
+				}
+			} else {
+				articleIdGroup = articleBySub
 			}
 			}
 		}
 		}
+
 	}
 	}
 
 
 	if articleIdGroup != "" {
 	if articleIdGroup != "" {

+ 18 - 27
models/activity_attendance_detail.go

@@ -28,18 +28,7 @@ type CygxActivityAttendanceDetail struct {
 //添加会议提醒信息
 //添加会议提醒信息
 func AddCygxActivityAttendanceDetail(item *CygxActivityAttendanceDetail) (lastId int64, err error) {
 func AddCygxActivityAttendanceDetail(item *CygxActivityAttendanceDetail) (lastId int64, err error) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
-
 	tx, err := o.Begin()
 	tx, err := o.Begin()
-	//o.Begin()
-	//defer func() {
-	//	fmt.Println(err)
-	//	if err == nil {
-	//		o.C
-	//	} else {
-	//		o.Rollback()
-	//	}
-	//}()
-
 	defer func() {
 	defer func() {
 		fmt.Println(err)
 		fmt.Println(err)
 		if err == nil {
 		if err == nil {
@@ -114,15 +103,6 @@ type RoadshowData struct {
 
 
 func AddAttendancDetail(items []*CygxActivityAttendanceDetail, activityId int, mobileStr string) (err error) {
 func AddAttendancDetail(items []*CygxActivityAttendanceDetail, activityId int, mobileStr string) (err error) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
-	//o.Begin()
-	//defer func() {
-	//	fmt.Println(err)
-	//	if err == nil {
-	//		o.Commit()
-	//	} else {
-	//		o.Rollback()
-	//	}
-	//}()
 	//修改活动是否上传到会信息字段
 	//修改活动是否上传到会信息字段
 	sql := `UPDATE cygx_activity SET  is_submit_meeting=1   WHERE activity_id=? `
 	sql := `UPDATE cygx_activity SET  is_submit_meeting=1   WHERE activity_id=? `
 	_, err = o.Raw(sql, activityId).Exec()
 	_, err = o.Raw(sql, activityId).Exec()
@@ -146,13 +126,16 @@ func AddAttendancDetail(items []*CygxActivityAttendanceDetail, activityId int, m
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
-	//插入提交信息
-	for _, v := range items {
-		_, err = o.Insert(v)
-		if err != nil {
-			return
-		}
-	}
+
+	//
+	////插入提交信息
+	//for _, v := range items {
+	//	_, err = o.Insert(v)
+	//	if err != nil {
+	//		return
+	//	}
+	//}
+	_, err = o.InsertMulti(1, items)
 	return
 	return
 }
 }
 
 
@@ -186,3 +169,11 @@ func GetWxUserOutboundMobile(mobileStr string) (item []*WxUserOutboundMobile, er
 	_, err = o.Raw(sql).QueryRows(&item)
 	_, err = o.Raw(sql).QueryRows(&item)
 	return
 	return
 }
 }
+
+//我的日程列表
+func GetActivityAttendanceDetailList(activityIds string) (items []*CygxActivityAttendanceDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_activity_attendance_detail WHERE activity_id IN (` + activityIds + `) `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 96 - 5
models/activity_meet_detail_log.go

@@ -27,7 +27,11 @@ func GetOfflineMeetingDetailListCompanyIdStr(companyIdStr string) (item []*CygxA
 
 
 func GetOfflineMeetingDetailListCompanyName(companyName string) (item []*CygxActivityMeetDetailLog, err error) {
 func GetOfflineMeetingDetailListCompanyName(companyName string) (item []*CygxActivityMeetDetailLog, err error) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
-	sql := `SELECT * FROM cygx_activity_meet_detail_log WHERE company_name IN (` + companyName + `)`
+	sql := `SELECT l.* 
+			FROM
+			cygx_activity_meet_detail_log AS l INNER JOIN company AS c ON c.company_name = l.company_name 
+			WHERE
+	l.company_name IN (` + companyName + `)  GROUP BY l.company_name`
 	_, err = o.Raw(sql).QueryRows(&item)
 	_, err = o.Raw(sql).QueryRows(&item)
 	return
 	return
 }
 }
@@ -41,7 +45,11 @@ func AddCygxActivityMeetDetailLog(item *CygxActivityMeetDetailLog) (lastId int64
 
 
 func GetActivityMeetDetailLog(mobileStr string) (item []*CygxActivityMeetDetailLog, err error) {
 func GetActivityMeetDetailLog(mobileStr string) (item []*CygxActivityMeetDetailLog, err error) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
-	sql := `SELECT * FROM  cygx_activity_meet_detail_log WHERE mobile IN (` + mobileStr + `)`
+	sql := `SELECT l.* 
+			FROM
+			cygx_activity_meet_detail_log  as l 
+			INNER JOIN wx_user as u ON u.outbound_mobile = l.mobile
+			WHERE l.mobile IN (` + mobileStr + `)  GROUP BY l.mobile `
 	_, err = o.Raw(sql).QueryRows(&item)
 	_, err = o.Raw(sql).QueryRows(&item)
 	return
 	return
 }
 }
@@ -80,7 +88,7 @@ func UpdateActivityMeetDetailLogByUser(mobile string, num int) (err error) {
 	return
 	return
 }
 }
 
 
-//添加线上到会记录
+//添加线上到会记录(下载使用)
 func AddCygxActivityMeetDetailLogOnline(list []*CygxActivityAttendanceDetail, activityId int) (err error) {
 func AddCygxActivityMeetDetailLogOnline(list []*CygxActivityAttendanceDetail, activityId int) (err error) {
 	o, err := orm.NewOrm().Begin()
 	o, err := orm.NewOrm().Begin()
 	if err != nil {
 	if err != nil {
@@ -117,13 +125,92 @@ func AddCygxActivityMeetDetailLogOnline(list []*CygxActivityAttendanceDetail, ac
 	}
 	}
 	CompanyName = strings.TrimRight(CompanyName, ",")
 	CompanyName = strings.TrimRight(CompanyName, ",")
 	MobileStr = strings.TrimRight(MobileStr, ",")
 	MobileStr = strings.TrimRight(MobileStr, ",")
-	for _, v := range items {
-		_, err = o.Insert(v)
+	_, err = o.InsertMulti(1, items)
+	listCompany, err := GetOfflineMeetingDetailListCompanyName(CompanyName)
+	if err != nil {
+		return
+	}
+	//修改公司对应的数量
+	var condition string
+	for _, v := range listCompany {
+		var total int
+		condition = ` AND company_name = '` + v.CompanyName + `' `
+		total, err = GetActivityMeetDetailLogCount(condition)
+		if err != nil {
+			return
+		}
+		sql := ` UPDATE cygx_activity_meet_detail_log SET  company_meet_num= ?  WHERE company_name = ?`
+		_, err = o.Raw(sql, total, v.CompanyName).Exec()
+		if err != nil {
+			return
+		}
+	}
+	listMobile, err := GetActivityMeetDetailLog(MobileStr)
+	if err != nil {
+		return
+	}
+	//修改个人对应的数量
+	for _, v := range listMobile {
+		var total int
+		condition = ` AND mobile = '` + v.Mobile + `' `
+		total, err = GetActivityMeetDetailLogCount(condition)
+		if err != nil {
+			return
+		}
+		sql := ` UPDATE cygx_activity_meet_detail_log SET  user_meet_num= ?  WHERE mobile = ?`
+		_, err = o.Raw(sql, total, v.Mobile).Exec()
 		if err != nil {
 		if err != nil {
 			return
 			return
 		}
 		}
 	}
 	}
+	return
+}
+
+//添加线上到会记录
+func AddCygxActivityMeetDetailLogOnlineByList(list []*CygxActivityAttendanceDetail, activityIds string) (err error) {
+	o, err := orm.NewOrm().Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		fmt.Println(err)
+		if err == nil {
+			o.Commit()
+		} else {
+			o.Rollback()
+		}
+	}()
+	var CompanyName string
+	var MobileStr string
+	var items []*CygxActivityMeetDetailLog
+	//删除原有数据
+	sql := ` DELETE FROM cygx_activity_meet_detail_log WHERE activity_id IN (` + activityIds + `)`
+	_, err = o.Raw(sql).Exec()
+	if err != nil {
+		return
+	}
+	//插入新的数据
+	for _, v := range list {
+		item := new(CygxActivityMeetDetailLog)
+		item.ActivityId = v.ActivityId
+		item.Mobile = v.Mobile
+		fmt.Println(v.CompanyName)
+		item.CompanyName = v.CompanyName
+		item.CompanyId = v.CompanyId
+		item.CreateTime = v.CreateTime
+		if strings.Index(CompanyName, v.CompanyName) == -1 && v.CompanyName != "" {
+			CompanyName += "'" + v.CompanyName + "',"
+		}
+		if strings.Index(MobileStr, v.Mobile) == -1 && v.Mobile != "" {
+			MobileStr += v.Mobile + ","
+		}
+		items = append(items, item)
+	}
+	CompanyName = strings.TrimRight(CompanyName, ",")
+	MobileStr = strings.TrimRight(MobileStr, ",")
+	_, err = o.InsertMulti(1, items)
 	listCompany, err := GetOfflineMeetingDetailListCompanyName(CompanyName)
 	listCompany, err := GetOfflineMeetingDetailListCompanyName(CompanyName)
+	fmt.Println("公司数量", len(listCompany))
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
@@ -138,11 +225,13 @@ func AddCygxActivityMeetDetailLogOnline(list []*CygxActivityAttendanceDetail, ac
 		}
 		}
 		sql := ` UPDATE cygx_activity_meet_detail_log SET  company_meet_num= ?  WHERE company_name = ?`
 		sql := ` UPDATE cygx_activity_meet_detail_log SET  company_meet_num= ?  WHERE company_name = ?`
 		_, err = o.Raw(sql, total, v.CompanyName).Exec()
 		_, err = o.Raw(sql, total, v.CompanyName).Exec()
+		fmt.Println("处理公司", v.CompanyName)
 		if err != nil {
 		if err != nil {
 			return
 			return
 		}
 		}
 	}
 	}
 	listMobile, err := GetActivityMeetDetailLog(MobileStr)
 	listMobile, err := GetActivityMeetDetailLog(MobileStr)
+	fmt.Println("用户数量", len(listMobile))
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
@@ -156,9 +245,11 @@ func AddCygxActivityMeetDetailLogOnline(list []*CygxActivityAttendanceDetail, ac
 		}
 		}
 		sql := ` UPDATE cygx_activity_meet_detail_log SET  user_meet_num= ?  WHERE mobile = ?`
 		sql := ` UPDATE cygx_activity_meet_detail_log SET  user_meet_num= ?  WHERE mobile = ?`
 		_, err = o.Raw(sql, total, v.Mobile).Exec()
 		_, err = o.Raw(sql, total, v.Mobile).Exec()
+		fmt.Println("处理用户", v.Mobile)
 		if err != nil {
 		if err != nil {
 			return
 			return
 		}
 		}
 	}
 	}
+	fmt.Println("user_end")
 	return
 	return
 }
 }

+ 9 - 0
models/report.go

@@ -295,3 +295,12 @@ func GetCygxIndustryAndArticleList(keyWord string) (items []*CygxIndustryAndArti
 	_, err = o.Raw(sql).QueryRows(&items)
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 	return
 }
 }
+
+func GetArticleIdsBySubId(subjectId string) (articleIds string, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT	GROUP_CONCAT( DISTINCT a.article_id  SEPARATOR ',' ) AS articleIds 
+            FROM cygx_article AS a 
+			WHERE subject_ids  LIKE '%` + subjectId + `%'`
+	err = o.Raw(sql).QueryRow(&articleIds)
+	return
+}

+ 0 - 2
models/tactics.go

@@ -1,7 +1,6 @@
 package models
 package models
 
 
 import (
 import (
-	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"strconv"
 	"strconv"
@@ -123,7 +122,6 @@ func GetReportTacticsList(condition string, pars []interface{}, userId, startSiz
 		sql += condition
 		sql += condition
 	}
 	}
 	sql += ` ORDER BY publish_date DESC LIMIT ?,? `
 	sql += ` ORDER BY publish_date DESC LIMIT ?,? `
-	fmt.Println(sql)
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	return
 	return
 }
 }

+ 34 - 13
services/activity.go

@@ -658,10 +658,10 @@ func ActivityAttendanceDetail(cont context.Context) (err error) {
 			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromWind ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "RefreshDataFromWind ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 		}
 	}()
 	}()
-	var mobileStr string
+
 	fmt.Println("开始同步")
 	fmt.Println("开始同步")
-	dateTime := time.Now().AddDate(0, 0, -8).Format(utils.FormatDate)
-	dateNow := time.Now().AddDate(0, 0, -1).Format(utils.FormatDate)
+	dateTime := time.Now().AddDate(0, 0, -14).Format(utils.FormatDate)
+	dateNow := time.Now().AddDate(0, 0, 0).Format(utils.FormatDate)
 	startDate := dateTime + " 00:00:00"
 	startDate := dateTime + " 00:00:00"
 	endDate := dateNow + " 23:59:59"
 	endDate := dateNow + " 23:59:59"
 	//获取需要处理的活动
 	//获取需要处理的活动
@@ -671,7 +671,7 @@ func ActivityAttendanceDetail(cont context.Context) (err error) {
 		return err
 		return err
 	}
 	}
 	fmt.Println(listActivity)
 	fmt.Println(listActivity)
-	fmt.Println(mobileStr)
+
 	for _, vAct := range listActivity {
 	for _, vAct := range listActivity {
 		doTime := utils.TimeRemoveHms2(vAct.ActivityTime)
 		doTime := utils.TimeRemoveHms2(vAct.ActivityTime)
 		findStartDate := doTime + " 00:00:00"
 		findStartDate := doTime + " 00:00:00"
@@ -690,6 +690,7 @@ func ActivityAttendanceDetail(cont context.Context) (err error) {
 				needAddAttendanc := make([]*models.CygxActivityAttendanceDetail, 0)
 				needAddAttendanc := make([]*models.CygxActivityAttendanceDetail, 0)
 				fmt.Println("原来的", vAct.ActivityName)
 				fmt.Println("原来的", vAct.ActivityName)
 				fmt.Println("处理的", activityName)
 				fmt.Println("处理的", activityName)
+				var mobileStr string
 				if len(list) > 0 {
 				if len(list) > 0 {
 					for _, v := range list {
 					for _, v := range list {
 						if v.UserPhone != "" {
 						if v.UserPhone != "" {
@@ -738,27 +739,47 @@ func ActivityAttendanceDetail(cont context.Context) (err error) {
 							}
 							}
 						}
 						}
 					}
 					}
-					fmt.Println(mobileStr)
+					//fmt.Println(mobileStr)
+					//参会记录
 					err = models.AddAttendancDetail(needAddAttendanc, vAct.ActivityId, mobileStr)
 					err = models.AddAttendancDetail(needAddAttendanc, vAct.ActivityId, mobileStr)
 					if err != nil {
 					if err != nil {
 						fmt.Println("AddAttendancDetail Err:", err.Error())
 						fmt.Println("AddAttendancDetail Err:", err.Error())
 						return err
 						return err
 					}
 					}
+					////处理是否限制报名
 					err = AddCygxActivityRestrictSignupByAdmin(vAct.ActivityId)
 					err = AddCygxActivityRestrictSignupByAdmin(vAct.ActivityId)
 					if err != nil {
 					if err != nil {
 						fmt.Println("AddCygxActivityRestrictSignupByAdmin Err:", err.Error())
 						fmt.Println("AddCygxActivityRestrictSignupByAdmin Err:", err.Error())
 						return err
 						return err
 					}
 					}
-					err = models.AddCygxActivityMeetDetailLogOnline(needAddAttendanc, vAct.ActivityId)
-					if err != nil {
-						fmt.Println("AddCygxActivityMeetDetailLogOnline Err:", err.Error())
-						return err
-					}
+					////添加报名日志
+					//err = models.AddCygxActivityMeetDetailLogOnline(needAddAttendanc, vAct.ActivityId)
+					//if err != nil {
+					//	fmt.Println("AddCygxActivityMeetDetailLogOnline Err:", err.Error())
+					//	return err
+					//}
 
 
 				}
 				}
 			}
 			}
 		}
 		}
 	}
 	}
+	var activityIds string
+	for _, v := range listActivity {
+		activityIds += strconv.Itoa(v.ActivityId) + ","
+	}
+	activityIds = strings.TrimRight(activityIds, ",")
+
+	detailList, err := models.GetActivityAttendanceDetailList(activityIds)
+	if err != nil {
+		fmt.Println("GetActivityAttendanceDetailList Err:", err.Error())
+		return err
+	}
+	//添加报名日志 (下载使用)
+	err = models.AddCygxActivityMeetDetailLogOnlineByList(detailList, activityIds)
+	if err != nil {
+		fmt.Println("AddCygxActivityMeetDetailLogOnline Err:", err.Error())
+		return err
+	}
 	fmt.Println("结束路演同步")
 	fmt.Println("结束路演同步")
 	return
 	return
 }
 }
@@ -771,6 +792,9 @@ func AddCygxActivityRestrictSignupByAdmin(activityId int) (err error) {
 		fmt.Println(" Err:", err.Error())
 		fmt.Println(" Err:", err.Error())
 		return err
 		return err
 	}
 	}
+	if total == 0 {
+		return err
+	}
 	mobileList, _ := models.GetUserMeetingMobile(activityId)
 	mobileList, _ := models.GetUserMeetingMobile(activityId)
 	if len(mobileList) >= 0 {
 	if len(mobileList) >= 0 {
 		for _, v := range mobileList {
 		for _, v := range mobileList {
@@ -797,9 +821,6 @@ func AddCygxActivityRestrictSignupByAdmin(activityId int) (err error) {
 		}
 		}
 	}
 	}
 
 
-	if total == 0 {
-		return err
-	}
 	list, err := models.GetActivitySignupNomeetingCountList(activityId)
 	list, err := models.GetActivitySignupNomeetingCountList(activityId)
 	if err != nil {
 	if err != nil {
 		utils.FileLog.Info("用户限制报名失败,Err:%s,%s", err.Error())
 		utils.FileLog.Info("用户限制报名失败,Err:%s,%s", err.Error())

+ 1 - 0
services/article.go

@@ -52,6 +52,7 @@ func GetReportContentTextSub(content string) (contentSub string, err error) {
 	}
 	}
 	body := string(bodyRune[:bodyRuneLen])
 	body := string(bodyRune[:bodyRuneLen])
 	contentSub = body
 	contentSub = body
+	contentSub = strings.Replace(body, "Powered by Froala Editor", "", -1)
 	return
 	return
 }
 }
 
 

+ 2 - 2
services/task.go

@@ -53,8 +53,8 @@ func Task() {
 		//更改对应产业的文章阅读数量
 		//更改对应产业的文章阅读数量
 		chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
 		chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
 		task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
 		task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
-		//activityAttendanceDetail := task.NewTask("activityAttendanceDetail", "0 00 3 * * *", ActivityAttendanceDetail) //同步进门财经的路演信息
-		//task.AddTask("sendEmailUserWhiteListChange", activityAttendanceDetail)
+		activityAttendanceDetail := task.NewTask("activityAttendanceDetail", "0 00 3 * * *", ActivityAttendanceDetail) //同步进门财经的路演信息
+		task.AddTask("sendEmailUserWhiteListChange", activityAttendanceDetail)
 	}
 	}
 	//ActivityAttendanceDetail()
 	//ActivityAttendanceDetail()
 	//SynchronizationArthistory()//同步原有的阅读记录
 	//SynchronizationArthistory()//同步原有的阅读记录