Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zendata
提交
313e5de6
Z
zendata
项目概览
易企天创
/
zendata
11 个月 前同步成功
通知
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 搜索 >>
提交
313e5de6
编写于
5月 12, 2020
作者:
aaronchen2k2k
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add 36hex seq column
上级
2a690c5f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
56 addition
and
8 deletion
+56
-8
src/action/upgrade.go
src/action/upgrade.go
+19
-8
src/utils/numb/numb.go
src/utils/numb/numb.go
+37
-0
未找到文件。
src/action/upgrade.go
浏览文件 @
313e5de6
...
...
@@ -5,6 +5,7 @@ import (
"fmt"
constant
"github.com/easysoft/zendata/src/utils/const"
logUtils
"github.com/easysoft/zendata/src/utils/log"
numbUtils
"github.com/easysoft/zendata/src/utils/numb"
_
"github.com/mattn/go-sqlite3"
)
...
...
@@ -12,30 +13,40 @@ import (
func
Upgrade
()
{
db
,
err
:=
sql
.
Open
(
constant
.
SqliteDriver
,
constant
.
SqliteSource
)
if
err
!=
nil
{
logUtils
.
Screen
(
"fail to open "
+
constant
.
SqliteSource
)
logUtils
.
Screen
(
"fail to open "
+
constant
.
SqliteSource
+
": "
+
err
.
Error
()
)
return
}
sql
:=
"SELECT city.id, city.name, parent.name state, city.zipCode, city.cityCode "
+
"FROM cn_city city JOIN cn_city parent ON city.parentCode = parent.areaCode"
sql
:=
"SELECT id, 'name', state, zipCode, cityCode FROM city"
rows
,
err
:=
db
.
Query
(
sql
)
if
err
!=
nil
{
logUtils
.
Screen
(
"fail to exec query "
+
sql
)
logUtils
.
Screen
(
"fail to exec query "
+
sql
+
": "
+
err
.
Error
()
)
return
}
sqls
:=
make
([]
string
,
0
)
for
rows
.
Next
()
{
var
id
int
var
name
string
var
state
string
var
zipCode
int
var
cityCode
int
var
zipCode
string
var
cityCode
string
err
=
rows
.
Scan
(
&
id
,
&
name
,
&
state
,
&
zipCode
,
&
cityCode
)
if
err
!=
nil
{
logUtils
.
Screen
(
"fail to get sqlite3 row
"
)
logUtils
.
Screen
(
"fail to get sqlite3 row
: "
+
err
.
Error
()
)
return
}
fmt
.
Println
(
id
,
name
,
state
,
zipCode
,
cityCode
)
fmt
.
Println
(
numbUtils
.
NumToBHex
(
id
),
name
,
state
,
zipCode
,
cityCode
)
sql
:=
fmt
.
Sprintf
(
"UPDATE city SET seq = '%s' where id = %d;"
,
numbUtils
.
NumToBHex
(
id
),
id
)
sqls
=
append
(
sqls
,
sql
)
}
for
_
,
sql
:=
range
sqls
{
_
,
err
:=
db
.
Exec
(
sql
)
if
err
!=
nil
{
logUtils
.
Screen
(
"fail to update row: "
+
err
.
Error
())
}
}
}
\ No newline at end of file
src/utils/numb/numb.go
0 → 100644
浏览文件 @
313e5de6
package
numbUtils
import
(
"math"
"strings"
)
var
num2char
=
"0123456789abcdefghijklmnopqrstuvwxyz"
func
NumToBHex
(
num
int
)
string
{
n
:=
36
numStr
:=
""
for
num
!=
0
{
yu
:=
num
%
n
numStr
=
string
(
num2char
[
yu
])
+
numStr
num
=
num
/
n
}
numStr
=
strings
.
ToUpper
(
numStr
)
numStr
=
strings
.
Repeat
(
"0"
,
5
-
len
(
numStr
))
+
numStr
return
numStr
}
func
BHex2Num
(
str
string
)
int
{
n
:=
36
str
=
strings
.
ToLower
(
str
)
v
:=
0.0
length
:=
len
(
str
)
for
i
:=
0
;
i
<
length
;
i
++
{
s
:=
string
(
str
[
i
])
index
:=
strings
.
Index
(
num2char
,
s
)
v
+=
float64
(
index
)
*
math
.
Pow
(
float64
(
n
),
float64
(
length
-
1
-
i
))
// 倒序
}
return
int
(
v
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录