Browse Source

Merge branch 'cygx/cygx_14.0' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing 3 months ago
parent
commit
8fefcb6f61

+ 3 - 3
controllers/company.go

@@ -5079,9 +5079,9 @@ func (this *CompanyController) Receive() {
 		}
 
 		//流失转试用,企业下面的用户自动添加产业关注
-		{
-			go cygxService.AddUserFllowCompanyLossToTryOut(req.CompanyId)
-		}
+		//{
+		//	go cygxService.AddUserFllowCompanyLossToTryOut(req.CompanyId)
+		//}
 
 	} else {
 		//跨部门领取

+ 9 - 5
controllers/cygx/activity_meet.go

@@ -1639,7 +1639,7 @@ func (this *ActivityMeetCoAntroller) MatchingList() {
 		return
 	}
 	dateTime := detail.ActivityTime
-	dateTime = utils.TimeRemoveHms(dateTime)
+	dateTime = utils.TimeRemoveHms2(dateTime)
 	startTime := dateTime + " 00:00:00'"
 	endTime := dateTime + " 23:59:59'"
 	list, err := cygx.GetRoadshowDataTitleList(startTime, endTime, keyWord)
@@ -1731,7 +1731,7 @@ func (this *ActivityMeetCoAntroller) MatchingByHand() {
 	}
 	var condition string
 	dateTime := detail.ActivityTime
-	dateTime = utils.TimeRemoveHms(dateTime)
+	dateTime = utils.TimeRemoveHms2(dateTime)
 
 	param := new(cygxService.GetYiDongActivityByApiReq)
 	param.MeetingStatus = "2"
@@ -1744,14 +1744,18 @@ func (this *ActivityMeetCoAntroller) MatchingByHand() {
 	//优先匹配易董的活动
 	if len(actList) > 0 {
 		for _, v := range actList {
-			var yidongTitle string
+			var newActivityName string
 			titleSlice := strings.Split(v.Title, "】")
 
 			for _, vt := range titleSlice {
-				yidongTitle = vt
+				newActivityName = strings.Replace(vt, "-", "", -1)
+				newActivityName = strings.Replace(newActivityName, "-", "", -1)
+				newActivityName = strings.Replace(newActivityName, "—", "", -1)
+				newActivityName = strings.Replace(newActivityName, " ", "", -1)
+				newActivityName = strings.Replace(newActivityName, ":", "", -1)
 			}
 			//如果活动时间一致,而且标题还还包含关键词就建立匹配关系
-			if strings.Contains(detail.ActivityNameTask, yidongTitle) && detail.ActivityTime == v.Start {
+			if strings.Contains(detail.ActivityNameTask, newActivityName) && detail.ActivityTime == v.Start {
 				err = cygx.UpdateCygxActivityyidongActivityId(v.ID, activityId)
 				if err != nil {
 					br.Msg = "手动归类失败"

+ 1 - 1
controllers/cygx/industrial_management.go

@@ -354,7 +354,7 @@ func (this *IndustrialManagementController) IndustrialManagementAdd() {
 		br.ErrMsg = "添加失败 Err:" + err.Error()
 		return
 	}
-	go cygxService.AddUserIndustryFllowByNewId(int(newId)) //现了新的产业,给选择推送方式的用户自动添加关注
+	//go cygxService.AddUserIndustryFllowByNewId(int(newId)) //现了新的产业,给选择推送方式的用户自动添加关注
 	resp := new(cygx.NewId)
 	resp.NewId = strconv.Itoa(int(newId))
 	resp.ChartPermissionId = req.ChartPermissionId

+ 9 - 8
controllers/roadshow/calendar.go

@@ -1747,15 +1747,16 @@ func (this *CalendarController) Delete() {
 			return
 		}
 
-		itemApiLog := new(roadshow.RsCalendarApiLog)
-		itemApiLog.CreateTime = time.Now()
-		itemApiLog.Remark = "CRM手动删除"
-		itemApiLog.Url = sysUser.RealName
-		itemApiLog.Body = ""
-		itemApiLog.Result = ""
-		itemApiLog.RsCalendarResearcherId = req.RsCalendarResearcherId
-		go roadshow.AddRsCalendarApiLog(itemApiLog)
 	}
+	itemApiLog := new(roadshow.RsCalendarApiLog)
+	itemApiLog.CreateTime = time.Now()
+	itemApiLog.Remark = "CRM手动删除"
+	itemApiLog.Url = sysUser.RealName
+	itemApiLog.Body = ""
+	itemApiLog.Result = ""
+	itemApiLog.RsCalendarResearcherId = req.RsCalendarResearcherId
+	itemApiLog.RsCalendarId = req.RsCalendarId
+	go roadshow.AddRsCalendarApiLog(itemApiLog)
 	//`status` int(11) DEFAULT '0' COMMENT '1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回,6:已结束',
 	//待接受、已接受的情况,需要同步删除上海那边的日程
 	for _, rsCalendarResearcherItem := range rsCalendarResearcherItemList {

+ 2 - 2
models/cygx/cygx_user.go

@@ -1171,7 +1171,7 @@ func GetUserInteractionTableCount(uid int) (item *GetUserInteractionTableCountRe
 			( SELECT COUNT( 1 ) FROM cygx_article_history_record_all AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND h.is_del = 0    AND art.article_type_id = 0   ) AS history_num,
 			( SELECT COUNT( 1 ) FROM cygx_article_collect AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND art.article_type_id = 0   ) AS count_num,
 			( SELECT COUNT( 1 ) FROM cygx_chart_collect AS h INNER JOIN cygx_chart_all AS a ON h.chart_id = a.chart_id WHERE h.user_id = ?  ) AS chart_num,
-			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = h.industrial_management_id   WHERE h.user_id = ? AND h.type = 1  AND  h.source   IN (0,1,2)  AND a.chart_permission_id  != 31   ) AS industry_fllow_num,
+			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = h.industrial_management_id   WHERE h.user_id = ? AND h.follow_type = 1   AND a.chart_permission_id  != 31   ) AS industry_fllow_num,
 			( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = ?   AND  h.register_platform IN(1,2) ) AS key_word_num,
 			( SELECT 	COUNT( DISTINCT a.activity_id )  as count  FROM cygx_activity_signup_detail 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.user_id = ? 
 					  AND t.activity_type=1 AND h.do_fail_type = 0  AND  a.chart_permission_id  != 31  ) AS on_line_num,
@@ -1194,7 +1194,7 @@ func GetUserInteractionTableCountByYanXuan(uid int) (item *GetUserInteractionTab
 	sql := `SELECT
 			( SELECT COUNT( 1 ) FROM cygx_article_history_record_all AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND h.is_del = 0    AND art.article_type_id > 0   ) AS history_num,
 			( SELECT COUNT( 1 ) FROM cygx_article_collect AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND art.article_type_id > 0   ) AS count_num,
-			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = h.industrial_management_id   WHERE h.user_id = ? AND h.type = 1  AND  h.source   IN (0,1,2)  AND a.chart_permission_id  = 31   ) AS industry_fllow_num,
+			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = h.industrial_management_id   WHERE h.user_id = ? AND h.follow_type = 1  AND a.chart_permission_id  = 31   ) AS industry_fllow_num,
 			( SELECT COUNT( 1 ) FROM cygx_article_department_follow AS h WHERE h.user_id = ?  AND h.type = 1  ) AS department_follow_num,
 			( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = ?   AND  h.register_platform IN(5,6) ) AS key_word_num,
 			( SELECT 	COUNT( DISTINCT a.activity_id )  as count  FROM cygx_activity_signup_detail 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.user_id = ? 

+ 5 - 5
models/cygx/cygx_user_company.go

@@ -332,7 +332,7 @@ func GetCygxArticleCollectByCompanyWeekly(startSize, pageSize int, condition str
 func GetCygxIndustryFllowCountByCompany(condition string) (count int, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_industry_fllow AS r
-			INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = r.industrial_management_id WHERE   type = 1  AND  r.source   IN (0,1,2) ` + condition
+			INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = r.industrial_management_id WHERE  r.follow_type = 1  ` + condition
 	err = o.Raw(sqlCount).QueryRow(&count)
 	return
 }
@@ -343,7 +343,7 @@ func GetCygxIndustryFllowCountByCompanyWeekly(condition string) (count int, err
 	databaseName := utils.GetWeeklyDatabase()
 	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_industry_fllow AS r
 			INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = r.industrial_management_id
-			INNER JOIN %s.user_seller_relation AS us ON us.user_id = r.user_id   AND us.product_id = 2 WHERE   type = 1  AND  r.source   IN (0,1,2)  `
+			INNER JOIN %s.user_seller_relation AS us ON us.user_id = r.user_id   AND us.product_id = 2 WHERE r.follow_type = 1  `
 	sqlCount = fmt.Sprintf(sqlCount, databaseName)
 	if condition != "" {
 		sqlCount += condition
@@ -364,7 +364,7 @@ func GetCygxIndustryFllowByCompany(condition string, startSize, pageSize int) (i
 		FROM
 			cygx_industry_fllow AS r
 			INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = r.industrial_management_id 
-		WHERE  type = 1 AND  r.source   IN (0,1,2) ` + condition + ` ORDER BY  r.id DESC  LIMIT ?,? `
+		WHERE  r.follow_type = 1 ` + condition + ` ORDER BY  r.id DESC  LIMIT ?,? `
 	_, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
 	return
 }
@@ -385,7 +385,7 @@ func GetCygxIndustryFllowByCompanyWeekly(condition string, startSize, pageSize i
 			cygx_industry_fllow AS r
 			INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = r.industrial_management_id 
 			INNER JOIN %s.user_seller_relation AS us ON us.user_id = r.user_id   AND us.product_id = 2 
-		WHERE  type = 1 AND  r.source   IN (0,1,2)  `
+		WHERE  r.follow_type = 1   `
 	sql = fmt.Sprintf(sql, databaseName)
 	if condition != "" {
 		sql += condition
@@ -1002,7 +1002,7 @@ func GetCygxIndustryFllowByCompanyList(condition string, startSize, pageSize int
 			LEFT JOIN cygx_company_interaction_num AS ci ON ci.company_id = r.company_id
 			LEFT  JOIN cygx_user_interaction_num as ui  ON ui.user_id = r.user_id
 			
-		WHERE  type = 1 AND  r.source   IN (0,1,2) ` + condition + ` ORDER BY  r.create_time DESC  LIMIT ?,? `
+		WHERE r.follow_type = 1  ` + condition + ` ORDER BY  r.create_time DESC  LIMIT ?,? `
 	_, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
 	return
 }

+ 2 - 3
models/cygx/industry_fllow.go

@@ -49,8 +49,7 @@ func GetCygxIndustryFllowByUser(uid, startSize, pageSize int, condition string)
 			INNER JOIN cygx_industrial_management AS a ON a.industrial_management_id = f.industrial_management_id 
 		WHERE
 			f.user_id = ? 
-			AND f.type = 1 
-			AND f.source  IN (0,1,2) ` + condition +
+			AND f.follow_type = 1  ` + condition +
 		`ORDER BY
 			f.create_time DESC  LIMIT ?,? `
 	_, err = o.Raw(sql, uid, startSize, pageSize).QueryRows(&items)
@@ -62,7 +61,7 @@ func GetCygxIndustryFllowCount(uid int, condition string) (count int, err error)
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_industry_fllow  as  f
                            INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = f.industrial_management_id 
-                           WHERE   f.user_id = ?  AND f.type = 1 AND  f.source   IN (0,1,2)  ` + condition
+                           WHERE   f.user_id = ?  AND f.follow_type = 1   ` + condition
 	err = o.Raw(sqlCount, uid).QueryRow(&count)
 	return
 }

+ 1 - 0
models/roadshow/rs_calendar_api_log.go

@@ -13,6 +13,7 @@ type RsCalendarApiLog struct {
 	CreateTime             time.Time `description:"创建时间"`
 	Remark                 string    `description:"备注说明"`
 	RsCalendarResearcherId int       `description:"表rs_calendar_researcher 主键ID"`
+	RsCalendarId           int       `description:"日历活动id"`
 }
 
 // 添加日志记录

+ 70 - 72
services/cygx/industrial_management.go

@@ -6,8 +6,6 @@ import (
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/services/alarm_msg"
 	"hongze/hz_crm_api/utils"
-	"strconv"
-	"time"
 )
 
 //func init() {
@@ -59,73 +57,73 @@ func GetIndustrialManagementArticleNewPublishData(industrialManagementId int) (e
 }
 
 // AddUserIndustryFllowByNewId 出现了新的产业,给选择推送方式的用户自动添加关注
-func AddUserIndustryFllowByNewId(industrialManagementId int) (err error) {
-	defer func() {
-		if err != nil {
-			fmt.Println(err)
-			go alarm_msg.SendAlarmMsg("出现了新的产业,给选择推送方式的用户自动添加关注。失败 ErrMsg:"+err.Error()+"industrialManagementId"+strconv.Itoa(industrialManagementId), 2)
-		}
-	}()
-	//获取小助手提交过勾选项的用户
-	//var condition string
-	//condition = " AND  is_refuse = 0 "
-	//chooseSendtList, e := cygx.GetCygxXzsChooseSend(condition)
-	//if e != nil {
-	//	err = errors.New("GetCygxXzsChooseSend , Err: " + e.Error())
-	//	return
-	//}
-	//var mobiles []string
-	//for _, v := range chooseSendtList {
-	//	if v.Mobile != "" {
-	//		mobiles = append(mobiles, v.Mobile)
-	//	}
-	//}
-
-	//userList, e := models.GetWxUserListByUserMobileHaveCompany(mobiles)
-	userList, e := cygx.GetCygxCompanyUserListByNoLoss() //需求池859 2023-08-29 目前数量大概在 16000条
-	if e != nil {
-		err = errors.New("GetWxUserListByUserMobileHaveCompany" + e.Error())
-		return
-	}
-	var numk int
-	var industryFllowItems []*cygx.CygxIndustryFllow
-	for _, vUser := range userList {
-		numk++
-		item := new(cygx.CygxIndustryFllow)
-		item.IndustrialManagementId = industrialManagementId
-		item.UserId = vUser.UserId
-		item.Email = vUser.Email
-		item.Mobile = vUser.Mobile
-		item.RealName = vUser.RealName
-		item.CompanyId = vUser.CompanyId
-		item.CompanyName = vUser.CompanyName
-		item.Source = 3 // 通过程序或者管理员手动添加的关注
-		item.Type = 1
-		item.CreateTime = time.Now()
-		item.ModifyTime = time.Now()
-		industryFllowItems = append(industryFllowItems, item)
-		//一次插入五千条
-		if numk%5000 == 0 {
-			e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
-			if e != nil {
-				err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
-				return
-			}
-			industryFllowItems = make([]*cygx.CygxIndustryFllow, 0)
-			numk = 0
-		}
-	}
-	if len(industryFllowItems) > 0 {
-		e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
-		if e != nil {
-			err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
-			return
-		}
-	}
-
-	////更新用户关注产业的标签
-	//for _, v := range industryFllowItems {
-	//	IndustryFllowUserLabelLogAdd(v.IndustrialManagementId, 0, v.UserId)
-	//}
-	return
-}
+//func AddUserIndustryFllowByNewId(industrialManagementId int) (err error) {
+//	defer func() {
+//		if err != nil {
+//			fmt.Println(err)
+//			go alarm_msg.SendAlarmMsg("出现了新的产业,给选择推送方式的用户自动添加关注。失败 ErrMsg:"+err.Error()+"industrialManagementId"+strconv.Itoa(industrialManagementId), 2)
+//		}
+//	}()
+//	//获取小助手提交过勾选项的用户
+//	//var condition string
+//	//condition = " AND  is_refuse = 0 "
+//	//chooseSendtList, e := cygx.GetCygxXzsChooseSend(condition)
+//	//if e != nil {
+//	//	err = errors.New("GetCygxXzsChooseSend , Err: " + e.Error())
+//	//	return
+//	//}
+//	//var mobiles []string
+//	//for _, v := range chooseSendtList {
+//	//	if v.Mobile != "" {
+//	//		mobiles = append(mobiles, v.Mobile)
+//	//	}
+//	//}
+//
+//	//userList, e := models.GetWxUserListByUserMobileHaveCompany(mobiles)
+//	userList, e := cygx.GetCygxCompanyUserListByNoLoss() //需求池859 2023-08-29 目前数量大概在 16000条
+//	if e != nil {
+//		err = errors.New("GetWxUserListByUserMobileHaveCompany" + e.Error())
+//		return
+//	}
+//	var numk int
+//	var industryFllowItems []*cygx.CygxIndustryFllow
+//	for _, vUser := range userList {
+//		numk++
+//		item := new(cygx.CygxIndustryFllow)
+//		item.IndustrialManagementId = industrialManagementId
+//		item.UserId = vUser.UserId
+//		item.Email = vUser.Email
+//		item.Mobile = vUser.Mobile
+//		item.RealName = vUser.RealName
+//		item.CompanyId = vUser.CompanyId
+//		item.CompanyName = vUser.CompanyName
+//		item.Source = 3 // 通过程序或者管理员手动添加的关注
+//		item.Type = 1
+//		item.CreateTime = time.Now()
+//		item.ModifyTime = time.Now()
+//		industryFllowItems = append(industryFllowItems, item)
+//		//一次插入五千条
+//		if numk%5000 == 0 {
+//			e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
+//			if e != nil {
+//				err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
+//				return
+//			}
+//			industryFllowItems = make([]*cygx.CygxIndustryFllow, 0)
+//			numk = 0
+//		}
+//	}
+//	if len(industryFllowItems) > 0 {
+//		e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
+//		if e != nil {
+//			err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
+//			return
+//		}
+//	}
+//
+//	////更新用户关注产业的标签
+//	//for _, v := range industryFllowItems {
+//	//	IndustryFllowUserLabelLogAdd(v.IndustrialManagementId, 0, v.UserId)
+//	//}
+//	return
+//}

+ 118 - 129
services/cygx/industry_fllow.go

@@ -1,136 +1,125 @@
 package cygx
 
-import (
-	"errors"
-	"fmt"
-	"hongze/hz_crm_api/models"
-	"hongze/hz_crm_api/models/cygx"
-	"hongze/hz_crm_api/services/alarm_msg"
-	"hongze/hz_crm_api/utils"
-	"strconv"
-	"time"
-)
-
 //func init() {
 //	AddUserFllowCompanyLossToTryOut(12841)
 //}
 
 // 流失客户转试用给下面的用户自动添加产业关注
-func AddUserFllowCompanyLossToTryOut(companyId int) {
-	var err error
-	defer func() {
-		if err != nil {
-			fmt.Println(err)
-			go alarm_msg.SendAlarmMsg("流失客户转试用给下面的用户自动添加产业关注。失败 ErrMsg:"+err.Error()+"companyId :"+strconv.Itoa(companyId), 2)
-		}
-	}()
-
-	//获取机构下所有的用户
-	userList, e := models.GetWxUserListCompanyId(companyId)
-	if e != nil {
-		err = errors.New("GetWxUserListByUserMobileHaveCompany" + e.Error())
-		return
-	}
-
-	if len(userList) == 0 {
-		return
-	}
-	var condition string
-	var pars []interface{}
-	//所有的产业
-	industrNamelist, e := cygx.GetTopOneMonthArtReadNumIndustryAll(condition, pars)
-	if e != nil {
-		err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error())
-		return
-	}
-
-	var userIds []int
-
-	for _, v := range userList {
-		userIds = append(userIds, v.UserId)
-	}
-
-	condition = " AND user_id IN  (" + utils.GetOrmInReplace(len(userIds)) + ")  "
-	pars = append(pars, userIds)
-	userFllowList, e := cygx.GetCygxIndustryFllowList(condition, pars, 0, 0)
-	if e != nil {
-		err = errors.New("GetCygxIndustryFllowList, Err: " + e.Error())
-		return
-	}
-	mapUserFllow := make(map[string]bool) // 用户已经关注了某些产业
-
-	for _, v := range userFllowList {
-		mapUserFllow[fmt.Sprint("Uid_", v.UserId, "IndustrialManagementId_", v.IndustrialManagementId)] = true //用户ID与产业ID组成唯一索引Map
-	}
-
-	var numk int
-	var industryFllowItems []*cygx.CygxIndustryFllow
-	var Items []*cygx.CygxIndustryFllow
-
-	for _, vUser := range userList {
-		for _, vIndustry := range industrNamelist {
-			if mapUserFllow[fmt.Sprint("Uid_", vUser.UserId, "IndustrialManagementId_", vIndustry.IndustrialManagementId)] {
-				continue
-			}
-			item := new(cygx.CygxIndustryFllow)
-			item.IndustrialManagementId = vIndustry.IndustrialManagementId
-			item.UserId = vUser.UserId
-			item.Email = vUser.Email
-			item.Mobile = vUser.Mobile
-			item.RealName = vUser.RealName
-			item.CompanyId = vUser.CompanyId
-			item.CompanyName = vUser.CompanyName
-			item.Source = 3 // 通过程序或者管理员手动添加的关注
-			item.Type = 1
-			item.CreateTime = time.Now()
-			item.ModifyTime = time.Now()
-			Items = append(Items, item)
-		}
-	}
-	//fmt.Println("Items", len(Items))
-	//如果小于五千条就直接插入,大于五千条就批量插入
-	if len(Items) < 5000 {
-		e = cygx.AddCygxIndustryFllowMulti(Items)
-		if e != nil {
-			err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
-			return
-		}
-	} else {
-		for _, vUser := range Items {
-			numk++
-			item := new(cygx.CygxIndustryFllow)
-			item.IndustrialManagementId = vUser.IndustrialManagementId
-			item.UserId = vUser.UserId
-			item.Email = vUser.Email
-			item.Mobile = vUser.Mobile
-			item.RealName = vUser.RealName
-			item.CompanyId = vUser.CompanyId
-			item.CompanyName = vUser.CompanyName
-			item.Source = 3 // 通过程序或者管理员手动添加的关注
-			item.Type = 1
-			item.CreateTime = time.Now()
-			item.ModifyTime = time.Now()
-			industryFllowItems = append(industryFllowItems, item)
-			//一次插入五千条
-			if numk%5000 == 0 {
-				e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
-				if e != nil {
-					err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
-					return
-				}
-				industryFllowItems = make([]*cygx.CygxIndustryFllow, 0)
-				numk = 0
-			}
-		}
-		if len(industryFllowItems) > 0 {
-			e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
-			if e != nil {
-				err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
-				return
-			}
-		}
-	}
-
-	//fmt.Println("AddUserFllowCompanyLossToTryOut end")
-	return
-}
+//func AddUserFllowCompanyLossToTryOut(companyId int) {
+//	var err error
+//	defer func() {
+//		if err != nil {
+//			fmt.Println(err)
+//			go alarm_msg.SendAlarmMsg("流失客户转试用给下面的用户自动添加产业关注。失败 ErrMsg:"+err.Error()+"companyId :"+strconv.Itoa(companyId), 2)
+//		}
+//	}()
+//
+//	//获取机构下所有的用户
+//	userList, e := models.GetWxUserListCompanyId(companyId)
+//	if e != nil {
+//		err = errors.New("GetWxUserListByUserMobileHaveCompany" + e.Error())
+//		return
+//	}
+//
+//	if len(userList) == 0 {
+//		return
+//	}
+//	var condition string
+//	var pars []interface{}
+//	//所有的产业
+//	industrNamelist, e := cygx.GetTopOneMonthArtReadNumIndustryAll(condition, pars)
+//	if e != nil {
+//		err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error())
+//		return
+//	}
+//
+//	var userIds []int
+//
+//	for _, v := range userList {
+//		userIds = append(userIds, v.UserId)
+//	}
+//
+//	condition = " AND user_id IN  (" + utils.GetOrmInReplace(len(userIds)) + ")  "
+//	pars = append(pars, userIds)
+//	userFllowList, e := cygx.GetCygxIndustryFllowList(condition, pars, 0, 0)
+//	if e != nil {
+//		err = errors.New("GetCygxIndustryFllowList, Err: " + e.Error())
+//		return
+//	}
+//	mapUserFllow := make(map[string]bool) // 用户已经关注了某些产业
+//
+//	for _, v := range userFllowList {
+//		mapUserFllow[fmt.Sprint("Uid_", v.UserId, "IndustrialManagementId_", v.IndustrialManagementId)] = true //用户ID与产业ID组成唯一索引Map
+//	}
+//
+//	var numk int
+//	var industryFllowItems []*cygx.CygxIndustryFllow
+//	var Items []*cygx.CygxIndustryFllow
+//
+//	for _, vUser := range userList {
+//		for _, vIndustry := range industrNamelist {
+//			if mapUserFllow[fmt.Sprint("Uid_", vUser.UserId, "IndustrialManagementId_", vIndustry.IndustrialManagementId)] {
+//				continue
+//			}
+//			item := new(cygx.CygxIndustryFllow)
+//			item.IndustrialManagementId = vIndustry.IndustrialManagementId
+//			item.UserId = vUser.UserId
+//			item.Email = vUser.Email
+//			item.Mobile = vUser.Mobile
+//			item.RealName = vUser.RealName
+//			item.CompanyId = vUser.CompanyId
+//			item.CompanyName = vUser.CompanyName
+//			item.Source = 3 // 通过程序或者管理员手动添加的关注
+//			item.Type = 1
+//			item.CreateTime = time.Now()
+//			item.ModifyTime = time.Now()
+//			Items = append(Items, item)
+//		}
+//	}
+//	//fmt.Println("Items", len(Items))
+//	//如果小于五千条就直接插入,大于五千条就批量插入
+//	if len(Items) < 5000 {
+//		e = cygx.AddCygxIndustryFllowMulti(Items)
+//		if e != nil {
+//			err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
+//			return
+//		}
+//	} else {
+//		for _, vUser := range Items {
+//			numk++
+//			item := new(cygx.CygxIndustryFllow)
+//			item.IndustrialManagementId = vUser.IndustrialManagementId
+//			item.UserId = vUser.UserId
+//			item.Email = vUser.Email
+//			item.Mobile = vUser.Mobile
+//			item.RealName = vUser.RealName
+//			item.CompanyId = vUser.CompanyId
+//			item.CompanyName = vUser.CompanyName
+//			item.Source = 3 // 通过程序或者管理员手动添加的关注
+//			item.Type = 1
+//			item.CreateTime = time.Now()
+//			item.ModifyTime = time.Now()
+//			industryFllowItems = append(industryFllowItems, item)
+//			//一次插入五千条
+//			if numk%5000 == 0 {
+//				e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
+//				if e != nil {
+//					err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
+//					return
+//				}
+//				industryFllowItems = make([]*cygx.CygxIndustryFllow, 0)
+//				numk = 0
+//			}
+//		}
+//		if len(industryFllowItems) > 0 {
+//			e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
+//			if e != nil {
+//				err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
+//				return
+//			}
+//		}
+//	}
+//
+//	//fmt.Println("AddUserFllowCompanyLossToTryOut end")
+//	return
+//}

+ 23 - 23
services/cygx/research_summary.go

@@ -227,32 +227,32 @@ func DoArticleOnenIdWxTemplateMsg(articleId int, source int) (err error) {
 				mapUserFllowed[fmt.Sprint("uid:", v.UserId, "_Industrial:", v.IndustrialManagementId)] = v.UserId
 			}
 			//获取这些allIN用户的的信息进行遍历生成需要插入的数据
-			userList, err := models.GetWxUserListByUserIdsHaveCompany(allInUserId)
+			//userList, err := models.GetWxUserListByUserIdsHaveCompany(allInUserId)
 			if err != nil && err.Error() != utils.ErrNoRow() {
 				return err
 			}
-			var industryFllowItems []*cygx.CygxIndustryFllow
-			for _, v := range detailIndustryNameList {
-				for _, vUser := range userList {
-					//如果用户这个用户没有关注这个产业就进行自动关注
-					if mapUserFllowed[fmt.Sprint("uid:", vUser.UserId, "_Industrial:", v.IndustrialManagementId)] == 0 {
-						item := new(cygx.CygxIndustryFllow)
-						item.IndustrialManagementId = v.IndustrialManagementId
-						item.UserId = vUser.UserId
-						item.Email = vUser.Email
-						item.Mobile = vUser.Mobile
-						item.RealName = vUser.RealName
-						item.CompanyId = vUser.CompanyId
-						item.CompanyName = vUser.CompanyName
-						item.Source = 3
-						item.Type = 1
-						item.CreateTime = time.Now()
-						item.ModifyTime = time.Now()
-						industryFllowItems = append(industryFllowItems, item)
-					}
-				}
-			}
-			err = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
+			//var industryFllowItems []*cygx.CygxIndustryFllow
+			//for _, v := range detailIndustryNameList {
+			//	for _, vUser := range userList {
+			//		//如果用户这个用户没有关注这个产业就进行自动关注
+			//		if mapUserFllowed[fmt.Sprint("uid:", vUser.UserId, "_Industrial:", v.IndustrialManagementId)] == 0 {
+			//			item := new(cygx.CygxIndustryFllow)
+			//			item.IndustrialManagementId = v.IndustrialManagementId
+			//			item.UserId = vUser.UserId
+			//			item.Email = vUser.Email
+			//			item.Mobile = vUser.Mobile
+			//			item.RealName = vUser.RealName
+			//			item.CompanyId = vUser.CompanyId
+			//			item.CompanyName = vUser.CompanyName
+			//			item.Source = 3
+			//			item.Type = 1
+			//			item.CreateTime = time.Now()
+			//			item.ModifyTime = time.Now()
+			//			//industryFllowItems = append(industryFllowItems, item)
+			//		}
+			//	}
+			//}
+			//err = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
 			if err != nil {
 				go alarm_msg.SendAlarmMsg("用户关注全部赛道,出现新赛道批量添加失败 ,AddCygxIndustryFllowMulti ErrMsg:"+err.Error(), 2)
 			}