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() } }