|
@@ -16,6 +16,7 @@ import (
|
|
|
|
|
|
var (
|
|
|
cfg = new(Config)
|
|
|
+ db = new(DB)
|
|
|
Mysql *mysql.Mysql
|
|
|
TiDb *mysql.Mysql
|
|
|
TiDbData *mysql.Mysql
|
|
@@ -35,89 +36,91 @@ func main() {
|
|
|
flag.Parse()
|
|
|
common.ReadConfig(&cfg)
|
|
|
log.Println("cfg ", cfg)
|
|
|
+ common.ReadConfig("./db.json", &db)
|
|
|
+ log.Println("db ", db)
|
|
|
TiDb = &mysql.Mysql{
|
|
|
- Address: cfg.TiDb.Host + ":" + fmt.Sprint(cfg.TiDb.Port),
|
|
|
- UserName: cfg.TiDb.User,
|
|
|
- PassWord: cfg.TiDb.Password,
|
|
|
- DBName: cfg.TiDb.Database,
|
|
|
- MaxOpenConns: cfg.TiDb.PollSize,
|
|
|
- MaxIdleConns: cfg.TiDb.MaxIdle,
|
|
|
+ Address: db.TiDb.Host + ":" + fmt.Sprint(db.TiDb.Port),
|
|
|
+ UserName: db.TiDb.User,
|
|
|
+ PassWord: db.TiDb.Password,
|
|
|
+ DBName: db.TiDb.Database,
|
|
|
+ MaxOpenConns: db.TiDb.PollSize,
|
|
|
+ MaxIdleConns: db.TiDb.MaxIdle,
|
|
|
}
|
|
|
TiDb.Init()
|
|
|
TiDbData = &mysql.Mysql{
|
|
|
- Address: cfg.TiDbData.Host + ":" + fmt.Sprint(cfg.TiDbData.Port),
|
|
|
- UserName: cfg.TiDbData.User,
|
|
|
- PassWord: cfg.TiDbData.Password,
|
|
|
- DBName: cfg.TiDbData.Database,
|
|
|
- MaxOpenConns: cfg.TiDbData.PollSize,
|
|
|
- MaxIdleConns: cfg.TiDbData.MaxIdle,
|
|
|
+ Address: db.TiDbData.Host + ":" + fmt.Sprint(db.TiDbData.Port),
|
|
|
+ UserName: db.TiDbData.User,
|
|
|
+ PassWord: db.TiDbData.Password,
|
|
|
+ DBName: db.TiDbData.Database,
|
|
|
+ MaxOpenConns: db.TiDbData.PollSize,
|
|
|
+ MaxIdleConns: db.TiDbData.MaxIdle,
|
|
|
}
|
|
|
TiDbData.Init()
|
|
|
TiDbPower = &mysql.Mysql{
|
|
|
- Address: cfg.TiDbPower.Host + ":" + fmt.Sprint(cfg.TiDbPower.Port),
|
|
|
- UserName: cfg.TiDbPower.User,
|
|
|
- PassWord: cfg.TiDbPower.Password,
|
|
|
- DBName: cfg.TiDbPower.Database,
|
|
|
- MaxOpenConns: cfg.TiDbPower.PollSize,
|
|
|
- MaxIdleConns: cfg.TiDbPower.MaxIdle,
|
|
|
+ Address: db.TiDbPower.Host + ":" + fmt.Sprint(db.TiDbPower.Port),
|
|
|
+ UserName: db.TiDbPower.User,
|
|
|
+ PassWord: db.TiDbPower.Password,
|
|
|
+ DBName: db.TiDbPower.Database,
|
|
|
+ MaxOpenConns: db.TiDbPower.PollSize,
|
|
|
+ MaxIdleConns: db.TiDbPower.MaxIdle,
|
|
|
}
|
|
|
TiDbPower.Init()
|
|
|
ThirdParty = &mysql.Mysql{
|
|
|
- Address: cfg.ThirdParty.Host + ":" + fmt.Sprint(cfg.ThirdParty.Port),
|
|
|
- UserName: cfg.ThirdParty.User,
|
|
|
- PassWord: cfg.ThirdParty.Password,
|
|
|
- DBName: cfg.ThirdParty.Database,
|
|
|
- MaxOpenConns: cfg.ThirdParty.PollSize,
|
|
|
- MaxIdleConns: cfg.ThirdParty.MaxIdle,
|
|
|
+ Address: db.ThirdParty.Host + ":" + fmt.Sprint(db.ThirdParty.Port),
|
|
|
+ UserName: db.ThirdParty.User,
|
|
|
+ PassWord: db.ThirdParty.Password,
|
|
|
+ DBName: db.ThirdParty.Database,
|
|
|
+ MaxOpenConns: db.ThirdParty.PollSize,
|
|
|
+ MaxIdleConns: db.ThirdParty.MaxIdle,
|
|
|
}
|
|
|
ThirdParty.Init()
|
|
|
Jyactivities = &mysql.Mysql{
|
|
|
- Address: cfg.Jyactivities.Host + ":" + fmt.Sprint(cfg.Jyactivities.Port),
|
|
|
- UserName: cfg.Jyactivities.User,
|
|
|
- PassWord: cfg.Jyactivities.Password,
|
|
|
- DBName: cfg.Jyactivities.Database,
|
|
|
- MaxOpenConns: cfg.Jyactivities.PollSize,
|
|
|
- MaxIdleConns: cfg.Jyactivities.MaxIdle,
|
|
|
+ Address: db.Jyactivities.Host + ":" + fmt.Sprint(db.Jyactivities.Port),
|
|
|
+ UserName: db.Jyactivities.User,
|
|
|
+ PassWord: db.Jyactivities.Password,
|
|
|
+ DBName: db.Jyactivities.Database,
|
|
|
+ MaxOpenConns: db.Jyactivities.PollSize,
|
|
|
+ MaxIdleConns: db.Jyactivities.MaxIdle,
|
|
|
}
|
|
|
Jyactivities.Init()
|
|
|
WorkOrder = &mysql.Mysql{
|
|
|
- Address: cfg.WorderOrder.Host + ":" + fmt.Sprint(cfg.WorderOrder.Port),
|
|
|
- UserName: cfg.WorderOrder.User,
|
|
|
- PassWord: cfg.WorderOrder.Password,
|
|
|
- DBName: cfg.WorderOrder.Database,
|
|
|
- MaxOpenConns: cfg.WorderOrder.PollSize,
|
|
|
- MaxIdleConns: cfg.WorderOrder.MaxIdle,
|
|
|
+ Address: db.WorderOrder.Host + ":" + fmt.Sprint(db.WorderOrder.Port),
|
|
|
+ UserName: db.WorderOrder.User,
|
|
|
+ PassWord: db.WorderOrder.Password,
|
|
|
+ DBName: db.WorderOrder.Database,
|
|
|
+ MaxOpenConns: db.WorderOrder.PollSize,
|
|
|
+ MaxIdleConns: db.WorderOrder.MaxIdle,
|
|
|
}
|
|
|
WorkOrder.Init()
|
|
|
Mysql = &mysql.Mysql{
|
|
|
- Address: cfg.Mysql.Host + ":" + fmt.Sprint(cfg.Mysql.Port),
|
|
|
- UserName: cfg.Mysql.User,
|
|
|
- PassWord: cfg.Mysql.Password,
|
|
|
- DBName: cfg.Mysql.Database,
|
|
|
- MaxOpenConns: cfg.Mysql.PollSize,
|
|
|
- MaxIdleConns: cfg.Mysql.MaxIdle,
|
|
|
+ Address: db.Mysql.Host + ":" + fmt.Sprint(db.Mysql.Port),
|
|
|
+ UserName: db.Mysql.User,
|
|
|
+ PassWord: db.Mysql.Password,
|
|
|
+ DBName: db.Mysql.Database,
|
|
|
+ MaxOpenConns: db.Mysql.PollSize,
|
|
|
+ MaxIdleConns: db.Mysql.MaxIdle,
|
|
|
}
|
|
|
Mysql.Init()
|
|
|
Base = &mysql.Mysql{
|
|
|
- Address: cfg.BaseService.Host + ":" + fmt.Sprint(cfg.BaseService.Port),
|
|
|
- UserName: cfg.BaseService.User,
|
|
|
- PassWord: cfg.BaseService.Password,
|
|
|
- DBName: cfg.BaseService.Database,
|
|
|
- MaxOpenConns: cfg.BaseService.PollSize,
|
|
|
- MaxIdleConns: cfg.BaseService.MaxIdle,
|
|
|
+ Address: db.BaseService.Host + ":" + fmt.Sprint(db.BaseService.Port),
|
|
|
+ UserName: db.BaseService.User,
|
|
|
+ PassWord: db.BaseService.Password,
|
|
|
+ DBName: db.BaseService.Database,
|
|
|
+ MaxOpenConns: db.BaseService.PollSize,
|
|
|
+ MaxIdleConns: db.BaseService.MaxIdle,
|
|
|
}
|
|
|
Base.Init()
|
|
|
- Es = elastic.NewEs(cfg.Es.Version, cfg.Es.Address, cfg.Es.DbSize, cfg.Es.UserName, cfg.Es.Password)
|
|
|
- redis.InitRedis(cfg.RedisServer)
|
|
|
- Mgo = mongodb.NewMgo(cfg.Mgo.Address, cfg.Mgo.DbName, cfg.Mgo.DbSize)
|
|
|
- MgoLog = mongodb.NewMgoWithUser(cfg.MgoLog.Address, cfg.MgoLog.DbName, cfg.MgoLog.User, cfg.MgoLog.Password, cfg.MgoLog.DbSize)
|
|
|
- MgoQyxy = mongodb.NewMgoWithUser(cfg.MgoQyxy.Address, cfg.MgoQyxy.DbName, cfg.MgoQyxy.User, cfg.MgoQyxy.Password, cfg.MgoQyxy.DbSize)
|
|
|
+ Es = elastic.NewEs(db.Es.Version, db.Es.Address, db.Es.DbSize, db.Es.UserName, db.Es.Password)
|
|
|
+ redis.InitRedis(db.RedisServer)
|
|
|
+ Mgo = mongodb.NewMgo(db.Mgo.Address, db.Mgo.DbName, db.Mgo.DbSize)
|
|
|
+ MgoLog = mongodb.NewMgoWithUser(db.MgoLog.Address, db.MgoLog.DbName, db.MgoLog.User, db.MgoLog.Password, db.MgoLog.DbSize)
|
|
|
+ MgoQyxy = mongodb.NewMgoWithUser(db.MgoQyxy.Address, db.MgoQyxy.DbName, db.MgoQyxy.User, db.MgoQyxy.Password, db.MgoQyxy.DbSize)
|
|
|
InitArea()
|
|
|
- InitProduct(cfg.ProductArr)
|
|
|
+ InitProduct(db.ProductArr)
|
|
|
if *mode == 1 {
|
|
|
//30分钟一次
|
|
|
a := cron.New()
|
|
|
- a.AddFunc(cfg.CornExp1, func() {
|
|
|
+ a.AddFunc(db.CornExp1, func() {
|
|
|
orders() //未支付订单
|
|
|
messageSync() //聊天记录进线索
|
|
|
userbase() //新绑定手机号进线索
|
|
@@ -125,7 +128,7 @@ func main() {
|
|
|
a.Start()
|
|
|
//5分钟一次
|
|
|
b := cron.New()
|
|
|
- b.AddFunc(cfg.CornExp2, func() {
|
|
|
+ b.AddFunc(db.CornExp2, func() {
|
|
|
users() //新注册用户进线索
|
|
|
saleLeads() //留资进线索
|
|
|
eventReg() //渠道
|
|
@@ -135,7 +138,7 @@ func main() {
|
|
|
b.Start()
|
|
|
//每天8点30
|
|
|
c := cron.New()
|
|
|
- c.AddFunc(cfg.CornExp3, func() {
|
|
|
+ c.AddFunc(db.CornExp3, func() {
|
|
|
users() //新注册用户进线索
|
|
|
saleLeads() //留资进线索
|
|
|
})
|
|
@@ -143,14 +146,14 @@ func main() {
|
|
|
// 一天一次
|
|
|
// tagAllSync()
|
|
|
d := cron.New()
|
|
|
- d.AddFunc(cfg.CornExp4, func() {
|
|
|
+ d.AddFunc(db.CornExp4, func() {
|
|
|
tagAllSync() //用户标签
|
|
|
})
|
|
|
d.Start()
|
|
|
// 5分钟一次
|
|
|
go ordersClue() //后台订单进线索
|
|
|
e := cron.New()
|
|
|
- e.AddFunc(cfg.CornExp5, func() {
|
|
|
+ e.AddFunc(db.CornExp5, func() {
|
|
|
go everythingSync() //渠道
|
|
|
go ordersClue() //后台订单进线索
|
|
|
go kcSync() //移交客成
|
|
@@ -162,14 +165,14 @@ func main() {
|
|
|
e.Start()
|
|
|
//5分钟一次
|
|
|
f := cron.New()
|
|
|
- f.AddFunc(cfg.CornExp6, func() {
|
|
|
+ f.AddFunc(db.CornExp6, func() {
|
|
|
subscribeAddSync() //订阅增量
|
|
|
rderAcceptance() //工单生成
|
|
|
})
|
|
|
f.Start()
|
|
|
//自动进入任务车 1天一次
|
|
|
g := cron.New()
|
|
|
- g.AddFunc(cfg.CornExp7, func() {
|
|
|
+ g.AddFunc(db.CornExp7, func() {
|
|
|
readClue() //读取中间表进线索
|
|
|
refundAuto() //客成移交销售
|
|
|
autoTask() //超时未跟进加入任务车
|
|
@@ -184,13 +187,13 @@ func main() {
|
|
|
WarningDm() // 部门
|
|
|
log.Println("个人/部门邮件告警查询结束")
|
|
|
h := cron.New()
|
|
|
- h.AddFunc(cfg.CornMail, func() {
|
|
|
+ h.AddFunc(db.CornMail, func() {
|
|
|
log.Println("个人邮件告警查询开始")
|
|
|
WarningPerl() // 个人
|
|
|
log.Println("部门邮件告警查询开始")
|
|
|
WarningDm() // 部门
|
|
|
log.Println("个人/部门邮件告警查询结束")
|
|
|
- UpperLimitAutoExitSea(cfg.AllocationCap)
|
|
|
+ UpperLimitAutoExitSea(db.AllocationCap)
|
|
|
})
|
|
|
h.Start()
|
|
|
select {}
|