Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zendata
提交
c3c27673
Z
zendata
项目概览
易企天创
/
zendata
10 个月 前同步成功
通知
17
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zendata
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c3c27673
编写于
1月 13, 2021
作者:
aaronchen2k2k
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
move upgrade function to zmanager
上级
b7507774
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
10 addition
and
84 deletion
+10
-84
.zd.conf
.zd.conf
+1
-1
src/action/upgrade.go
src/action/upgrade.go
+1
-81
src/server/config/db.go
src/server/config/db.go
+3
-0
src/utils/config/config.go
src/utils/config/config.go
+5
-2
未找到文件。
.zd.conf
浏览文件 @
c3c27673
Version
=
1
.
6
Version
=
1
.
6
Language
=
zh
src/action/upgrade.go
浏览文件 @
c3c27673
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
}
src/server/config/db.go
浏览文件 @
c3c27673
...
...
@@ -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"
)
...
...
src/utils/config/config.go
浏览文件 @
c3c27673
...
...
@@ -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
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录