123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package common
- import (
- "context"
- "flag"
- "fmt"
- "log"
- "time"
- . "app.yhyue.com/moapp/jybase/es"
- "app.yhyue.com/moapp/jybase/mongodb"
- "app.yhyue.com/moapp/jybase/mysql"
- "app.yhyue.com/moapp/jybase/redis"
- "bp.jydev.jianyu360.cn/CRM/networkManage/api/internal/config"
- "bp.jydev.jianyu360.cn/CRM/networkManage/entity"
- "github.com/ClickHouse/clickhouse-go/v2"
- "github.com/ClickHouse/clickhouse-go/v2/lib/driver"
- "github.com/zeromicro/go-zero/core/conf"
- "github.com/zeromicro/go-zero/core/logx"
- )
- var configFile = flag.String("fs", "etc/networkmanage.yaml", "the config file")
- var C config.Config
- var logFile = flag.String("lf", "etc/logs.yaml", "the config file")
- var logc entity.Logc
- var dbFile = flag.String("df", "etc/db.yaml", "the db file")
- var DB config.Db
- var (
- MgoBidding mongodb.MongodbSim
- BaseMysql *mysql.Mysql
- CrmMysql *mysql.Mysql
- Mgo mongodb.MongodbSim
- ClickhouseConn driver.Conn
- )
- func InitConf() {
- conf.MustLoad(*configFile, &C)
- log.Println("初始化配置") //
- //初始化日志信息
- conf.MustLoad(*logFile, &logc)
- if len(logc.Level) > 0 {
- for _, v := range logc.Level {
- logx.MustSetup(logx.LogConf{
- Mode: logc.Mode,
- Path: logc.Path,
- Level: v,
- KeepDays: logc.KeepDays,
- })
- logx.Info(v, "--日志记录")
- }
- }
- conf.MustLoad(*dbFile, &DB)
- if DB.Mysql.BaseService.Address != "" {
- log.Println("--初始化 base mysql--")
- BaseMysql = &mysql.Mysql{
- Address: DB.Mysql.BaseService.Address,
- UserName: DB.Mysql.BaseService.UserName,
- PassWord: DB.Mysql.BaseService.Password,
- DBName: DB.Mysql.BaseService.DbName,
- MaxOpenConns: DB.Mysql.BaseService.MaxOpenConns,
- MaxIdleConns: DB.Mysql.BaseService.MaxIdleConns,
- }
- BaseMysql.Init()
- }
- if DB.Mysql.CrmService.Address != "" {
- log.Println("--初始化 crm mysql--")
- CrmMysql = &mysql.Mysql{
- Address: DB.Mysql.CrmService.Address,
- UserName: DB.Mysql.CrmService.UserName,
- PassWord: DB.Mysql.CrmService.Password,
- DBName: DB.Mysql.CrmService.DbName,
- MaxOpenConns: DB.Mysql.CrmService.MaxOpenConns,
- MaxIdleConns: DB.Mysql.CrmService.MaxIdleConns,
- }
- CrmMysql.Init()
- }
- if DB.Mongo.Main.Address != "" {
- logx.Info("--初始化 mongodb--")
- Mgo = mongodb.MongodbSim{
- MongodbAddr: DB.Mongo.Main.Address,
- Size: DB.Mongo.Main.Size,
- DbName: DB.Mongo.Main.DbName,
- }
- Mgo.InitPool()
- }
- if DB.Mongo.Bidding.Address != "" {
- logx.Info("--初始化 mongodb Bidding --")
- MgoBidding = mongodb.MongodbSim{
- MongodbAddr: DB.Mongo.Bidding.Address,
- Size: DB.Mongo.Bidding.Size,
- DbName: DB.Mongo.Bidding.DbName,
- Password: DB.Mongo.Bidding.Password,
- UserName: DB.Mongo.Bidding.UserName,
- }
- MgoBidding.InitPool()
- }
- //初始化 elasticsearch
- if DB.Es.Addr != "" {
- log.Println("--初始化 elasticsearch--")
- NewEs(DB.Es.Version, DB.Es.Addr, DB.Es.Size, DB.Es.UserName, DB.Es.Password)
- }
- redis.InitRedis(DB.Redis)
- ConnectClickhouse(DB.Clickhouse)
- }
- func ConnectClickhouse(cHouseConfig *config.CHouseConfig) error {
- var (
- ctx = context.Background()
- err error
- )
- ClickhouseConn, err = clickhouse.Open(&clickhouse.Options{
- Addr: []string{cHouseConfig.Addr},
- DialTimeout: 10 * time.Second,
- MaxIdleConns: cHouseConfig.MaxIdleConns,
- MaxOpenConns: cHouseConfig.MaxOpenConns,
- Auth: clickhouse.Auth{
- Database: cHouseConfig.DbName,
- Username: cHouseConfig.UserName,
- Password: cHouseConfig.Password,
- },
- Debugf: func(format string, v ...interface{}) {
- fmt.Printf(format, v)
- },
- })
- if err != nil {
- return err
- }
- if err := ClickhouseConn.Ping(ctx); err != nil {
- if exception, ok := err.(*clickhouse.Exception); ok {
- fmt.Printf("Exception [%d] %s \n%s\n", exception.Code, exception.Message, exception.StackTrace)
- }
- return err
- }
- return nil
- }
|