瀏覽代碼

所有报告类型模板消息更换

zhangchuanxing 5 天之前
父節點
當前提交
ebd58fa2a8
共有 4 個文件被更改,包括 60 次插入25 次删除
  1. 30 20
      models/cygx/cygx_user_record.go
  2. 1 1
      services/cygx/article.go
  3. 1 1
      services/cygx/research_summary.go
  4. 28 3
      services/wechat_send_msg.go

+ 30 - 20
models/cygx/cygx_user_record.go

@@ -27,9 +27,10 @@ type OpenIdList struct {
 }
 
 type OpenIdMobileList struct {
-	OpenId string
-	UserId int
-	Mobile string `description:"手机号"`
+	OpenId    string
+	UserId    int
+	Mobile    string `description:"手机号"`
+	CompanyId int    `description:"公司ID"`
 }
 
 func GetCygxUserRecord() (items []*CygxUserRecord, err error) {
@@ -41,30 +42,39 @@ func GetCygxUserRecord() (items []*CygxUserRecord, err error) {
 
 // 获取所有有权限的用户的opid
 func GetCygxUserRecordPower(chartPermissionIds string) (items []*OpenIdList, err error) {
-	//o := orm.NewOrm()
-	//sql := `SELECT
-	//		cr.open_id,
-	//		u.user_id,
-	//		u.company_id,
-	//		u.real_name,
-	//		u.mobile
-	//	FROM
-	//		company_report_permission AS p
-	//		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
-	//	WHERE
-	//		p.chart_permission_id IN (` + chartPermissionIds + `)
-	//		AND r.create_platform = 4
-	//		AND p.STATUS IN ('正式','试用','永续')   GROUP BY cr.open_id `
-	//_, err = o.Raw(sql).QueryRows(&items)
+	listMobile, err := GetCygxUserRecordPowerMobileList(chartPermissionIds)
+	if err != nil {
+		return
+	}
+	var mobileArr []string
+	for _, v := range listMobile {
+		if v.Mobile != "" {
+			mobileArr = append(mobileArr, v.Mobile)
+		}
+	}
+	mobileLen := len(mobileArr)
+	if mobileLen == 0 {
+		return
+	}
+	openIdList, err := GetUserRecordListByMobileArr(mobileArr)
+	if err != nil {
+		return
+	}
+	items = openIdList
+	return
+}
 
+// 获取所有有权限的用户的opid
+func GetCygxUserRecordPowerArticle(chartPermissionIds string) (items []*OpenIdList, err error) {
 	listMobile, err := GetCygxUserRecordPowerMobileList(chartPermissionIds)
 	if err != nil {
 		return
 	}
 	var mobileArr []string
 	for _, v := range listMobile {
+		if v.CompanyId == utils.JMCJ_COMPANY_ID {
+			continue //需求池 1043:深圳进门财经科技股份有限公司下所有的账号,所有活动的新增修改都做推送,所有的报告的新增修改都不做推送。
+		}
 		if v.Mobile != "" {
 			mobileArr = append(mobileArr, v.Mobile)
 		}

+ 1 - 1
services/cygx/article.go

@@ -370,7 +370,7 @@ func SendWxMsgWithroadshowEssence(articleId int) (err error) {
 		return
 	}
 	// 获取所有有权的用户的 openid
-	openidPowerList, e := cygx.GetCygxUserRecordPower(permissionStr)
+	openidPowerList, e := cygx.GetCygxUserRecordPowerArticle(permissionStr)
 	if e != nil {
 		err = errors.New("获取所有有权的用户的 openid失败" + e.Error())
 		return

+ 1 - 1
services/cygx/research_summary.go

@@ -279,7 +279,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int, source int) (err error) {
 	//utils.Rc.Put(cacheKey, articleId, time.Minute*30)
 	// 获取所有有权的用户的 openid
 	mapOpenidPower := make(map[int]string)
-	openidPowerList, err := cygx.GetCygxUserRecordPower(strconv.Itoa(chartPermissionId))
+	openidPowerList, err := cygx.GetCygxUserRecordPowerArticle(strconv.Itoa(chartPermissionId))
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		return err
 	}

+ 28 - 3
services/wechat_send_msg.go

@@ -1646,9 +1646,34 @@ func SendWxMsgWithCygxMorningMeeting(meetingId, industryId int, industryName str
 	}
 	meetingTime := reviewInfo.MeetingTime.Format(utils.FormatDate)
 	openIdList, err := models.GetCygxUserIndustryFllowOpneid(industryId)
-	openIdArr := make([]string, len(openIdList))
-	for i, v := range openIdList {
-		openIdArr[i] = v.OpenId
+	if err != nil {
+		err = errors.New("GetCygxUserIndustryFllowOpneid, Err: " + err.Error())
+		return
+	}
+
+	listUser, e := models.GetWxUserListCompanyId(utils.JMCJ_COMPANY_ID)
+	if e != nil {
+		err = errors.New("GetWxUserListCompanyId" + e.Error())
+		return
+	}
+	var mobileArr []string
+	for _, v := range listUser {
+		mobileArr = append(mobileArr, v.Mobile)
+	}
+	openIdListJmcj, e := cygx.GetUserRecordListByMobileArr(mobileArr)
+	if e != nil {
+		err = errors.New("GetUserRecordListByMobileArr" + e.Error())
+		return
+	}
+	mapOpneiIdJmcj := make(map[string]bool)
+	for _, v := range openIdListJmcj {
+		mapOpneiIdJmcj[v.OpenId] = true
+	}
+	var openIdArr []string
+	for _, v := range openIdList {
+		if !mapOpneiIdJmcj[v.OpenId] {
+			openIdArr = append(openIdArr, v.OpenId)
+		}
 	}
 
 	//保留回撤,去掉空行