|
@@ -6,6 +6,7 @@ import (
|
|
|
"github.com/dgraph-io/badger/v3"
|
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
|
"go.mongodb.org/mongo-driver/mongo/options"
|
|
|
+ util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
|
|
|
"log"
|
|
|
"strings"
|
|
|
"sync"
|
|
@@ -38,7 +39,7 @@ type EmployeeMatch struct {
|
|
|
CompanyID2 string `bson:"company_id2"`
|
|
|
}
|
|
|
|
|
|
-// dealTsDongShi 处理企业 董事关系
|
|
|
+// dealTsDongShi 处理企业 董事关系 到 MongoDB数据库
|
|
|
func dealTsDongShi() {
|
|
|
ctx := context.Background()
|
|
|
username := "SJZY_RWbid_ES"
|
|
@@ -187,3 +188,48 @@ func dealTsDongShi() {
|
|
|
wg.Wait()
|
|
|
log.Println("done.")
|
|
|
}
|
|
|
+
|
|
|
+// dealDsGraph 处理 董事 高管数据到 graph 图形数据库
|
|
|
+func dealDsGraph() {
|
|
|
+ session, pool, err := ConnectToNebula(HostList, UserName, PassWord)
|
|
|
+ if err != nil {
|
|
|
+ log.Fatalf("Failed to connect to Nebula Graph: %v", err)
|
|
|
+ }
|
|
|
+ defer pool.Close()
|
|
|
+ defer session.Release()
|
|
|
+ //
|
|
|
+ sess := MgoQy.GetMgoConn()
|
|
|
+ defer MgoQy.DestoryMongoConn(sess)
|
|
|
+ it := sess.DB("mixdata").C("wcc_employee_relation0424").Find(nil).Sort("_id").Select(nil).Iter()
|
|
|
+
|
|
|
+ jobChan := make(chan ExecutivesInvest, WorkerCount*2)
|
|
|
+ var wg sync.WaitGroup
|
|
|
+ // 启动工作协程
|
|
|
+ for i := 0; i < 5; i++ {
|
|
|
+ wg.Add(1)
|
|
|
+ go BatchInsertExecutivesInvestWork(session, &wg, jobChan)
|
|
|
+ }
|
|
|
+
|
|
|
+ count := 0
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp); count++ {
|
|
|
+ if count%10000 == 0 {
|
|
|
+ log.Println("current:", count, tmp["company_name_1"], tmp["company_name_2"])
|
|
|
+ }
|
|
|
+ //
|
|
|
+ if util.ObjToString(tmp["company_name_1"]) == "" || util.ObjToString(tmp["company_name_2"]) == "" || util.ObjToString(tmp["employee_name"]) == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ job := ExecutivesInvest{
|
|
|
+ FromCode: util.ObjToString(tmp["company_id1"]),
|
|
|
+ ToCode: util.ObjToString(tmp["company_id2"]),
|
|
|
+ Name: util.ObjToString(tmp["employee_name"]),
|
|
|
+ }
|
|
|
+
|
|
|
+ jobChan <- job
|
|
|
+ }
|
|
|
+
|
|
|
+ close(jobChan)
|
|
|
+ wg.Wait()
|
|
|
+ log.Println(" dealTsGraph 完成!")
|
|
|
+}
|