|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"flag"
|
|
|
|
"fmt"
|
|
|
|
"io/ioutil"
|
|
|
|
|
|
|
|
common "main_program/common"
|
|
|
|
"main_program/config"
|
|
|
|
keywordanalyse "main_program/keyword_analyse"
|
|
|
|
move_data "main_program/moveData"
|
|
|
|
|
|
|
|
"gopkg.in/yaml.v2"
|
|
|
|
"gorm.io/driver/mysql"
|
|
|
|
"gorm.io/gorm"
|
|
|
|
"gorm.io/gorm/logger"
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
flag.StringVar(&common.ConfigFile, "cf", "config.yml", "配置文件名")
|
|
|
|
flag.StringVar(&common.Command, "cmd", "", "命令")
|
|
|
|
flag.StringVar(&common.Table, "table", "", "需要迁移的表")
|
|
|
|
flag.StringVar(&common.Dbpath, "sqlite", "", "sqlite文件地址")
|
|
|
|
flag.StringVar(&common.XlsxPath, "excel", "", "excel文件地址")
|
|
|
|
flag.StringVar(&common.AnalyseRegion, "analyse", "", "解析的地区")
|
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
flag.Parse()
|
|
|
|
//读取配置文件
|
|
|
|
data, _ := ioutil.ReadFile(common.ConfigFile)
|
|
|
|
err := yaml.Unmarshal(data, &common.MyEnv)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println("读取配置文件错误...")
|
|
|
|
return
|
|
|
|
}
|
|
|
|
config.InitConfig(common.MyEnv.Log.LogEnv, common.MyEnv.Log.LogPath)
|
|
|
|
config.Logger.Info("初始化Logger成功...")
|
|
|
|
// 初始化myslq
|
|
|
|
config.Logger.Info("=====================")
|
|
|
|
config.Logger.Info(common.MyEnv.Command)
|
|
|
|
config.Logger.Info("=====================")
|
|
|
|
dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", common.MyEnv.Mysql.User, common.MyEnv.Mysql.Password, common.MyEnv.Mysql.Host, common.MyEnv.Mysql.Database)
|
|
|
|
common.MysqlDB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
|
|
|
|
Logger: logger.Default.LogMode(logger.Error),
|
|
|
|
})
|
|
|
|
// 判断command
|
|
|
|
command := common.MyEnv.Command
|
|
|
|
if common.Command != "" {
|
|
|
|
command = common.Command
|
|
|
|
}
|
|
|
|
config.Logger.Infof("Command:%s", command)
|
|
|
|
if command == "move_data" {
|
|
|
|
// 判断参数
|
|
|
|
table := common.MyEnv.MoveData.Table
|
|
|
|
if common.Table != "" {
|
|
|
|
table = common.Table
|
|
|
|
}
|
|
|
|
dbPath := common.MyEnv.MoveData.DBPath
|
|
|
|
if common.Dbpath != "" {
|
|
|
|
dbPath = common.Dbpath
|
|
|
|
}
|
|
|
|
xlsxPath := common.MyEnv.MoveData.XlsxPath
|
|
|
|
if common.XlsxPath != "" {
|
|
|
|
xlsxPath = common.XlsxPath
|
|
|
|
}
|
|
|
|
if table == "" || dbPath == "" {
|
|
|
|
config.Logger.Error("move_data配置文件错误...")
|
|
|
|
return
|
|
|
|
}
|
|
|
|
config.Logger.Infof("开始调用move_data方法")
|
|
|
|
config.Logger.Infof("table:%s dbPath:%s xlsxPath:%s", table, dbPath, xlsxPath)
|
|
|
|
move_data.MoveDataService.Start(table, dbPath, common.MyEnv.Mysql, xlsxPath)
|
|
|
|
} else if command == "keyword_analyse" {
|
|
|
|
keywordanalyse.KeywordAnalyseService.Start()
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|