|
@@ -2,7 +2,6 @@ package ent_util
|
|
|
|
|
|
import (
|
|
import (
|
|
"context"
|
|
"context"
|
|
- "fmt"
|
|
|
|
"github.com/ClickHouse/clickhouse-go/v2"
|
|
"github.com/ClickHouse/clickhouse-go/v2"
|
|
"github.com/ClickHouse/clickhouse-go/v2/lib/driver"
|
|
"github.com/ClickHouse/clickhouse-go/v2/lib/driver"
|
|
log "github.com/donnie4w/go-logger/logger"
|
|
log "github.com/donnie4w/go-logger/logger"
|
|
@@ -16,7 +15,8 @@ var (
|
|
SourceMgo, QyxyMgo *MongodbSim
|
|
SourceMgo, QyxyMgo *MongodbSim
|
|
SpiMgo, ExtMgo *MongodbSim
|
|
SpiMgo, ExtMgo *MongodbSim
|
|
MysqlGlobalTool *Mysql
|
|
MysqlGlobalTool *Mysql
|
|
- IsLocal, IsDev bool
|
|
|
|
|
|
+ SysConfig map[string]interface{}
|
|
|
|
+ IsLocal bool
|
|
ClickHouseConn driver.Conn
|
|
ClickHouseConn driver.Conn
|
|
EsClinet *elastic.Elastic
|
|
EsClinet *elastic.Elastic
|
|
BuyerClassData = map[string]string{}
|
|
BuyerClassData = map[string]string{}
|
|
@@ -29,130 +29,86 @@ var (
|
|
const (
|
|
const (
|
|
G_Units_Baseinfo = "dws_f_ent_baseinfo"
|
|
G_Units_Baseinfo = "dws_f_ent_baseinfo"
|
|
G_Units_Contact = "dws_f_ent_contact"
|
|
G_Units_Contact = "dws_f_ent_contact"
|
|
- G_Units_Tags = "dws_f_ent_tags"
|
|
|
|
- G_Units_Warning = "dws_f_ent_warning"
|
|
|
|
)
|
|
)
|
|
|
|
|
|
func InitGlobalVar() {
|
|
func InitGlobalVar() {
|
|
IsLocal = true
|
|
IsLocal = true
|
|
|
|
+ qu.ReadConfig(&SysConfig) //加载配置文件
|
|
initMgo()
|
|
initMgo()
|
|
- //initMysql()
|
|
|
|
- //initVCode()
|
|
|
|
- //initClickHouse()
|
|
|
|
- //initEs()
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func initEs() {
|
|
|
|
- url := "http://127.0.0.1:13003"
|
|
|
|
- if !IsLocal {
|
|
|
|
- url = "http://172.17.4.184:19805"
|
|
|
|
- }
|
|
|
|
- EsClinet = &elastic.Elastic{
|
|
|
|
- S_esurl: url,
|
|
|
|
- I_size: 10,
|
|
|
|
- Username: "es_all",
|
|
|
|
- Password: "TopJkO2E_d1x",
|
|
|
|
- }
|
|
|
|
- EsClinet.InitElasticSize()
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func initClickHouse() {
|
|
|
|
- ClickHouseConn, _ = connectClickhouse()
|
|
|
|
|
|
+ initMysql()
|
|
|
|
+ initVCode()
|
|
|
|
+ initClickHouse()
|
|
|
|
+ initEs()
|
|
}
|
|
}
|
|
|
|
|
|
// 初始化mgo
|
|
// 初始化mgo
|
|
func initMgo() {
|
|
func initMgo() {
|
|
|
|
+ mgo := *qu.ObjToMap(SysConfig["mongo"])
|
|
|
|
+ b_mgo := *qu.ObjToMap(mgo["bid_mgo"])
|
|
|
|
+ q_mgo := *qu.ObjToMap(mgo["qy_mgo"])
|
|
|
|
+ s_mgo := *qu.ObjToMap(mgo["spi_mgo"])
|
|
|
|
+ e_mgo := *qu.ObjToMap(mgo["ext_mgo"])
|
|
|
|
+
|
|
|
|
+ SourceMgo = &MongodbSim{
|
|
|
|
+ MongodbAddr: qu.ObjToString(b_mgo["addr"]),
|
|
|
|
+ DbName: qu.ObjToString(b_mgo["dbname"]),
|
|
|
|
+ Size: 10,
|
|
|
|
+ UserName: qu.ObjToString(b_mgo["username"]),
|
|
|
|
+ Password: qu.ObjToString(b_mgo["password"]),
|
|
|
|
+ }
|
|
if IsLocal {
|
|
if IsLocal {
|
|
- SourceMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "127.0.0.1:12005",
|
|
|
|
- DbName: "qfw",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "zhengkun",
|
|
|
|
- Password: "zk@123123",
|
|
|
|
- }
|
|
|
|
SourceMgo.InitPoolDirect()
|
|
SourceMgo.InitPoolDirect()
|
|
-
|
|
|
|
- QyxyMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "127.0.0.1:12005",
|
|
|
|
- DbName: "mixdata",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "zhengkun",
|
|
|
|
- Password: "zk@123123",
|
|
|
|
- }
|
|
|
|
- QyxyMgo.InitPoolDirect()
|
|
|
|
-
|
|
|
|
- SpiMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "127.0.0.1:12004",
|
|
|
|
- DbName: "zhengkun",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "",
|
|
|
|
- Password: "",
|
|
|
|
- }
|
|
|
|
- SpiMgo.InitPoolDirect()
|
|
|
|
-
|
|
|
|
- ExtMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "127.0.0.1:12001",
|
|
|
|
- DbName: "qfw",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "",
|
|
|
|
- Password: "",
|
|
|
|
- }
|
|
|
|
- ExtMgo.InitPoolDirect()
|
|
|
|
} else {
|
|
} else {
|
|
- SourceMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "172.17.189.140:27080,172.17.189.141:27081",
|
|
|
|
- DbName: "qfw",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "zhengkun",
|
|
|
|
- Password: "zk@123123",
|
|
|
|
- }
|
|
|
|
SourceMgo.InitPool()
|
|
SourceMgo.InitPool()
|
|
|
|
+ }
|
|
|
|
|
|
- QyxyMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "172.17.189.140:27080,172.17.189.141:27081",
|
|
|
|
- DbName: "mixdata",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "zhengkun",
|
|
|
|
- Password: "zk@123123",
|
|
|
|
- }
|
|
|
|
|
|
+ QyxyMgo = &MongodbSim{
|
|
|
|
+ MongodbAddr: qu.ObjToString(q_mgo["addr"]),
|
|
|
|
+ DbName: qu.ObjToString(q_mgo["dbname"]),
|
|
|
|
+ Size: 10,
|
|
|
|
+ UserName: qu.ObjToString(q_mgo["username"]),
|
|
|
|
+ Password: qu.ObjToString(q_mgo["password"]),
|
|
|
|
+ }
|
|
|
|
+ if IsLocal {
|
|
|
|
+ QyxyMgo.InitPoolDirect()
|
|
|
|
+ } else {
|
|
QyxyMgo.InitPool()
|
|
QyxyMgo.InitPool()
|
|
|
|
+ }
|
|
|
|
|
|
- SpiMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "172.17.4.181:27001",
|
|
|
|
- DbName: "mixdata",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "",
|
|
|
|
- Password: "",
|
|
|
|
- }
|
|
|
|
|
|
+ SpiMgo = &MongodbSim{
|
|
|
|
+ MongodbAddr: qu.ObjToString(s_mgo["addr"]),
|
|
|
|
+ DbName: qu.ObjToString(s_mgo["dbname"]),
|
|
|
|
+ Size: 10,
|
|
|
|
+ UserName: qu.ObjToString(s_mgo["username"]),
|
|
|
|
+ Password: qu.ObjToString(s_mgo["password"]),
|
|
|
|
+ }
|
|
|
|
+ if IsLocal {
|
|
|
|
+ SpiMgo.InitPoolDirect()
|
|
|
|
+ } else {
|
|
SpiMgo.InitPool()
|
|
SpiMgo.InitPool()
|
|
|
|
+ }
|
|
|
|
|
|
- ExtMgo = &MongodbSim{
|
|
|
|
- MongodbAddr: "172.17.4.85:27080",
|
|
|
|
- DbName: "qfw",
|
|
|
|
- Size: 10,
|
|
|
|
- UserName: "",
|
|
|
|
- Password: "",
|
|
|
|
- }
|
|
|
|
|
|
+ ExtMgo = &MongodbSim{
|
|
|
|
+ MongodbAddr: qu.ObjToString(e_mgo["addr"]),
|
|
|
|
+ DbName: qu.ObjToString(e_mgo["dbname"]),
|
|
|
|
+ Size: 10,
|
|
|
|
+ UserName: qu.ObjToString(e_mgo["username"]),
|
|
|
|
+ Password: qu.ObjToString(e_mgo["password"]),
|
|
|
|
+ }
|
|
|
|
+ if IsLocal {
|
|
|
|
+ ExtMgo.InitPoolDirect()
|
|
|
|
+ } else {
|
|
ExtMgo.InitPool()
|
|
ExtMgo.InitPool()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
func initMysql() {
|
|
func initMysql() {
|
|
-
|
|
|
|
- username, password := "zhengkun", "Zk#20220824"
|
|
|
|
- address := "127.0.0.1:15001"
|
|
|
|
- if !IsLocal {
|
|
|
|
- address = "172.17.4.242:4000"
|
|
|
|
- }
|
|
|
|
- if IsDev {
|
|
|
|
- username, password = "root", "=PDT49#80Z!RVv52_z"
|
|
|
|
- address = "192.168.3.217:4000"
|
|
|
|
- }
|
|
|
|
|
|
+ mysql := *qu.ObjToMap(SysConfig["mysql"])
|
|
MysqlGlobalTool = &Mysql{
|
|
MysqlGlobalTool = &Mysql{
|
|
- Address: address,
|
|
|
|
- UserName: username,
|
|
|
|
- PassWord: password,
|
|
|
|
- DBName: "global_common_data",
|
|
|
|
|
|
+ Address: qu.ObjToString(mysql["addr"]),
|
|
|
|
+ UserName: qu.ObjToString(mysql["username"]),
|
|
|
|
+ PassWord: qu.ObjToString(mysql["password"]),
|
|
|
|
+ DBName: qu.ObjToString(mysql["dbname"]),
|
|
}
|
|
}
|
|
MysqlGlobalTool.Init()
|
|
MysqlGlobalTool.Init()
|
|
}
|
|
}
|
|
@@ -184,56 +140,51 @@ func initVCode() {
|
|
}
|
|
}
|
|
|
|
|
|
// 创建clickhouse连接
|
|
// 创建clickhouse连接
|
|
|
|
+func initClickHouse() {
|
|
|
|
+ ClickHouseConn, _ = connectClickhouse()
|
|
|
|
+}
|
|
func connectClickhouse() (driver.Conn, error) {
|
|
func connectClickhouse() (driver.Conn, error) {
|
|
|
|
+ ck := *qu.ObjToMap(SysConfig["clickhouse"])
|
|
var (
|
|
var (
|
|
- ctx = context.Background()
|
|
|
|
- /*
|
|
|
|
- 外网地址:cc-2ze9tv451wov14w9e.public.clickhouse.ads.aliyuncs.com:9000
|
|
|
|
- 内网地址:cc-2ze9tv451wov14w9e.clickhouse.ads.aliyuncs.com:9000
|
|
|
|
- */
|
|
|
|
-
|
|
|
|
|
|
+ ctx = context.Background()
|
|
conn, err = clickhouse.Open(&clickhouse.Options{
|
|
conn, err = clickhouse.Open(&clickhouse.Options{
|
|
- Addr: []string{"192.168.3.207:19000"},
|
|
|
|
|
|
+ Addr: []string{qu.ObjToString(ck["addr"])},
|
|
DialTimeout: 10 * time.Second,
|
|
DialTimeout: 10 * time.Second,
|
|
MaxIdleConns: 3,
|
|
MaxIdleConns: 3,
|
|
MaxOpenConns: 30,
|
|
MaxOpenConns: 30,
|
|
Auth: clickhouse.Auth{
|
|
Auth: clickhouse.Auth{
|
|
- Database: "information",
|
|
|
|
- Username: "jytop",
|
|
|
|
- Password: "pwdTopJy123",
|
|
|
|
|
|
+ Database: qu.ObjToString(ck["dbname"]),
|
|
|
|
+ Username: qu.ObjToString(ck["username"]),
|
|
|
|
+ Password: qu.ObjToString(ck["password"]),
|
|
},
|
|
},
|
|
Debugf: func(format string, v ...interface{}) {
|
|
Debugf: func(format string, v ...interface{}) {
|
|
- fmt.Printf(format, v)
|
|
|
|
|
|
+ log.Debug(format, v)
|
|
},
|
|
},
|
|
})
|
|
})
|
|
-
|
|
|
|
- //conn, err = clickhouse.Open(&clickhouse.Options{
|
|
|
|
- // Addr: []string{"cc-2ze9tv451wov14w9e.public.clickhouse.ads.aliyuncs.com:9000"},
|
|
|
|
- // DialTimeout: 10 * time.Second,
|
|
|
|
- // MaxIdleConns: 3,
|
|
|
|
- // MaxOpenConns: 30,
|
|
|
|
- // Auth: clickhouse.Auth{
|
|
|
|
- // Database: "information",
|
|
|
|
- // Username: "biservice",
|
|
|
|
- // Password: "Bi_top95215#",
|
|
|
|
- // },
|
|
|
|
- // Debugf: func(format string, v ...interface{}) {
|
|
|
|
- // fmt.Printf(format, v)
|
|
|
|
- // },
|
|
|
|
- //})
|
|
|
|
)
|
|
)
|
|
if err != nil {
|
|
if err != nil {
|
|
return nil, err
|
|
return nil, err
|
|
}
|
|
}
|
|
if err := conn.Ping(ctx); err != nil {
|
|
if err := conn.Ping(ctx); err != nil {
|
|
if exception, ok := err.(*clickhouse.Exception); ok {
|
|
if exception, ok := err.(*clickhouse.Exception); ok {
|
|
- fmt.Printf("Exception [%d] %s \n%s\n", exception.Code, exception.Message, exception.StackTrace)
|
|
|
|
|
|
+ log.Debug("Exception [%d] %s \n%s\n", exception.Code, exception.Message, exception.StackTrace)
|
|
}
|
|
}
|
|
return nil, err
|
|
return nil, err
|
|
}
|
|
}
|
|
return conn, nil
|
|
return conn, nil
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func initEs() {
|
|
|
|
+ es := *qu.ObjToMap(SysConfig["es"])
|
|
|
|
+ EsClinet = &elastic.Elastic{
|
|
|
|
+ S_esurl: qu.ObjToString(es["addr"]),
|
|
|
|
+ I_size: 10,
|
|
|
|
+ Username: qu.ObjToString(es["username"]),
|
|
|
|
+ Password: qu.ObjToString(es["password"]),
|
|
|
|
+ }
|
|
|
|
+ EsClinet.InitElasticSize()
|
|
|
|
+}
|
|
|
|
+
|
|
// ...
|
|
// ...
|
|
func GetNewInfo(index, query string) map[string]interface{} {
|
|
func GetNewInfo(index, query string) map[string]interface{} {
|
|
//log.Println("query -- ", query)
|
|
//log.Println("query -- ", query)
|