WH01243 8 stundas atpakaļ
vecāks
revīzija
231fac2282
1 mainītis faili ar 92 papildinājumiem un 18 dzēšanām
  1. 92 18
      clueSync/kc.go

+ 92 - 18
clueSync/kc.go

@@ -2081,27 +2081,101 @@ func OtherKcTransfer(uid, kcName, companyName, productName string, kcPositionId,
 		}, "", "createtime DESC  ")
 		if userData == nil || len(*userData) == 0 {
 			log.Println(fmt.Sprintf("查询不到 %s 用户信息", uid))
-			return
-		}
-		mongoId := gconv.String((*userData)["userid"])
-		//子账号
-		query := map[string]interface{}{"s_member_mainid": mongoId}
-		childAccount, _ := Mgo.Find("user", query, "", `"_id":1`, false, -1, -1)
-		if childAccount == nil || len(*childAccount) == 0 {
-			log.Println(fmt.Sprintf("子账号查询不到 %s , %s 用户信息", uid, mongoId))
+		} else {
+			mongoId := gconv.String((*userData)["userid"])
+			//子账号
+			query := map[string]interface{}{"s_member_mainid": mongoId}
+			childAccount, _ := Mgo.Find("user", query, "", `"_id":1`, false, -1, -1)
+			if childAccount == nil || len(*childAccount) == 0 {
+				log.Println(fmt.Sprintf("子账号查询不到 %s , %s 用户信息", uid, mongoId))
+			}
+			childIds := []string{}
+			log.Println(fmt.Sprintf("子账号 %s , %s , 数量 %v ", uid, mongoId, len(*childAccount)))
+			for _, v := range *childAccount {
+				childIds = append(childIds, mongodb.BsonIdToSId(v["_id"]))
+			}
 		}
-		childIds := []string{}
-		log.Println(fmt.Sprintf("子账号 %s , %s , 数量 %v ", uid, mongoId, len(*childAccount)))
-		for _, v := range *childAccount {
-			childIds = append(childIds, mongodb.BsonIdToSId(v["_id"]))
+	} else {
+		//企业订单
+		entData := Mysql.Find("entniche_user", map[string]interface{}{
+			"ent_id": entId,
+		}, "", "", -1, -1)
+		if entData == nil || len(*entData) == 0 {
+			log.Println(fmt.Sprintf("企业账号 %s  , 数量 %v ", uid, entId, len(*entData)))
+		} else {
+			entMap := map[int64]map[string]interface{}{}
+			for _, v := range *entData {
+				id := gconv.Int64(v["id"])
+				entMap[id] = v
+			}
+			//企业下人员查询
+			powerList := []int64{}
+			noPowerList := []int64{}
+			switch productName {
+			case "商机管理":
+				//企业下有权限人员查询
+				powerData := Mysql.SelectBySql(fmt.Sprintf(`SELECT
+	b.*
+FROM
+	entniche_info a
+	INNER JOIN entniche_user b ON  a.id=%v and   a.id = b.ent_id 
+	AND a.status = 1 
+	AND a.enddate > UNIX_TIMESTAMP()
+	AND b.power =1`, entId))
+				if powerData != nil && len(*powerData) > 0 {
+					for _, v := range *powerData {
+						entUserId := gconv.Int64(v["id"])
+						if _, exists := entMap[entUserId]; exists {
+							//存在
+							powerList = append(powerList, entUserId)
+							delete(entMap, entUserId)
+						}
+					}
+				}
+			case "大会员":
+				powerData, _ := Mgo.Find("ent_user", map[string]interface{}{
+					"i_member_status": map[string]interface{}{"$gt": 0},
+				}, "", "", false, -1, -1)
+				if powerData != nil && len(*powerData) > 0 {
+					for _, v := range *powerData {
+						entUserId := gconv.Int64(v["i_userid"])
+						if _, exists := entMap[entUserId]; exists {
+							//存在
+							powerList = append(powerList, entUserId)
+							delete(entMap, entUserId)
+						}
+					}
+				}
+			}
+			if len(entMap) > 0 {
+				for k := range entMap {
+					noPowerList = append(noPowerList, k)
+				}
+			}
 		}
 	}
-	//企业订单
-	//企业下人员查询
-	switch productName {
-	case "商机管理":
-	case "大会员":
-
+	//非集团公司处理
+	if c := TiDb.CountBySql(`select count(1) from group_company_name where company_name=?`, companyName); c > 0 {
+		return
 	}
+	otherData := TiDb.SelectBySql(fmt.Sprintf(`SELECT
+	c.* 
+FROM
+	dwd_f_crm_clue_info c
+	INNER JOIN data_service.user_system d ON c.cluename = "%s"  and   c.is_transfer=0
+	AND c.uid = d.uid 
+	AND d.STATUS = 1 
+WHERE
+	NOT EXISTS (
+	SELECT
+		1 
+	FROM
+		data_service.user_system b 
+	WHERE
+		b.uid = c.uid  %s  
+	AND b.STATUS = 1 
+	)`, companyName, common.If(entId == 0, "", fmt.Sprintf(`	AND b.ent_id = %v  `, entId))))
+	if otherData != nil || len(*otherData) > 0 {
 
+	}
 }