Răsfoiți Sursa

Merge branch 'cygx/cygx_check_table' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

xingzai 1 an în urmă
părinte
comite
868e3abbd1

+ 68 - 4
controllers/cygx/activity_signup.go

@@ -2848,10 +2848,10 @@ func (this *ActivitySignupCoAntroller) TempMsg() {
 			br.ErrMsg = "参数解析异常, Err:" + e.Error()
 			br.ErrMsg = "参数解析异常, Err:" + e.Error()
 			return
 			return
 		}
 		}
-		var openIdList []*models.OpenIdList
+		var openIdList []*cygx.OpenIdList
 		idMap := make(map[string]string, 0)
 		idMap := make(map[string]string, 0)
 		if strings.Contains(req.SendGroup, "1") {
 		if strings.Contains(req.SendGroup, "1") {
-			list, err := models.GetCygxUserIndustryFllowOpneidByActivityIds(id)
+			list, err := cygx.GetCygxUserIndustryFllowOpneidByActivityIds(id)
 			if err != nil {
 			if err != nil {
 				br.Msg = "查询openId失败"
 				br.Msg = "查询openId失败"
 				br.ErrMsg = "查询openId失败,Err:" + err.Error()
 				br.ErrMsg = "查询openId失败,Err:" + err.Error()
@@ -2863,12 +2863,40 @@ func (this *ActivitySignupCoAntroller) TempMsg() {
 			}
 			}
 		}
 		}
 		if strings.Contains(req.SendGroup, "2") {
 		if strings.Contains(req.SendGroup, "2") {
-			list, err := models.GetCygxForeverUserIndustryFllowOpneidByActivityIds(id)
+			var condition string
+			var pars []interface{}
+
+			condition = " AND p.STATUS IN ('永续') "
+			listmobileYongxu, err := models.GetActivitySpecialOpenIdListMobile(condition, pars)
 			if err != nil {
 			if err != nil {
 				br.Msg = "查询openId失败"
 				br.Msg = "查询openId失败"
 				br.ErrMsg = "查询openId失败,Err:" + err.Error()
 				br.ErrMsg = "查询openId失败,Err:" + err.Error()
 				return
 				return
 			}
 			}
+			mapMobileYongxu := make(map[string]string)
+			for _, v := range listmobileYongxu {
+				mapMobileYongxu[v.Mobile] = v.Mobile
+			}
+
+			var mobiles []string
+			listFllow, err := cygx.GetCygxForeverUserIndustryFllowOpneidByActivityIds(id)
+			if err != nil {
+				br.Msg = "查询openId失败"
+				br.ErrMsg = "查询openId失败,Err:" + err.Error()
+				return
+			}
+
+			for _, v := range listFllow {
+				if mapMobileYongxu[v.Mobile] != "" {
+					mobiles = append(mobiles, v.Mobile)
+				}
+			}
+			list, err := cygx.GetUserRecordListByMobileArr(mobiles)
+			if err != nil {
+				br.Msg = "查询openId失败"
+				br.ErrMsg = "查询openId失败,GetUserRecordListByMobileArr Err:" + err.Error()
+				return
+			}
 			for _, idList := range openIdList {
 			for _, idList := range openIdList {
 				idMap[idList.OpenId] = idList.OpenId
 				idMap[idList.OpenId] = idList.OpenId
 			}
 			}
@@ -2935,12 +2963,48 @@ func (this *ActivitySignupCoAntroller) TempMsg() {
 			}
 			}
 		}
 		}
 		if strings.Contains(req.SendGroup, "6") {
 		if strings.Contains(req.SendGroup, "6") {
-			list, err := models.GetCygxTryOutUserIndustryFllowOpneidByActivityIds(id)
+			//list, err := models.GetCygxTryOutUserIndustryFllowOpneidByActivityIds(id)
+			//if err != nil {
+			//	br.Msg = "查询openId失败"
+			//	br.ErrMsg = "查询openId失败,Err:" + err.Error()
+			//	return
+			//}
+
+			var condition string
+			var pars []interface{}
+
+			condition = " AND p.STATUS IN ('试用') "
+			listmobileShiyong, err := models.GetActivitySpecialOpenIdListMobile(condition, pars)
+			if err != nil {
+				br.Msg = "查询openId失败"
+				br.ErrMsg = "查询openId失败,Err:" + err.Error()
+				return
+			}
+			mapMobileShiyong := make(map[string]string)
+			for _, v := range listmobileShiyong {
+				mapMobileShiyong[v.Mobile] = v.Mobile
+			}
+
+			var mobiles []string
+			listFllow, err := cygx.GetCygxForeverUserIndustryFllowOpneidByActivityIds(id)
 			if err != nil {
 			if err != nil {
 				br.Msg = "查询openId失败"
 				br.Msg = "查询openId失败"
 				br.ErrMsg = "查询openId失败,Err:" + err.Error()
 				br.ErrMsg = "查询openId失败,Err:" + err.Error()
 				return
 				return
 			}
 			}
+
+			for _, v := range listFllow {
+				if mapMobileShiyong[v.Mobile] != "" {
+					mobiles = append(mobiles, v.Mobile)
+				}
+			}
+			list, err := cygx.GetUserRecordListByMobileArr(mobiles)
+			if err != nil {
+				br.Msg = "查询openId失败"
+				br.ErrMsg = "查询openId失败,GetUserRecordListByMobileArr Err:" + err.Error()
+				return
+			}
+
 			for _, idList := range openIdList {
 			for _, idList := range openIdList {
 				idMap[idList.OpenId] = idList.OpenId
 				idMap[idList.OpenId] = idList.OpenId
 			}
 			}

+ 12 - 7
controllers/cygx/activity_special_trip.go

@@ -183,7 +183,7 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
 					}
 					}
 					items = append(items, item)
 					items = append(items, item)
 				} else {
 				} else {
-					err = cygx.UpdateSpecialTrip(1,0,uid, activityId)
+					err = cygx.UpdateSpecialTrip(1, 0, uid, activityId)
 					if err != nil {
 					if err != nil {
 						br.Msg = "报名失败,"
 						br.Msg = "报名失败,"
 						br.ErrMsg = "二次报名,更改报名是否有效状态失败,Err:" + err.Error()
 						br.ErrMsg = "二次报名,更改报名是否有效状态失败,Err:" + err.Error()
@@ -202,7 +202,7 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
 					return
 					return
 				}
 				}
 				if userType == 2 {
 				if userType == 2 {
-					tripRemaining = tripRemaining + itemBill.BillDetailed-i
+					tripRemaining = tripRemaining + itemBill.BillDetailed - i
 					itemBill.Total = strconv.Itoa(tripRemaining) + "次"
 					itemBill.Total = strconv.Itoa(tripRemaining) + "次"
 				} else {
 				} else {
 					for k, num := range mapChartName {
 					for k, num := range mapChartName {
@@ -982,7 +982,7 @@ func (this *ActivitySpecialTripCoAntroller) TempMsg() {
 			br.ErrMsg = "参数解析异常, Err:" + e.Error()
 			br.ErrMsg = "参数解析异常, Err:" + e.Error()
 			return
 			return
 		}
 		}
-		var openIdList []*models.OpenIdList
+		var openIdList []*cygx.OpenIdList
 		idMap := make(map[string]string, 0)
 		idMap := make(map[string]string, 0)
 		//1已报名
 		//1已报名
 		if strings.Contains(req.SendGroup, "1") {
 		if strings.Contains(req.SendGroup, "1") {
@@ -1008,12 +1008,17 @@ func (this *ActivitySpecialTripCoAntroller) TempMsg() {
 				condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(mobileLen) + `)`
 				condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(mobileLen) + `)`
 				pars = append(pars, mobileArr)
 				pars = append(pars, mobileArr)
 			}
 			}
-			list, err := models.GetActivitySpecialOpenIdListMobile(condition, pars)
-			if err != nil {
-				br.Msg = "查询openId失败"
-				br.ErrMsg = "查询openId失败,Err:" + err.Error()
+			//list, err := models.GetActivitySpecialOpenIdListMobile(condition, pars)
+			//if err != nil {
+			//	br.Msg = "查询openId失败"
+			//	br.ErrMsg = "查询openId失败,Err:" + err.Error()
+			//	return
+			//}
+
+			if mobileLen == 0 {
 				return
 				return
 			}
 			}
+			list, err := cygx.GetUserRecordListByMobileArr(mobileArr)
 			for _, idList := range list {
 			for _, idList := range list {
 				openIdList = append(openIdList, idList)
 				openIdList = append(openIdList, idList)
 				idMap[idList.OpenId] = idList.OpenId
 				idMap[idList.OpenId] = idList.OpenId

+ 19 - 1
models/cygx/cygx_user_record.go

@@ -22,7 +22,8 @@ type CygxUserRecord struct {
 type OpenIdList struct {
 type OpenIdList struct {
 	OpenId    string
 	OpenId    string
 	UserId    int
 	UserId    int
-	CompanyId int `description:"公司ID"`
+	CompanyId int    `description:"公司ID"`
+	Mobile    string `description:"手机号"`
 }
 }
 
 
 type OpenIdMobileList struct {
 type OpenIdMobileList struct {
@@ -447,3 +448,20 @@ func GetFollowindustrialOpenIdList(industrialManagementId int) (items []*OpenIdL
 	_, err = o.Raw(sql, industrialManagementId).QueryRows(&items)
 	_, err = o.Raw(sql, industrialManagementId).QueryRows(&items)
 	return
 	return
 }
 }
+
+// 获取所有关注了该产业用户的openid
+func GetCygxUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			cr.open_id,
+			cr.cygx_bind_account as mobile,
+			cr.cygx_user_id AS user_id 
+		FROM
+			cygx_industrial_activity_group_management AS agm
+			INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id
+			INNER JOIN cygx_user_record AS cr ON cr.cygx_user_id = f.user_id 
+		WHERE
+			agm.activity_id = ? `
+	_, err = o.Raw(sql, activityId).QueryRows(&items)
+	return
+}

+ 28 - 0
models/cygx/industry_fllow.go

@@ -92,3 +92,31 @@ func AddCygxIndustryFllowMulti(items []*CygxIndustryFllow) (err error) {
 	}
 	}
 	return
 	return
 }
 }
+
+// 获取所有关注了该产业永续客户的openid
+func GetCygxForeverUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT
+				f.* 
+			FROM
+				cygx_industrial_activity_group_management AS agm
+				INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id 
+			WHERE
+				agm.activity_id = ?`
+	_, err = o.Raw(sql, activityId).QueryRows(&items)
+	return
+}
+
+// 获取所有关注了该产业用户的companyIds
+func GetCygxIndustryFollowCompanyIdsByActivityId(activityId int) (item *string, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := ` SELECT
+	GROUP_CONCAT( DISTINCT f.company_id SEPARATOR ',' ) AS company_ids 
+FROM
+	cygx_industrial_activity_group_management AS agm
+	INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id 
+WHERE
+	agm.activity_id = ? `
+	err = o.Raw(sql, activityId).QueryRow(&item)
+	return
+}

+ 3 - 3
models/cygx/report_article.go

@@ -1016,7 +1016,7 @@ type ArticleRoadshowEssenceDetail struct {
 
 
 // 文章详情
 // 文章详情
 func GetArticleRoadshowEssenceDetail(articleId int) (item *ArticleRoadshowEssenceDetail, err error) {
 func GetArticleRoadshowEssenceDetail(articleId int) (item *ArticleRoadshowEssenceDetail, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT
 	sql := `SELECT
 	art.* ,
 	art.* ,
 	GROUP_CONCAT( DISTINCT mg.industrial_management_id SEPARATOR ',' ) AS industrial_management_id ,
 	GROUP_CONCAT( DISTINCT mg.industrial_management_id SEPARATOR ',' ) AS industrial_management_id ,
@@ -1037,7 +1037,7 @@ WHERE
 
 
 // 列表
 // 列表
 func GetArticleRoadshowEssenceList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxResearchSummaryRep, err error) {
 func GetArticleRoadshowEssenceList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxResearchSummaryRep, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT *,
 	sql := `SELECT *,
 				(SELECT COUNT(1) FROM cygx_article_history_record AS h WHERE h.article_id=art.article_id) AS pv,
 				(SELECT COUNT(1) FROM cygx_article_history_record AS h WHERE h.article_id=art.article_id) AS pv,
         		(SELECT COUNT(DISTINCT user_id) FROM cygx_article_history_record AS h WHERE h.article_id=art.article_id) AS uv
         		(SELECT COUNT(DISTINCT user_id) FROM cygx_article_history_record AS h WHERE h.article_id=art.article_id) AS uv
@@ -1070,7 +1070,7 @@ func GetArticleListByIdList(articleLIdList []int) (items []*CygxArticle, err err
 		return
 		return
 	}
 	}
 
 
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT * FROM cygx_article as art WHERE 1= 1 AND article_id in (` + utils.GetOrmInReplace(num) + `)`
 	sql := `SELECT * FROM cygx_article as art WHERE 1= 1 AND article_id in (` + utils.GetOrmInReplace(num) + `)`
 	_, err = o.Raw(sql, articleLIdList).QueryRows(&items)
 	_, err = o.Raw(sql, articleLIdList).QueryRows(&items)
 	return
 	return

+ 18 - 251
models/wechat_send_msg.go

@@ -2,7 +2,6 @@ package models
 
 
 import (
 import (
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/beego/beego/v2/client/orm"
-	"hongze/hz_crm_api/utils"
 	"strings"
 	"strings"
 )
 )
 
 
@@ -42,146 +41,6 @@ func GetOpenIdListByMobile(mobile string) (items []*OpenIdList, err error) {
 	return
 	return
 }
 }
 
 
-//// 获取预约活动的用户的openID
-//func GetActivityOpenIdList(activityId int) (items []*OpenIdList, err error) {
-//	sql := `SELECT DISTINCT cr.open_id,u.user_id
-//			FROM
-//			cygx_my_schedule AS m
-//			INNER JOIN user_record AS u ON u.bind_account = m.mobile
-//			INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
-//			WHERE m.activity_id = ? AND u.create_platform = 4 `
-//	_, err = orm.NewOrm().Raw(sql, activityId).QueryRows(&items)
-//	return
-//}
-
-// 获取预约活动的用户的openID测试环境
-//func GetActivityOpenIdListByDeBug(activityId int) (items []*OpenIdList, err error) {
-//	sql := `SELECT
-//			u.open_id,
-//			u.user_id
-//		FROM
-//			cygx_my_schedule AS s
-//			INNER JOIN wx_user AS wx ON wx.user_id = s.user_id
-//			INNER JOIN user_record AS u ON u.bind_account = wx.mobile
-//			INNER JOIN company_product AS p ON p.company_id = wx.company_id
-//		WHERE
-//			s.activity_id = ?
-//			AND u.create_platform = 1
-//			AND p.STATUS IN ( '正式', '试用', '永续' )
-//		GROUP BY
-//			u.open_id`
-//	_, err = orm.NewOrm().Raw(sql, activityId).QueryRows(&items)
-//	return
-//}
-
-//// 获取预约活动的用户的openID
-//func GetActivitySpecialOpenIdList() (items []*OpenIdList, err error) {
-//	sql := `SELECT DISTINCT cr.open_id,u.user_id
-//			FROM
-//			cygx_user_follow_special AS m
-//			INNER JOIN user_record AS u ON u.bind_account = m.mobile
-//			INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
-//			WHERE  u.create_platform = 4 `
-//	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
-//	return
-//}
-
-// 获取预约活动的用户的openID测试环境
-//func GetActivitySpecialOpenIdListByDeBug() (items []*OpenIdList, err error) {
-//	sql := `SELECT
-//			u.open_id,
-//			u.user_id
-//		FROM
-//			cygx_user_follow_special AS s
-//			INNER JOIN wx_user AS wx ON wx.user_id = s.user_id
-//			INNER JOIN user_record AS u ON u.bind_account = wx.mobile
-//			INNER JOIN company_product AS p ON p.company_id = wx.company_id
-//		WHERE
-//			u.create_platform = 1
-//			AND p.STATUS IN ( '正式', '试用', '永续' )
-//		GROUP BY
-//			u.open_id`
-//	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
-//	return
-//}
-
-// 获取关注作者的用户的openID
-//func GetFollowDepartmentOpenIdList(departmentId int) (items []*OpenIdList, err error) {
-//	sql := `SELECT cr.open_id,u.user_id
-//			FROM
-//				cygx_article_department_follow AS f
-//				INNER JOIN user_record AS u ON u.bind_account = f.mobile
-//				INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
-//				INNER JOIN company_product AS p ON p.company_id = wx.company_id
-//				INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
-//			WHERE
-//				f.department_id = ?
-//				AND u.create_platform = 4
-//				AND f.type = 1
-//				AND p.status IN ('正式','试用','永续')
-//			GROUP BY
-//				cr.open_id `
-//	_, err = orm.NewOrm().Raw(sql, departmentId).QueryRows(&items)
-//	return
-//}
-
-// 获取关注作者的用户的openID测试环境
-//func GetFollowDepartmentOpenIdListByDeBug(departmentId int) (items []*OpenIdList, err error) {
-//	sql := `SELECT
-//			u.open_id,
-//			u.user_id
-//		FROM
-//			cygx_article_department_follow AS f
-//			INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
-//			INNER JOIN user_record AS u ON u.bind_account = wx.mobile
-//			INNER JOIN company_product AS p ON p.company_id = wx.company_id
-//		WHERE
-//			f.department_id = ?
-//			AND u.create_platform = 1
-//			AND f.type = 1
-//			AND p.STATUS IN ( '正式', '试用', '永续' )
-//		GROUP BY
-//			u.open_id`
-//	_, err = orm.NewOrm().Raw(sql, departmentId).QueryRows(&items)
-//	return
-//}
-
-// 获取关注产业的用户的openID
-func GetFollowindustrialOpenIdList(industrialManagementId int) (items []*OpenIdList, err error) {
-	sql := `SELECT cr.open_id,u.user_id
-			FROM
-			cygx_industry_fllow AS f
-			INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
-			INNER JOIN user_record AS u ON u.bind_account = wx.mobile 
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id 
-			WHERE
-			f.industrial_management_id = ? 
-			AND u.create_platform = 4 
-			AND f.type = 1 GROUP BY cr.open_id `
-	_, err = orm.NewOrm().Raw(sql, industrialManagementId).QueryRows(&items)
-	return
-}
-
-// 获取关注产业的用户的openID 测试环境
-//func GetFollowindustrialOpenIdListByDeBug(industrialManagementId int) (items []*OpenIdList, err error) {
-//	sql := `SELECT
-//			u.open_id,
-//			u.user_id
-//		FROM
-//			cygx_industry_fllow AS f
-//			INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
-//			INNER JOIN user_record AS u ON u.bind_account = wx.mobile
-//		WHERE
-//			f.industrial_management_id = ?
-//			AND u.create_platform = 1
-//			AND u.bind_account != ""
-//			AND f.type = 1
-//		GROUP BY
-//			u.open_id`
-//	_, err = orm.NewOrm().Raw(sql, industrialManagementId).QueryRows(&items)
-//	return
-//}
-
 // GetUserOpenidListByUserIds 根据用户id字符串集合来获取他的openid列表集合
 // GetUserOpenidListByUserIds 根据用户id字符串集合来获取他的openid列表集合
 func GetUserOpenidListByUserIds(userIdStr []string) (list []*OpenIdList, err error) {
 func GetUserOpenidListByUserIds(userIdStr []string) (list []*OpenIdList, err error) {
 	if len(userIdStr) <= 0 {
 	if len(userIdStr) <= 0 {
@@ -201,44 +60,13 @@ func GetAdminOpenIdByMobile(mobile string) (items []*OpenIdList, err error) {
 	return
 	return
 }
 }
 
 
-// 根据手机号获取用户的openid查研观向小助手专用
-func GetUserRecordListByMobile(platform int, bindAccount string) (items []*OpenIdList, err error) {
-	var sql string
-	if utils.RunMode == "release" {
-		sql = `SELECT cr.open_id FROM user_record  as u 
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id 
-			WHERE create_platform=? AND bind_account IN (` + bindAccount + `)`
-	} else {
-		platform = 1
-		sql = `SELECT open_id FROM	user_record  WHERE create_platform =? AND bind_account IN (` + bindAccount + `)`
-	}
-	_, err = orm.NewOrm().Raw(sql, platform).QueryRows(&items)
-	return
-}
-
-// 获取单个用户openid
-func GetCompanyDetailByIdGroup(platform int, bindAccount string) (item *OpenIdList, err error) {
-	o := orm.NewOrm()
-	var sql string
-	sql = `SELECT cr.open_id,wu.user_id FROM user_record  as u 
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id 
-			INNER JOIN wx_user AS wu ON wu.mobile = u.bind_account 
-			WHERE create_platform=? AND u.bind_account = ?`
-	err = o.Raw(sql, platform, bindAccount).QueryRow(&item)
-	return
-}
-
 // 获取小助手所有的用户的openid
 // 获取小助手所有的用户的openid
 func GetCygxUserAllOpneid() (items []*OpenIdList, err error) {
 func GetCygxUserAllOpneid() (items []*OpenIdList, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT
 	sql := `SELECT
 			cr.open_id,
 			cr.open_id,
-			r.user_id 
-		FROM
-			user_record AS r
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id 
-		WHERE
-			r.create_platform = 4`
+			cr.cygx_user_id  as  user_id
+		FROM  cygx_user_record AS cr `
 	_, err = o.Raw(sql).QueryRows(&items)
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 	return
 }
 }
@@ -254,84 +82,42 @@ func GetOpenIdArr() (items []string, err error) {
 	return
 	return
 }
 }
 
 
+type MobileUserIdList struct {
+	Mobile string
+	UserId int
+}
+
 // 获取预约活动的用户的openID测试环境
 // 获取预约活动的用户的openID测试环境
-func GetActivitySpecialOpenIdListMobile(condition string, pars []interface{}) (items []*OpenIdList, err error) {
+func GetActivitySpecialOpenIdListMobile(condition string, pars []interface{}) (items []*MobileUserIdList, err error) {
 	sql := `SELECT
 	sql := `SELECT
-			cr.open_id,
+			u.mobile,
 			u.user_id
 			u.user_id
 		FROM
 		FROM
 			company_report_permission AS p
 			company_report_permission AS p
 			INNER JOIN wx_user AS u ON u.company_id = p.company_id
 			INNER JOIN wx_user AS u ON u.company_id = p.company_id
-			INNER JOIN user_record AS r ON r.user_id = u.user_id
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id 
+			INNER JOIN user_record AS r ON r.user_id = u.user_id 
 		WHERE
 		WHERE
-			 r.create_platform = 4  AND p.STATUS IN ('正式','试用','永续')  ` + condition + ` GROUP BY cr.open_id`
+			 r.create_platform = 4  AND p.STATUS IN ('正式','试用','永续')  ` + condition + ` GROUP BY u.mobile`
 	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&items)
 	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&items)
 	return
 	return
 }
 }
 
 
 // 获取所有关注了该产业用户的openid
 // 获取所有关注了该产业用户的openid
 func GetCygxUserIndustryFllowOpneid(IndustrialManagementId int) (items []*OpenIdList, err error) {
 func GetCygxUserIndustryFllowOpneid(IndustrialManagementId int) (items []*OpenIdList, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT
 	sql := `SELECT
 			cr.open_id,
 			cr.open_id,
-			r.user_id 
+			cr.cygx_user_id  as user_id
 		FROM
 		FROM
-			user_record AS r
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id 
-			INNER join cygx_industry_fllow  as cf on cf.user_id = r.user_id 
+			cygx_industry_fllow AS cf
+			INNER JOIN cygx_user_record AS cr ON cr.cygx_user_id = cf.user_id
 		WHERE
 		WHERE
-			r.create_platform = 4
+			1=1
 			AND cf.industrial_management_id = ?`
 			AND cf.industrial_management_id = ?`
 	_, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
 	_, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
 	return
 	return
 }
 }
 
 
-// 获取所有关注了该产业用户的openid
-func GetCygxUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
-	o := orm.NewOrm()
-	sql := `			
-SELECT
-	cr.open_id,
-	r.user_id 
-FROM
-	cygx_industrial_activity_group_management AS agm
-	INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id
-	INNER JOIN user_record AS r
-	INNER JOIN cygx_user_record AS cr 
-WHERE
-	agm.activity_id = ? 
-	AND cr.union_id = r.union_id 
-	AND r.create_platform = 4 
-	AND r.user_id = f.user_id;`
-	_, err = o.Raw(sql, activityId).QueryRows(&items)
-	return
-}
-
-// 获取所有关注了该产业永续客户的openid
-func GetCygxForeverUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
-	o := orm.NewOrm()
-	sql := `			
-SELECT
-	cr.open_id,
-	r.user_id 
-FROM
-	cygx_industrial_activity_group_management AS agm
-	INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id
-	INNER JOIN user_record AS r
-	INNER JOIN cygx_user_record AS cr 
-	INNER JOIN wx_user AS wx ON wx.user_id = r.user_id 
-	INNER JOIN company_product AS p ON p.company_id = wx.company_id 
-WHERE
-	agm.activity_id = ? 
-	AND cr.union_id = r.union_id 
-	AND r.create_platform = 4 
-	AND r.user_id = f.user_id
-	AND p.status = "永续";`
-	_, err = o.Raw(sql, activityId).QueryRows(&items)
-	return
-}
-
 // 获取所有关注了该产业试用客户的openid
 // 获取所有关注了该产业试用客户的openid
 func GetCygxTryOutUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
 func GetCygxTryOutUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
@@ -356,25 +142,6 @@ WHERE
 	return
 	return
 }
 }
 
 
-// 获取所有关注了该产业用户的companyIds
-func GetCygxIndustryFollowCompanyIdsByActivityId(activityId int) (item *string, err error) {
-	o := orm.NewOrm()
-	sql := `			
-SELECT
-	GROUP_CONCAT( DISTINCT f.company_id SEPARATOR ',' ) AS company_ids
-FROM
-	cygx_industrial_activity_group_management AS agm
-	INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id
-	INNER JOIN user_record AS r
-	INNER JOIN cygx_user_record AS cr 
-WHERE
-	agm.activity_id = ? 
-	AND r.create_platform = 4 
-	AND r.user_id = f.user_id;`
-	err = o.Raw(sql, activityId).QueryRow(&item)
-	return
-}
-
 // 获取所有关注了该产业用户的openidBy公司id
 // 获取所有关注了该产业用户的openidBy公司id
 func GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId int, companyIds string) (items []*OpenIdList, err error) {
 func GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId int, companyIds string) (items []*OpenIdList, err error) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
@@ -399,7 +166,7 @@ WHERE
 
 
 // 获取所有互动过的用户id
 // 获取所有互动过的用户id
 func GetCygxInteractiveUserByActivityId(activityId int) (items []*int, err error) {
 func GetCygxInteractiveUserByActivityId(activityId int) (items []*int, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `			
 	sql := `			
 SELECT user_id FROM cygx_activity_signup WHERE activity_id =? AND fail_type = 0
 SELECT user_id FROM cygx_activity_signup WHERE activity_id =? AND fail_type = 0
 UNION ALL
 UNION ALL

+ 124 - 11
services/cygx/activity_signup.go

@@ -19,8 +19,8 @@ import (
 )
 )
 
 
 // 获取所有关注了该产业大套餐客户的openid
 // 获取所有关注了该产业大套餐客户的openid
-func GetCygxBigTypeUserIndustryFllowOpneidByActivityIds(activityId int) (items []*models.OpenIdList, err error) {
-	companyIds, e := models.GetCygxIndustryFollowCompanyIdsByActivityId(activityId)
+func GetCygxBigTypeUserIndustryFllowOpneidByActivityIds(activityId int) (items []*cygx.OpenIdList, err error) {
+	companyIds, e := cygx.GetCygxIndustryFollowCompanyIdsByActivityId(activityId)
 	if e != nil {
 	if e != nil {
 		err = e
 		err = e
 		return
 		return
@@ -49,7 +49,35 @@ func GetCygxBigTypeUserIndustryFllowOpneidByActivityIds(activityId int) (items [
 
 
 	finalIds := strings.Join(companyIdslice, ",")
 	finalIds := strings.Join(companyIdslice, ",")
 	if finalIds != "" {
 	if finalIds != "" {
-		items, e = models.GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId, finalIds)
+		var conditionuiUser string
+		var parsUser []interface{}
+
+		conditionuiUser = ` AND company_id IN (` + finalIds + `)`
+		listUser, e := models.GetWxUserList(conditionuiUser, parsUser)
+		if e != nil {
+			err = e
+			return
+		}
+
+		mapMobileUser := make(map[string]string)
+		for _, v := range listUser {
+			mapMobileUser[v.Mobile] = v.Mobile
+		}
+
+		var mobiles []string
+		listFllow, e := cygx.GetCygxForeverUserIndustryFllowOpneidByActivityIds(activityId)
+		if e != nil {
+			err = e
+			return
+		}
+		for _, v := range listFllow {
+			if mapMobileUser[v.Mobile] != "" {
+				mobiles = append(mobiles, v.Mobile)
+			}
+		}
+
+		items, e = cygx.GetUserRecordListByMobileArr(mobiles)
+		//items, e = models.GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId, finalIds)
 		if e != nil {
 		if e != nil {
 			err = e
 			err = e
 			return
 			return
@@ -59,8 +87,8 @@ func GetCygxBigTypeUserIndustryFllowOpneidByActivityIds(activityId int) (items [
 }
 }
 
 
 // 获取所有关注了该产业行业套餐客户的openid
 // 获取所有关注了该产业行业套餐客户的openid
-func GetCygxIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId int) (items []*models.OpenIdList, err error) {
-	companyIds, e := models.GetCygxIndustryFollowCompanyIdsByActivityId(activityId)
+func GetCygxIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId int) (items []*cygx.OpenIdList, err error) {
+	companyIds, e := cygx.GetCygxIndustryFollowCompanyIdsByActivityId(activityId)
 	if e != nil {
 	if e != nil {
 		err = e
 		err = e
 		return
 		return
@@ -97,7 +125,35 @@ func GetCygxIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId int)
 
 
 	finalIds := strings.Join(companyIdslice, ",")
 	finalIds := strings.Join(companyIdslice, ",")
 	if finalIds != "" {
 	if finalIds != "" {
-		items, e = models.GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId, finalIds)
+		var conditionuiUser string
+		var parsUser []interface{}
+
+		conditionuiUser = ` AND company_id IN (` + finalIds + `)`
+		listUser, e := models.GetWxUserList(conditionuiUser, parsUser)
+		if e != nil {
+			err = e
+			return
+		}
+
+		mapMobileUser := make(map[string]string)
+		for _, v := range listUser {
+			mapMobileUser[v.Mobile] = v.Mobile
+		}
+
+		var mobiles []string
+		listFllow, e := cygx.GetCygxForeverUserIndustryFllowOpneidByActivityIds(activityId)
+		if e != nil {
+			err = e
+			return
+		}
+		for _, v := range listFllow {
+			if mapMobileUser[v.Mobile] != "" {
+				mobiles = append(mobiles, v.Mobile)
+			}
+		}
+
+		items, e = cygx.GetUserRecordListByMobileArr(mobiles)
+		//items, e = models.GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId, finalIds)
 		if e != nil {
 		if e != nil {
 			err = e
 			err = e
 			return
 			return
@@ -107,8 +163,8 @@ func GetCygxIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId int)
 }
 }
 
 
 // 获取所有关注了该产业其他行业套餐客户的openid
 // 获取所有关注了该产业其他行业套餐客户的openid
-func GetCygxOtherIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId int) (items []*models.OpenIdList, err error) {
-	companyIds, e := models.GetCygxIndustryFollowCompanyIdsByActivityId(activityId)
+func GetCygxOtherIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId int) (items []*cygx.OpenIdList, err error) {
+	companyIds, e := cygx.GetCygxIndustryFollowCompanyIdsByActivityId(activityId)
 	if e != nil {
 	if e != nil {
 		err = e
 		err = e
 		return
 		return
@@ -145,7 +201,36 @@ func GetCygxOtherIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId
 
 
 	finalIds := strings.Join(companyIdslice, ",")
 	finalIds := strings.Join(companyIdslice, ",")
 	if finalIds != "" {
 	if finalIds != "" {
-		items, e = models.GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId, finalIds)
+		//items, e = models.GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId, finalIds)
+
+		var conditionuiUser string
+		var parsUser []interface{}
+
+		conditionuiUser = ` AND company_id IN (` + finalIds + `)`
+		listUser, e := models.GetWxUserList(conditionuiUser, parsUser)
+		if e != nil {
+			err = e
+			return
+		}
+
+		mapMobileUser := make(map[string]string)
+		for _, v := range listUser {
+			mapMobileUser[v.Mobile] = v.Mobile
+		}
+
+		var mobiles []string
+		listFllow, e := cygx.GetCygxForeverUserIndustryFllowOpneidByActivityIds(activityId)
+		if e != nil {
+			err = e
+			return
+		}
+		for _, v := range listFllow {
+			if mapMobileUser[v.Mobile] != "" {
+				mobiles = append(mobiles, v.Mobile)
+			}
+		}
+
+		items, e = cygx.GetUserRecordListByMobileArr(mobiles)
 		if e != nil {
 		if e != nil {
 			err = e
 			err = e
 			return
 			return
@@ -155,7 +240,7 @@ func GetCygxOtherIndustryPackageUserIndustryFllowOpneidByActivityIds(activityId
 }
 }
 
 
 // 获取所有关注了该产业其他行业套餐客户的openid
 // 获取所有关注了该产业其他行业套餐客户的openid
-func GetCygxInteractiveUserOpneidByActivityIds(activityId int) (items []*models.OpenIdList, err error) {
+func GetCygxInteractiveUserOpneidByActivityIds(activityId int) (items []*cygx.OpenIdList, err error) {
 	userIds, e := models.GetCygxInteractiveUserByActivityId(activityId)
 	userIds, e := models.GetCygxInteractiveUserByActivityId(activityId)
 	if e != nil {
 	if e != nil {
 		err = e
 		err = e
@@ -170,7 +255,35 @@ func GetCygxInteractiveUserOpneidByActivityIds(activityId int) (items []*models.
 	ids := strings.Join(idSlice, ",")
 	ids := strings.Join(idSlice, ",")
 
 
 	if ids != "" {
 	if ids != "" {
-		items, e = models.GetCygxUserOpneidByUserIds(ids)
+		var conditionuiUser string
+		var parsUser []interface{}
+
+		conditionuiUser = ` AND user_id IN (` + ids + `)`
+		listUser, e := models.GetWxUserList(conditionuiUser, parsUser)
+		if e != nil {
+			err = e
+			return
+		}
+
+		mapMobileUser := make(map[string]string)
+		for _, v := range listUser {
+			mapMobileUser[v.Mobile] = v.Mobile
+		}
+
+		var mobiles []string
+		listFllow, e := cygx.GetCygxForeverUserIndustryFllowOpneidByActivityIds(activityId)
+		if e != nil {
+			err = e
+			return
+		}
+		for _, v := range listFllow {
+			if mapMobileUser[v.Mobile] != "" {
+				mobiles = append(mobiles, v.Mobile)
+			}
+		}
+
+		items, e = cygx.GetUserRecordListByMobileArr(mobiles)
+		//items, e = models.GetCygxUserOpneidByUserIds(ids)
 		if e != nil {
 		if e != nil {
 			err = e
 			err = e
 			return
 			return

+ 14 - 41
services/cygx/special_wx_msg.go

@@ -3,7 +3,6 @@ package cygx
 import (
 import (
 	"errors"
 	"errors"
 	"fmt"
 	"fmt"
-	"hongze/hz_crm_api/models"
 	"hongze/hz_crm_api/models/company"
 	"hongze/hz_crm_api/models/company"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/services"
 	"hongze/hz_crm_api/services"
@@ -50,13 +49,16 @@ func DetermineTripBeInterested(activityId int) (err error) {
 		}
 		}
 	}
 	}
 	mobileLen := len(mobileArr)
 	mobileLen := len(mobileArr)
-	var condition string
-	var pars []interface{}
-	if mobileLen > 0 {
-		condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(mobileLen) + `)`
-		pars = append(pars, mobileArr)
+	if mobileLen == 0 {
+		return
 	}
 	}
-	openIdList, e := models.GetActivitySpecialOpenIdListMobile(condition, pars)
+	//var condition string
+	//var pars []interface{}
+	//if mobileLen > 0 {
+	//	condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(mobileLen) + `)`
+	//	pars = append(pars, mobileArr)
+	//}
+	openIdList, e := cygx.GetUserRecordListByMobileArr(mobileArr)
 	if e != nil {
 	if e != nil {
 		fmt.Println(e)
 		fmt.Println(e)
 		return
 		return
@@ -114,27 +116,6 @@ func DetermineTripCancel(activityId int) (err error) {
 		err = e
 		err = e
 		return
 		return
 	}
 	}
-	//var accessToken string
-	//if utils.RunMode == "release" {
-	//	accessToken, e = models.GetWxAccessTokenByXzs()
-	//	if e != nil {
-	//		err = e
-	//		return
-	//	}
-	//	if accessToken == "" {
-	//		return
-	//	}
-	//} else {
-	//	accessToken, e = models.GetWxAccessToken()
-	//	if e != nil {
-	//		return
-	//	}
-	//	if accessToken == "" {
-	//		msg = "accessToken is empty"
-	//		return
-	//	}
-	//}
-	//fmt.Println(listSignup)
 	var mobileArr []string
 	var mobileArr []string
 	for _, v := range listSignup {
 	for _, v := range listSignup {
 		if v.Mobile != "" {
 		if v.Mobile != "" {
@@ -142,13 +123,10 @@ func DetermineTripCancel(activityId int) (err error) {
 		}
 		}
 	}
 	}
 	mobileLen := len(mobileArr)
 	mobileLen := len(mobileArr)
-	var condition string
-	var pars []interface{}
-	if mobileLen > 0 {
-		condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(mobileLen) + `)`
-		pars = append(pars, mobileArr)
+	if mobileLen == 0 {
+		return
 	}
 	}
-	openIdList, e := models.GetActivitySpecialOpenIdListMobile(condition, pars)
+	openIdList, e := cygx.GetUserRecordListByMobileArr(mobileArr)
 	if e != nil {
 	if e != nil {
 		fmt.Println(e)
 		fmt.Println(e)
 		return
 		return
@@ -217,13 +195,8 @@ func DetermineTripChange(activityId int, changeType, changeMsg string) (err erro
 	if mobileLen == 0 {
 	if mobileLen == 0 {
 		return
 		return
 	}
 	}
-	var condition string
-	var pars []interface{}
-	if mobileLen > 0 {
-		condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(mobileLen) + `)`
-		pars = append(pars, mobileArr)
-	}
-	openIdList, e := models.GetActivitySpecialOpenIdListMobile(condition, pars)
+
+	openIdList, e := cygx.GetUserRecordListByMobileArr(mobileArr)
 	if e != nil {
 	if e != nil {
 		fmt.Println(e)
 		fmt.Println(e)
 		return
 		return