소스 검색

fix:记录权益的联系人数据

Roc 2 년 전
부모
커밋
97b6a556e1
1개의 변경된 파일30개의 추가작업 그리고 8개의 파일을 삭제
  1. 30 8
      services/yb/activity.go

+ 30 - 8
services/yb/activity.go

@@ -33,6 +33,10 @@ func SyncUser(qsEventId int) (err error) {
 	companyProductMap := make(map[string]*company_product.CompanyProduct)
 	companyMap := make(map[string]*company.Company)
 	people := 0 //参与人数
+
+	productIdList := []int{1, 2}               //ficc和权益
+	companyIdProductIdMap := make(map[int]int) //客户与产品的id  map
+
 	if qsData.Summary != nil {
 		for _, v := range qsData.Summary {
 			if v.Mobile == "" { //如果手机号为空,那么就不处理了,进入下一个循环
@@ -55,22 +59,40 @@ func SyncUser(qsEventId int) (err error) {
 				wxUserInfo, _ = wx_user.GetWxUserByMobileCountryCode(trimMobile, countryCode)
 				if wxUserInfo != nil && wxUserInfo.CompanyId != 1 {
 					//获取客户产品信息
-					key := fmt.Sprint(wxUserInfo.CompanyId, "_", 1)
-					if tmpCompanyProductInfo, ok := companyProductMap[key]; ok {
-						companyProductInfo = tmpCompanyProductInfo
+					productId, ok := companyIdProductIdMap[wxUserInfo.CompanyId]
+					if ok { //已经查询过
+						if productId > 0 {
+							// 获取客户产品信息
+							key := fmt.Sprint(wxUserInfo.CompanyId, "_", productId)
+
+							if tmpCompanyProductInfo, ok := companyProductMap[key]; ok {
+								companyProductInfo = tmpCompanyProductInfo
+							}
+
+						}
 					} else {
-						companyProductInfo, _ = company_product.GetCompanyProductByCompanyIdAndProductId(wxUserInfo.CompanyId, 1)
-						if companyProductInfo != nil {
-							companyProductMap[key] = companyProductInfo
+						for _, productId := range productIdList {
+							key := fmt.Sprint(wxUserInfo.CompanyId, "_", productId)
+							companyProductInfo, _ = company_product.GetCompanyProductByCompanyIdAndProductId(wxUserInfo.CompanyId, productId)
+							if companyProductInfo != nil {
+								companyProductMap[key] = companyProductInfo
+								companyIdProductIdMap[wxUserInfo.CompanyId] = productId
+								//退出产品查询
+								break
+							}
+						}
+						if companyProductInfo == nil {
+							companyIdProductIdMap[wxUserInfo.CompanyId] = 0
 						}
-
 					}
 
+					// 获取客户信息
+					key := fmt.Sprint(wxUserInfo.CompanyId)
 					if tmpCompanyInfo, ok := companyMap[key]; ok {
 						companyInfo = tmpCompanyInfo
 					} else {
 						companyInfo, _ = company.GetCompanyById(wxUserInfo.CompanyId)
-						if companyProductInfo != nil {
+						if companyInfo != nil {
 							companyMap[key] = companyInfo
 						}
 					}