diff --git a/.zd.conf b/.zd.conf index d370d2cc43f8c05b08871def91c763e6e50104be..c6f0b2827f9c0ee762c66279f0fddf61c18cb102 100644 --- a/.zd.conf +++ b/.zd.conf @@ -1,3 +1,3 @@ -Version = 1.6 +Version = 1.6 Language = zh diff --git a/src/action/upgrade.go b/src/action/upgrade.go index a4c3b848f1360261ef9d7c19b4febebb95c01da3..481fe79e60bc512c4dae937584aa6b2e6c6b0487 100644 --- a/src/action/upgrade.go +++ b/src/action/upgrade.go @@ -1,92 +1,12 @@ package action import ( - "database/sql" - "fmt" "github.com/360EntSecGroup-Skylar/excelize/v2" - constant "github.com/easysoft/zendata/src/utils/const" - i118Utils "github.com/easysoft/zendata/src/utils/i118" - logUtils "github.com/easysoft/zendata/src/utils/log" - numbUtils "github.com/easysoft/zendata/src/utils/numb" _ "github.com/mattn/go-sqlite3" "hash/crc32" "strconv" ) -func Upgrade() { - // TODO: update date from remote server - - // read data from db - db, err := sql.Open(constant.SqliteDriver, constant.SqliteData) - defer db.Close() - if err != nil { - logUtils.PrintTo(i118Utils.I118Prt.Sprintf("fail_to_connect_sqlite", constant.SqliteData, err.Error())) - return - } - - sql := "SELECT id, name, state, zipCode, cityCode FROM city" - rows, err := db.Query(sql) - if err != nil { - logUtils.PrintTo(i118Utils.I118Prt.Sprintf("fail_to_exec_query", sql, err.Error())) - return - } - - sqls := make([]string, 0) - - sheet := "city" - excel := excelize.NewFile() - excel.SetSheetName("Sheet1", sheet) - headerData := []interface{}{"seq", "name", "state", "zipCode", "cityCode", "crc"} - colNumb := AddExcelRow(excel, sheet, 1, headerData) - - rowIndex := 1 - for rows.Next() { - var seq string - var id int - var name string - var state string - var zipCode string - var cityCode string - - err = rows.Scan(&id, &name, &state, &zipCode, &cityCode) - if err != nil { - logUtils.PrintTo(i118Utils.I118Prt.Sprintf("fail_to_parse_row", err.Error())) - return - } - - seq = numbUtils.NumToBHex(id) - fmt.Println(seq, name, state, zipCode, cityCode) - - // gen update sql - sql := fmt.Sprintf("UPDATE city SET seq = '%s' where id = %d;", numbUtils.NumToBHex(id), id) - sqls = append(sqls, sql) - - // gen excel row - rowIndex = rowIndex + 1 - rowData := []interface{}{seq, name, state, zipCode, cityCode} - AddExcelRow(excel, sheet, rowIndex, rowData) - } - - headerStyle, err := excel.NewStyle(constant.ExcelHeader) - excel.SetCellStyle(sheet, "A1", colNumb + "1", headerStyle) - - borderStyle, err := excel.NewStyle(constant.ExcelBorder) - excel.SetCellStyle(sheet, "A1", colNumb + strconv.Itoa(rowIndex), borderStyle) - - // update seq column - for _, sql := range sqls { - _, err := db.Exec(sql) - if err != nil { - logUtils.PrintTo(i118Utils.I118Prt.Sprintf("fail_to_exec_query", sql, err.Error())) - } - } - - err = excel.SaveAs("export.excel") - if err != nil { - logUtils.PrintTo(i118Utils.I118Prt.Sprintf("fail_to_save_excel", err.Error())) - } -} - func AddExcelRow(excel *excelize.File, sheet string, rowIndex int, cols []interface{}) string { start := byte('A') var numb string @@ -107,4 +27,4 @@ func AddExcelRow(excel *excelize.File, sheet string, rowIndex int, cols []interf } return numb -} \ No newline at end of file +} diff --git a/src/server/config/db.go b/src/server/config/db.go index 08767b7a8493e4fc63110e8139d0969ceeeb4aa4..b720e3c7f66cbf345c9f4b2d323d29631f37a477 100644 --- a/src/server/config/db.go +++ b/src/server/config/db.go @@ -3,6 +3,9 @@ package serverConfig import ( "fmt" "github.com/easysoft/zendata/src/model" + constant "github.com/easysoft/zendata/src/utils/const" + fileUtils "github.com/easysoft/zendata/src/utils/file" + logUtils "github.com/easysoft/zendata/src/utils/log" "github.com/jinzhu/gorm" ) diff --git a/src/utils/config/config.go b/src/utils/config/config.go index 86c07fef6d8287ff091e1576a8ac2d6e9fc85781..6108b06881dc69ec1f2880adcd2ce0614571bd55 100644 --- a/src/utils/config/config.go +++ b/src/utils/config/config.go @@ -25,8 +25,11 @@ func InitDB() (db *sql.DB, err error) { db, err = sql.Open(constant.SqliteDriver, constant.SqliteData) err = db.Ping() // This DOES open a connection if necessary. This makes sure the database is accessible if err != nil { - logUtils.PrintErrMsg( - fmt.Sprintf("Error on opening db %s, error is %s", constant.SqliteData, err.Error())) + if vari.RunMode != constant.RunModeServer { + logUtils.PrintErrMsg( + fmt.Sprintf("Error on opening db %s, error is %s", constant.SqliteData, err.Error())) + } + return }