Browse Source

Merge branch 'gin-vue-admin_v2_dev' of https://github.com/flipped-aurora/gin-vue-admin into action-ci

Granty1 4 years ago
parent
commit
4c67cf260c
100 changed files with 12328 additions and 1294 deletions
  1. 119 0
      .dockerignore
  2. 3 0
      .gitignore
  3. 41 0
      Dockerfile
  4. 1 1
      LICENSE
  5. 42 9
      README-zh_CN.md
  6. 39 6
      README.md
  7. 4 0
      docker/docker-start.sh
  8. 56 0
      docker/etc/nginx/nginx.conf.tpl
  9. 26 0
      server/Dockerfile
  10. 9 9
      server/api/v1/exa_customer.go
  11. 1 1
      server/api/v1/exa_file_upload_download.go
  12. 2 2
      server/api/v1/sys_api.go
  13. 42 4
      server/api/v1/sys_authority.go
  14. 3 3
      server/api/v1/sys_casbin.go
  15. 1 1
      server/api/v1/sys_jwt_blacklist.go
  16. 7 8
      server/api/v1/sys_menu.go
  17. 27 8
      server/api/v1/sys_user.go
  18. 1 1
      server/api/v1/sys_work_flow.go
  19. 8 3
      server/config.yaml
  20. 43 33
      server/config/config.go
  21. BIN
      server/db.db
  22. 83 67
      server/db/qmplus.sql
  23. 284 0
      server/db/sqlite/casbin_rule.sql
  24. 650 0
      server/db/sqlite/ch_cities.sql
  25. 62 0
      server/db/sqlite/ch_provinces.sql
  26. 6438 0
      server/db/sqlite/ch_t_d_areainfo.sql
  27. 8 0
      server/db/sqlite/exa_customers.sql
  28. 0 0
      server/db/sqlite/exa_file_chunks.sql
  29. 10 0
      server/db/sqlite/exa_file_upload_and_downloads.sql
  30. 0 0
      server/db/sqlite/exa_files.sql
  31. 72 0
      server/db/sqlite/jwt_blacklists.sql
  32. 82 0
      server/db/sqlite/sys_apis.sql
  33. 6 0
      server/db/sqlite/sys_authorities.sql
  34. 94 0
      server/db/sqlite/sys_authority_menus.sql
  35. 40 0
      server/db/sqlite/sys_base_menus.sql
  36. 10 0
      server/db/sqlite/sys_data_authority_id.sql
  37. 106 0
      server/db/sqlite/sys_menus.sql
  38. 4 0
      server/db/sqlite/sys_users.sql
  39. 0 0
      server/db/sqlite/sys_workflow_step_infos.sql
  40. 2 0
      server/db/sqlite/sys_workflows.sql
  41. 254 0
      server/db/sqlite/tables.sql
  42. 350 177
      server/docs/docs.go
  43. 349 176
      server/docs/swagger.json
  44. 357 172
      server/docs/swagger.yaml
  45. 1 1
      server/go.mod
  46. 1 0
      server/initialize/router.go
  47. 23 0
      server/initialize/sqlite.go
  48. 15 1
      server/main.go
  49. 2 1
      server/middleware/casbin_rcba.go
  50. 2 4
      server/middleware/jwt.go
  51. 5 5
      server/model/exa_customer.go
  52. 3 3
      server/model/request/common.go
  53. 5 0
      server/model/response/sys_authority.go
  54. 3 1
      server/model/response/sys_casbin.go
  55. 5 3
      server/model/sys_base_menu.go
  56. 1 1
      server/resource/rbac_model.conf
  57. 1 1
      server/resource/template/fe/api.js.tpl
  58. 2 2
      server/resource/template/te/api.go.tpl
  59. 5 5
      server/router/exp_customer.go
  60. 2 0
      server/router/sys_authority.go
  61. 1 0
      server/router/sys_user.go
  62. 29 25
      server/service/exa_breakpoint_continue.go
  63. 31 25
      server/service/exa_customer.go
  64. 19 15
      server/service/exa_file_upload_download.go
  65. 23 16
      server/service/jwt_black_list.go
  66. 66 53
      server/service/sys_api.go
  67. 98 57
      server/service/sys_authority.go
  68. 23 21
      server/service/sys_auto_code.go
  69. 24 10
      server/service/sys_base_menu.go
  70. 35 20
      server/service/sys_casbin.go
  71. 38 35
      server/service/sys_menu.go
  72. 8 6
      server/service/sys_system.go
  73. 38 20
      server/service/sys_user.go
  74. 3 1
      server/service/sys_workflow.go
  75. 20 3
      server/utils/directory.go
  76. 36 3
      web/package-lock.json
  77. 2 0
      web/package.json
  78. 31 0
      web/src/api/authority.js
  79. 18 18
      web/src/api/customer.js
  80. 17 0
      web/src/api/user.js
  81. 0 4
      web/src/components/mixins/infoList.js
  82. 17 1
      web/src/main.js
  83. 162 159
      web/src/style/main.scss
  84. 120 0
      web/src/view/dashboard/component/RaddarChart.vue
  85. 391 0
      web/src/view/dashboard/component/Sunburst.vue
  86. 48 0
      web/src/view/dashboard/component/musicPlayer.vue
  87. 167 0
      web/src/view/dashboard/component/stackMap.vue
  88. 81 0
      web/src/view/dashboard/component/todoList/Todo.vue
  89. 320 0
      web/src/view/dashboard/component/todoList/index.scss
  90. 122 0
      web/src/view/dashboard/component/todoList/index.vue
  91. 194 33
      web/src/view/dashboard/index.vue
  92. 114 13
      web/src/view/example/breakpoint/breakpoint.vue
  93. 16 6
      web/src/view/example/customer/customer.vue
  94. 3 0
      web/src/view/example/upload/upload.vue
  95. 1 1
      web/src/view/layout/aside/asideComponent/index.vue
  96. 13 5
      web/src/view/layout/index.vue
  97. 1 1
      web/src/view/login/login.vue
  98. 41 16
      web/src/view/superAdmin/api/api.vue
  99. 138 15
      web/src/view/superAdmin/authority/authority.vue
  100. 7 3
      web/src/view/superAdmin/authority/components/apis.vue

+ 119 - 0
.dockerignore

@@ -0,0 +1,119 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Node template
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+.env.test
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.pnp.*
+
+**/node_modules

+ 3 - 0
.gitignore

@@ -1,5 +1,6 @@
 .idea/
 /web/node_modules
+/web/dist
 
 .DS_Store
 
@@ -24,3 +25,5 @@ yarn-error.log*
 go.sum
 /server/log/
 /server/latest_log
+
+*.iml

+ 41 - 0
Dockerfile

@@ -0,0 +1,41 @@
+FROM golang:alpine as builder
+RUN  apk add --update --no-cache yarn make g++
+RUN yarn global add cross-env node-sass
+
+ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct \
+    GO111MODULE=on \
+    CGO_ENABLED=1
+WORKDIR /go/src/gin-vue-admin
+RUN go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
+COPY server/ ./
+RUN go env && go list && go build -v -a -ldflags "-extldflags \"-static\" " -o gvadmin .
+
+WORKDIR /web
+COPY web/ ./
+RUN yarn install && yarn run build
+
+
+FROM nginx:alpine
+LABEL MAINTAINER="rikugun"
+
+RUN apk add --no-cache  gettext tzdata   && \
+    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
+    echo "Asia/Shanghai" >  /etc/timezone && \
+    date && \
+    apk del tzdata
+
+COPY docker/etc/nginx/nginx.conf.tpl /etc/nginx/nginx.conf.tpl
+WORKDIR /app
+#copy web
+COPY --from=builder /web/dist/ /var/www/
+#copy go app
+COPY --from=builder /go/src/gin-vue-admin/gvadmin ./
+COPY --from=builder /go/src/gin-vue-admin/db.db ./
+COPY --from=builder /go/src/gin-vue-admin/config.yaml ./
+COPY --from=builder /go/src/gin-vue-admin/resource ./resource
+COPY docker/docker-start.sh ./
+
+ENV API_SERVER="http://localhost:8888/"
+EXPOSE 80
+
+ENTRYPOINT ["./docker-start.sh"]

+ 1 - 1
LICENSE

@@ -186,7 +186,7 @@
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright [yyyy] [name of copyright owner]
+    Copyright 2019 JiZhao Jiang
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.

+ 42 - 9
README-zh_CN.md

@@ -25,20 +25,50 @@
 [在线预览](http://qmplus.henrongyi.top/)
 > Gin-vue-admin是一个基于vue和gin开发的全栈前后端分离的后台管理系统,集成jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供多种示例文件,让您把更多时间专注在业务开发上。
 
-### 1.2 版本列表
+### 1.2 贡献指南
+Hi! 首先感谢你使用 gin-vue-admin。
+
+Gin-vue-admin 是一套为后台管理平台准备的一整套前后端分离架构式的开源框架,旨在快速搭建后台管理系统。
+
+Gin-vue-admin 的成长离不开大家的支持,如果你愿意为 gin-vue-admin 贡献代码或提供建议,请阅读以下内容。
+
+#### 1.2.1 Issue 规范
+- issue 仅用于提交 Bug 或 Feature 以及设计相关的内容,其它内容可能会被直接关闭。如果你在使用时产生了疑问,请到 Slack 或 [Gitter](https://gitter.im/ElemeFE/element) 里咨询。
+
+- 在提交 issue 之前,请搜索相关内容是否已被提出。
+
+#### 1.2.2 Pull Request 规范
+- 请先 fork 一份到自己的项目下,不要直接在仓库下建分支。
+
+- commit 信息要以`[文件名]: 描述信息` 的形式填写,例如 `README.md: fix xxx bug`。
+
+- <font color=red>确保 PR 是提交到 `develop` 分支,而不是 `master` 分支。</font>
+
+- 如果是修复 bug,请在 PR 中给出描述信息。
+
+- 合并代码需要两名维护人员参与:一人进行 review 后 approve,另一人再次 review,通过后即可合并。
+
+### 1.3 版本列表
+
+- master: 2.0 dev code, for prod
+
+- develop: 2.0 dev code, for test
+
+- [gin-vue-admin_v2.0_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v2_dev) (v2.0 不再兼容 v1.0)
+
+- [gin-vue-admin_v1.0_stable](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v1_stable) (v1.0 稳定版,会持续更新和维护)
+
+- [gin-vue-admin_v1.0_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v1_dev) (v1.0 稳定版,会持续更新和维护)
 
-master:2.0开发版代码
 
-[gin-vue-adminv 1.0稳定版](https://github.com/piexlmax/gin-vue-admin/tree/gin-vue-admin_v1_stable) (v1.0保持更新和维护)
 
-[gin-vue-adminv 2.0开发版](https://github.com/piexlmax/gin-vue-admin) (v2.0不再兼容v1.0)
 
 ## 2. 使用说明
 
 ```
 - node版本 > v8.6.0
 - golang版本 >= v1.11
-- IDE推荐:Golang
+- IDE推荐:Goland
 - 各位在clone项目以后,把db文件导入自己创建的库后,最好前往七牛云申请自己的空间地址。
 - 替换掉项目中的七牛云公钥,私钥,仓名和默认url地址,以免发生测试文件数据错乱
 ```
@@ -56,7 +86,7 @@ cd web
 npm install
 
 # develop
-npm run dev
+npm run serve
 ```
 
 ### 2.2 server端
@@ -131,7 +161,7 @@ go run main.go;
 
 - 前端:用基于`vue`的`Element-UI`构建基础页面。
 - 后端:用`Gin`快速搭建基础restful风格API,`Gin`是一个go语言编写的Web框架。
-- 数据库:采用`MySql`(5.6.44)版本,使用`gorm`实现对数据库的基本操作。
+- 数据库:采用`MySql`(5.6.44)版本,使用`gorm`实现对数据库的基本操作,已添加对sqlite数据库的支持
 - 缓存:使用`Redis`实现记录当前活跃用户的`jwt`令牌并实现多点登录限制。
 - API文档:使用`Swagger`构建自动化文档。
 - 配置文件:使用`fsnotify`和`viper`实现`yaml`格式的配置文件。
@@ -153,6 +183,7 @@ go run main.go;
     │  ├─model          (结构体层)
     │  ├─resource       (资源)
     │  ├─router         (路由)
+    │  ├─service         (服务)
     │  └─utils	        (公共功能)
     └─web            (前端文件)
         ├─public        (发布模板)
@@ -179,7 +210,8 @@ go run main.go;
 - api管理:不同用户可调用的api接口的权限不同。
 - 配置管理:配置文件可前台修改(测试环境不开放此功能)。
 - 富文本编辑器:MarkDown编辑器功能嵌入。
-- 条件搜索:增加条件搜索示例。 
+- 条件搜索:增加条件搜索示例。
+- restful示例:可以参考用户管理模块中的示例API。 
 ```
 前端文件参考: src\view\superAdmin\api\api.vue 
 后台文件参考: model\dnModel\api.go 
@@ -207,6 +239,7 @@ go run main.go;
 |2020/03/30| 代码生成器开发完成 表单生成器开发完成 使用了[@form-generator](https://github.com/JakHuang/form-generator) 库 |
 |2020/04/01| 增加前端历史页签功能,增加(修改)条件查询示例,前端背景色调修改为白色。(如不需要此功能可以在`web/src/view/layout/index.vue`中屏蔽`HistoryComponent`背景色调,为本页260行&.el-main中的`background`属性) |
 |2020/04/04| 启动2.x版本,项目文档规范化,日志功能改造,方法增加英文注释 |
+|2020/04/24|1.增加了角色拷贝功能(目前只支持单角色拷贝)<br>2.增加了首页音频播放器示例 增加了 dotolist工具<br>3.增加了docker支持<br>4.修复了部分total返回0的bug<br>5.修复了首页会发送一次无用404请求的bug<br>6.修复了swagger不能携带token的bug<br>7.修复菜单展示下级只有一个隐藏菜单时候的交互错误<br>8.修复了config从前端控制变化时候导致yaml内部的key名称错误的bug<br>9.数据库添加拷贝角色相关api和权限|
 
 ## 8. 团队博客
 
@@ -255,4 +288,4 @@ go run main.go;
 
 ## 12. 捐赠
 
-如果你觉得这个项目对你有帮助,你可以加我们人一个开发者,请喝饮料 :tropical_drink:
+如果你觉得这个项目对你有帮助,你可以请作者喝饮料 :tropical_drink:

+ 39 - 6
README.md

@@ -26,13 +26,43 @@ English | [简体中文](./README-zh_CN.md)
 > Gin-vue-admin is a full-stack (frontend and backend separation) framework designed for management system. 
 > It integrates multiple functions, such as JWT authentication, dynamic routing, dynamic menu, casbin authentication, form generator, code generator, etc. So that you can focus more time on your business Requirements.
 
-### 1.2 Version list
+Hi! Thank you for choosing gin-vue-admin.
 
-master: 2.0 dev code
+Gin-vue-admin is a full-stack (frontend and backend separation) framework for developers, designers and product managers.
 
-[gin-vue-adminv 1.0 stable](https://github.com/piexlmax/gin-vue-admin/tree/gin-vue-admin_v1_stable) (v1.0 is kept up to date and maintained)
+We are excited that you are interested in contributing to gin-vue-admin. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.
+
+### 1.2 Contributing Guide
+#### 1.2.1 Issue Guidelines
+
+- Issues are exclusively for bug reports, feature requests and design-related topics. Other questions may be closed directly. If any questions come up when you are using Element, please hit [Gitter](https://gitter.im/element-en/Lobby) for help.
+
+- Before submitting an issue, please check if similar problems have already been issued.
+
+#### 1.2.2 Pull Request Guidelines
+
+- Fork this repository to your own account. Do not create branches here.
+
+- Commit info should be formatted as `[File Name]: Info about commit.` (e.g. `README.md: Fix xxx bug`)
+
+- <font color=red>Make sure PRs are created to `develop` branch instead of `master` branch.</font>
+
+- If your PR fixes a bug, please provide a description about the related bug.
+
+- Merging a PR takes two maintainers: one approves the changes after reviewing, and then the other reviews and merges.
+
+### 1.3 Version list
+
+- master: 2.0 开发版代码,生产环境
+
+- develop: 2.0 开发版代码,测试环境
+
+- [gin-vue-admin_v2.0_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v2_dev) (v2.0 is no longer compatible with v1.0)
+
+- [gin-vue-admin_v1.0_stable](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v1_stable) (v1.0 is kept up to date and maintained)
+
+- [gin-vue-admin_v1.0_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v1_dev) (v1.0 is kept up to date and maintained)
 
-[gin-vue-adminv 2.0 dev](https://github.com/piexlmax/gin-vue-admin) (v2.0 is no longer compatible with v1.0)
 
 ## 2. Getting started
 ```
@@ -56,7 +86,7 @@ cd web
 npm install
 
 # develop
-npm run dev
+npm run serve
 ```
 
 ### 2.2 Server
@@ -129,7 +159,7 @@ go run main.go;
 
 - Frontend: using `Element-UI` based on vue,to code the page.
 - Backend: using `Gin` to quickly build basic RESTful API. `Gin` is a web framework written in Go (Golang).
-- DB: `MySql`(5.6.44),using `gorm` to implement data manipulation.
+- DB: `MySql`(5.6.44),using `gorm` to implement data manipulation, added support for SQLite databases.
 - Cache: using `Redis` to implement the recording of the JWT token of the currently active user and implement the multi-login restriction.
 - API: using Swagger to auto generate APIs docs。
 - Config: using `fsnotify` and `viper` to implement `yaml` config file。
@@ -150,6 +180,7 @@ go run main.go;
     │  ├─model          (model and services)
     │  ├─resource       (resources, such as static pages, templates)
     │  ├─router         (routers)
+    │  ├─service         (services)
     │  └─utils	        (common utilities)
     └─web            (frontend)
         ├─public        (deploy templates)
@@ -177,6 +208,8 @@ go run main.go;
 - Configuration management: The configuration file can be modified in the web page (the test environment does not provide this function).
 - Rich text editor: Embed MarkDown editor function.
 - Conditional search: Add an example of conditional search.
+- Restful example: You can see sample APIs in user management module.
+
 ```
 fontend code file: src\view\superAdmin\api\api.vue 
 backend code file: model\dnModel\api.go 

+ 4 - 0
docker/docker-start.sh

@@ -0,0 +1,4 @@
+#!/bin/sh
+envsubst '$API_SERVER' < /etc/nginx/nginx.conf.tpl > /etc/nginx/nginx.conf
+env nginx
+./gvadmin

+ 56 - 0
docker/etc/nginx/nginx.conf.tpl

@@ -0,0 +1,56 @@
+daemon on;
+worker_processes  50;
+#error_log /dev/stdout warn;
+error_log  /var/log/nginx/error.log error;
+
+
+events {
+    worker_connections 1024;
+}
+
+
+http {
+    include       mime.types;
+    default_type  application/octet-stream;
+    # See http://licson.net/post/optimizing-nginx-for-large-file-delivery/ for more detail
+        # This optimizes the server for HLS fragment delivery
+    sendfile off;
+    #tcp_nopush on;
+    keepalive_timeout  65;
+    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
+                      '$status $body_bytes_sent "$http_referer" '
+                      '"$http_user_agent" "$http_x_forwarded_for"';
+    #access_log /dev/stdout combined;
+
+#     ssl_ciphers         HIGH:!aNULL:!MD5;
+#     ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
+#     ssl_session_cache   shared:SSL:10m;
+#     ssl_session_timeout 10m;
+
+server {
+        listen 80;
+
+        # Uncomment these lines to enable SSL.
+        # Update the ssl paths with your own certificate and private key.
+        # listen 443 ssl;
+        # ssl_certificate     /opt/certs/example.com.crt;
+        # ssl_certificate_key /opt/certs/example.com.key;
+        location / {
+          root /var/www;
+          try_files $uri $uri/ /index.html;
+          index  index.html;
+        }
+
+        location /v1/ {
+          proxy_set_header X-Forwarded-Proto $scheme;
+          proxy_set_header X-Forwarded-Port $server_port;
+          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+          proxy_set_header Upgrade $http_upgrade;
+          proxy_set_header Connection "upgrade";
+          proxy_set_header  Host  $host;
+          proxy_pass ${API_SERVER} ;
+        }
+
+}
+
+}

+ 26 - 0
server/Dockerfile

@@ -0,0 +1,26 @@
+FROM centos:7.6.1810
+
+# 设置go mod proxy 国内代理
+# 设置golang path
+ENV GOPROXY=https://goproxy.io GOPATH=/gopath PATH="${PATH}:/usr/local/go/bin"
+# 定义使用的Golang 版本
+ARG GO_VERSION=1.13.3
+
+# 安装 golang 1.13.3
+RUN yum install -y wget && \
+    yum install -y wqy-microhei-fonts wqy-zenhei-fonts && \
+    wget "https://dl.google.com/go/go$GO_VERSION.linux-amd64.tar.gz" && \
+    rm -rf /usr/local/go && \
+    tar -C /usr/local -xzf "go$GO_VERSION.linux-amd64.tar.gz" && \
+    rm -rf *.tar.gz && \
+    go version && go env;
+
+
+WORKDIR $GOPATH
+COPY . gin-vue
+
+RUN cd server && go build -o app;
+
+EXPOSE 8888
+
+CMD ["gin-vue/app"]

+ 9 - 9
server/api/v1/exa_customer.go

@@ -17,7 +17,7 @@ import (
 // @Produce application/json
 // @Param data body model.ExaCustomer true "创建客户"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/createExaCustomer [post]
+// @Router /customer/customer [post]
 func CreateExaCustomer(c *gin.Context) {
 	var cu model.ExaCustomer
 	_ = c.ShouldBindJSON(&cu)
@@ -40,7 +40,7 @@ func CreateExaCustomer(c *gin.Context) {
 // @Produce application/json
 // @Param data body model.ExaCustomer true "删除客户"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/deleteExaCustomer [post]
+// @Router /customer/customer [delete]
 func DeleteExaCustomer(c *gin.Context) {
 	var cu model.ExaCustomer
 	_ = c.ShouldBindJSON(&cu)
@@ -59,7 +59,7 @@ func DeleteExaCustomer(c *gin.Context) {
 // @Produce application/json
 // @Param data body model.ExaCustomer true "创建客户"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/updateExaCustomer [post]
+// @Router /customer/customer [put]
 func UpdateExaCustomer(c *gin.Context) {
 	var cu model.ExaCustomer
 	_ = c.ShouldBindJSON(&cu)
@@ -78,10 +78,10 @@ func UpdateExaCustomer(c *gin.Context) {
 // @Produce application/json
 // @Param data body model.ExaCustomer true "获取单一客户信息"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/getExaCustomer [post]
+// @Router /customer/customer [get]
 func GetExaCustomer(c *gin.Context) {
 	var cu model.ExaCustomer
-	_ = c.ShouldBindJSON(&cu)
+	_ = c.ShouldBindQuery(&cu)
 	err, customer := service.GetExaCustomer(cu.ID)
 	if err != nil {
 		response.FailWithMessage(fmt.Sprintf("获取失败:%v", err), c)
@@ -95,17 +95,17 @@ func GetExaCustomer(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.PageInfo true "获取权限客户列表"
+// @Param data body request.PageInfo true "获取权限客户列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/getExaCustomerList [post]
+// @Router /customer/customerList [get]
 func GetExaCustomerList(c *gin.Context) {
 	claims, _ := c.Get("claims")
 	waitUse := claims.(*request.CustomClaims)
 	var pageInfo request.PageInfo
-	_ = c.ShouldBindJSON(&pageInfo)
+	_ = c.ShouldBindQuery(&pageInfo)
 	err, customerList, total := service.GetCustomerInfoList(waitUse.AuthorityId, pageInfo)
 	if err != nil {
-		response.FailWithMessage(fmt.Sprintf("创建失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取失败:%v", err), c)
 	} else {
 		response.OkWithData(resp.PageResult{
 			List:     customerList,

+ 1 - 1
server/api/v1/exa_file_upload_download.go

@@ -85,7 +85,7 @@ func DeleteFile(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.PageInfo true "分页获取文件户列表"
+// @Param data body request.PageInfo true "分页获取文件户列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /fileUploadAndDownload/getFileList [post]
 func GetFileList(c *gin.Context) {

+ 2 - 2
server/api/v1/sys_api.go

@@ -55,7 +55,7 @@ func DeleteApi(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.SearchApiParams true "分页获取API列表"
+// @Param data body request.SearchApiParams true "分页获取API列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /api/getApiList [post]
 func GetApiList(c *gin.Context) {
@@ -80,7 +80,7 @@ func GetApiList(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.GetById true "根据id获取api"
+// @Param data body request.GetById true "根据id获取api"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /api/getApiById [post]
 func GetApiById(c *gin.Context) {

+ 42 - 4
server/api/v1/sys_authority.go

@@ -21,11 +21,30 @@ import (
 func CreateAuthority(c *gin.Context) {
 	var auth model.SysAuthority
 	_ = c.ShouldBindJSON(&auth)
-	err, authBack := service.CreateAuthority(&auth)
+	err, authBack := service.CreateAuthority(auth)
 	if err != nil {
 		response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
 	} else {
-		response.OkWithData(resp.SysAuthorityResponse{Authority: *authBack}, c)
+		response.OkWithData(resp.SysAuthorityResponse{Authority: authBack}, c)
+	}
+}
+
+// @Tags authority
+// @Summary 拷贝角色
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body response.SysAuthorityCopyResponse true "拷贝角色"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"拷贝成功"}"
+// @Router /authority/copyAuthority [post]
+func CopyAuthority(c *gin.Context) {
+	var copyInfo resp.SysAuthorityCopyResponse
+	_ = c.ShouldBindJSON(&copyInfo)
+	err, authBack := service.CopyAuthority(copyInfo)
+	if err != nil {
+		response.FailWithMessage(fmt.Sprintf("拷贝失败,%v", err), c)
+	} else {
+		response.OkWithData(resp.SysAuthorityResponse{Authority: authBack}, c)
 	}
 }
 
@@ -41,7 +60,7 @@ func DeleteAuthority(c *gin.Context) {
 	var a model.SysAuthority
 	_ = c.ShouldBindJSON(&a)
 	//删除角色之前需要判断是否有用户正在使用此角色
-	err := service.DeleteAuthority(a)
+	err := service.DeleteAuthority(&a)
 	if err != nil {
 		response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
 	} else {
@@ -49,12 +68,31 @@ func DeleteAuthority(c *gin.Context) {
 	}
 }
 
+// @Tags authority
+// @Summary 设置角色资源权限
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysAuthority true "设置角色资源权限"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"设置成功"}"
+// @Router /authority/updateAuthority [post]
+func UpdateAuthority(c *gin.Context) {
+	var auth model.SysAuthority
+	_ = c.ShouldBindJSON(&auth)
+	err, authority := service.UpdateAuthority(auth)
+	if err != nil {
+		response.FailWithMessage(fmt.Sprintf("更新失败,%v", err), c)
+	} else {
+		response.OkWithData(resp.SysAuthorityResponse{authority}, c)
+	}
+}
+
 // @Tags authority
 // @Summary 分页获取角色列表
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.PageInfo true "分页获取用户列表"
+// @Param data body request.PageInfo true "分页获取用户列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /authority/getAuthorityList [post]
 func GetAuthorityList(c *gin.Context) {

+ 3 - 3
server/api/v1/sys_casbin.go

@@ -14,7 +14,7 @@ import (
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.CasbinInReceive true "更改角色api权限"
+// @Param data body request.CasbinInReceive true "更改角色api权限"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /casbin/UpdateCasbin [post]
 func UpdateCasbin(c *gin.Context) {
@@ -33,7 +33,7 @@ func UpdateCasbin(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.CasbinInReceive true "获取权限列表"
+// @Param data body request.CasbinInReceive true "获取权限列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /casbin/getPolicyPathByAuthorityId [post]
 func GetPolicyPathByAuthorityId(c *gin.Context) {
@@ -48,7 +48,7 @@ func GetPolicyPathByAuthorityId(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.CasbinInReceive true "获取权限列表"
+// @Param data body request.CasbinInReceive true "获取权限列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /casbin/CasbinTest [get]
 func CasbinTest(c *gin.Context) {

+ 1 - 1
server/api/v1/sys_jwt_blacklist.go

@@ -20,7 +20,7 @@ func JsonInBlacklist(c *gin.Context) {
 	modelJwt := model.JwtBlacklist{
 		Jwt: token,
 	}
-	err := service.JsonInBlacklist(&modelJwt)
+	err := service.JsonInBlacklist(modelJwt)
 	if err != nil {
 		response.FailWithMessage(fmt.Sprintf("jwt作废失败,%v", err), c)
 	} else {

+ 7 - 8
server/api/v1/sys_menu.go

@@ -14,7 +14,7 @@ import (
 // @Summary 获取用户动态路由
 // @Security ApiKeyAuth
 // @Produce  application/json
-// @Param data body api.RegisterAndLoginStruct true "可以什么都不填"
+// @Param data body request.RegisterAndLoginStruct true "可以什么都不填"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
 // @Router /menu/getMenu [post]
 func GetMenu(c *gin.Context) {
@@ -33,7 +33,7 @@ func GetMenu(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.PageInfo true "分页获取基础menu列表"
+// @Param data body request.PageInfo true "分页获取基础menu列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /menu/getMenuList [post]
 func GetMenuList(c *gin.Context) {
@@ -75,7 +75,7 @@ func AddBaseMenu(c *gin.Context) {
 // @Summary 获取用户动态路由
 // @Security ApiKeyAuth
 // @Produce  application/json
-// @Param data body api.RegisterAndLoginStruct true "可以什么都不填"
+// @Param data body request.RegisterAndLoginStruct true "可以什么都不填"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
 // @Router /menu/getBaseMenuTree [post]
 func GetBaseMenuTree(c *gin.Context) {
@@ -84,7 +84,6 @@ func GetBaseMenuTree(c *gin.Context) {
 		response.FailWithMessage(fmt.Sprintf("获取失败,%v", err), c)
 	} else {
 		response.OkWithData(resp.SysBaseMenusResponse{Menus: menus}, c)
-
 	}
 }
 
@@ -93,7 +92,7 @@ func GetBaseMenuTree(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.AddMenuAuthorityInfo true "增加menu和角色关联关系"
+// @Param data body request.AddMenuAuthorityInfo true "增加menu和角色关联关系"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /menu/addMenuAuthority [post]
 func AddMenuAuthority(c *gin.Context) {
@@ -113,7 +112,7 @@ func AddMenuAuthority(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.AuthorityIdInfo true "增加menu和角色关联关系"
+// @Param data body request.AuthorityIdInfo true "增加menu和角色关联关系"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /menu/GetMenuAuthority [post]
 func GetMenuAuthority(c *gin.Context) {
@@ -132,7 +131,7 @@ func GetMenuAuthority(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.GetById true "删除菜单"
+// @Param data body request.GetById true "删除菜单"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /menu/deleteBaseMenu [post]
 func DeleteBaseMenu(c *gin.Context) {
@@ -171,7 +170,7 @@ func UpdateBaseMenu(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.GetById true "根据id获取菜单"
+// @Param data body request.GetById true "根据id获取菜单"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /menu/getBaseMenuById [post]
 func GetBaseMenuById(c *gin.Context) {

+ 27 - 8
server/api/v1/sys_user.go

@@ -33,18 +33,18 @@ func Register(c *gin.Context) {
 	var R request.RegisterStruct
 	_ = c.ShouldBindJSON(&R)
 	user := &model.SysUser{Username: R.Username, NickName: R.NickName, Password: R.Password, HeaderImg: R.HeaderImg, AuthorityId: R.AuthorityId}
-	err, user := service.Register(user)
+	err, userReturn := service.Register(*user)
 	if err != nil {
-		response.FailWithDetailed(response.ERROR, resp.SysUserResponse{User: *user}, fmt.Sprintf("%v", err), c)
+		response.FailWithDetailed(response.ERROR, resp.SysUserResponse{User: userReturn}, fmt.Sprintf("%v", err), c)
 	} else {
-		response.OkDetailed(resp.SysUserResponse{User: *user}, "注册成功", c)
+		response.OkDetailed(resp.SysUserResponse{User: userReturn}, "注册成功", c)
 	}
 }
 
 // @Tags Base
 // @Summary 用户登录
 // @Produce  application/json
-// @Param data body model.RegisterAndLoginStruct true "用户登录接口"
+// @Param data body request.RegisterAndLoginStruct true "用户登录接口"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"登陆成功"}"
 // @Router /base/login [post]
 func Login(c *gin.Context) {
@@ -103,7 +103,7 @@ func tokenNext(c *gin.Context, user model.SysUser) {
 			} else {
 				var blackJWT model.JwtBlacklist
 				blackJWT.Jwt = jwtStr
-				err3 := service.JsonInBlacklist(&blackJWT)
+				err3 := service.JsonInBlacklist(blackJWT)
 				if err3 != nil {
 					response.FailWithMessage("jwt作废失败", c)
 				} else {
@@ -133,7 +133,7 @@ func tokenNext(c *gin.Context, user model.SysUser) {
 // @Summary 用户修改密码
 // @Security ApiKeyAuth
 // @Produce  application/json
-// @Param data body model.ChangePasswordStutrc true "用户修改密码"
+// @Param data body request.ChangePasswordStruct true "用户修改密码"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
 // @Router /user/changePassword [put]
 func ChangePassword(c *gin.Context) {
@@ -192,7 +192,7 @@ func UploadHeaderImg(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.PageInfo true "分页获取用户列表"
+// @Param data body request.PageInfo true "分页获取用户列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /user/getUserList [post]
 func GetUserList(c *gin.Context) {
@@ -216,7 +216,7 @@ func GetUserList(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.SetUserAuth true "设置用户权限"
+// @Param data body request.SetUserAuth true "设置用户权限"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
 // @Router /user/setUserAuthority [post]
 func SetUserAuthority(c *gin.Context) {
@@ -229,3 +229,22 @@ func SetUserAuthority(c *gin.Context) {
 		response.OkWithMessage("修改成功", c)
 	}
 }
+
+// @Tags SysUser
+// @Summary 删除用户
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.SetUserAuth true "删除用户"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/deleteUser [delete]
+func DeleteUser(c *gin.Context) {
+	var reqId request.GetById
+	_ = c.ShouldBindJSON(&reqId)
+	err := service.DeleteUser(reqId.Id)
+	if err != nil {
+		response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
+	} else {
+		response.OkWithMessage("删除成功", c)
+	}
+}

+ 1 - 1
server/api/v1/sys_work_flow.go

@@ -11,7 +11,7 @@ import (
 // @Tags workflow
 // @Summary 注册工作流
 // @Produce  application/json
-// @Param data body sysModel.SysWorkflow true "注册工作流接口"
+// @Param data body model.SysWorkflow true "注册工作流接口"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"注册成功"}"
 // @Router /workflow/createWorkFlow [post]
 func CreateWorkFlow(c *gin.Context) {

+ 8 - 3
server/config.yaml

@@ -18,7 +18,11 @@ mysql:
     max-idle-conns: 10
     max-open-conns: 10
     log-mode: true
-
+#sqlite 配置
+sqlite:
+    path: db.db
+    log-mode: true
+    config: 'loc=Asia/Shanghai'
 # oss configuration
 qiniu:
     access-key: '25j8dYBZ2wuiy0yhwShytjZDTX662b8xiFguwxzZ'
@@ -33,12 +37,13 @@ redis:
 # system configuration
 system:
     use-multipoint: false
-    env: 'develop'
+    env: 'public'  # Change to "develop" to skip authentication for development mode
     addr: 8888
+    db-type: "mysql"  # support mysql/sqlite
 
 # captcha configuration
 captcha:
-    key-long: 6
+    key-long: 4
     img-width: 120
     img-height: 40
 

+ 43 - 33
server/config/config.go

@@ -1,60 +1,70 @@
 package config
 
 type Server struct {
-	Mysql   Mysql   `mapstructure:"mysql" json:"mysql"`
-	Qiniu   Qiniu   `mapstructure:"qiniu" json:"qiniu"`
-	Casbin  Casbin  `mapstructure:"casbin" json:"casbin"`
-	Redis   Redis   `mapstructure:"redis" json:"redis"`
-	System  System  `mapstructure:"system" json:"system"`
-	JWT     JWT     `mapstructure:"jwt" json:"jwt"`
-	Captcha Captcha `mapstructure:"captcha" json:"captcha"`
-	Log     Log     `mapstructure:"log" json:"log"`
+	Mysql   Mysql   `mapstructure:"mysql" json:"mysql" yaml:"mysql"`
+	Sqlite  Sqlite  `mapstructure:"sqlite" json:"sqlite" yaml:"sqlite"`
+	Qiniu   Qiniu   `mapstructure:"qiniu" json:"qiniu" yaml:"qiniu"`
+	Casbin  Casbin  `mapstructure:"casbin" json:"casbin" yaml:"casbin"`
+	Redis   Redis   `mapstructure:"redis" json:"redis" yaml:"redis"`
+	System  System  `mapstructure:"system" json:"system" yaml:"system"`
+	JWT     JWT     `mapstructure:"jwt" json:"jwt" yaml:"jwt"`
+	Captcha Captcha `mapstructure:"captcha" json:"captcha" yaml:"captcha"`
+	Log     Log     `mapstructure:"log" json:"log" yaml:"log"`
 }
 
 type System struct {
-	UseMultipoint bool   `mapstructure:"use-multipoint" json:"useMultipoint"`
-	Env           string `mapstructure:"env" json:"env"`
-	Addr          int    `mapstructure:"addr" json:"addr"`
+	UseMultipoint bool   `mapstructure:"use-multipoint" json:"useMultipoint" yaml:"use-multipoint"`
+	Env           string `mapstructure:"env" json:"env" yaml:"env"`
+	Addr          int    `mapstructure:"addr" json:"addr" yaml:"addr"`
+	DbType        string `mapstructure:"db-type" json:"dbType" yaml:"db-type"`
 }
 
 type JWT struct {
-	SigningKey string `mapstructure:"signing-key" json:"signingKey"`
+	SigningKey string `mapstructure:"signing-key" json:"signingKey" yaml:"signing-key"`
 }
 
 type Casbin struct {
-	ModelPath string `mapstructure:"model-path" json:"modelPath"`
+	ModelPath string `mapstructure:"model-path" json:"modelPath" yaml:"model-path"`
 }
 
 type Mysql struct {
-	Username     string `mapstructure:"username" json:"username"`
-	Password     string `mapstructure:"password" json:"password"`
-	Path         string `mapstructure:"path" json:"path"`
-	Dbname       string `mapstructure:"db-name" json:"dbname"`
-	Config       string `mapstructure:"config" json:"config"`
-	MaxIdleConns int    `mapstructure:"max-idle-conns" json:"maxIdleConns"`
-	MaxOpenConns int    `mapstructure:"max-open-conns" json:"maxOpenConns"`
-	LogMode      bool   `mapstructure:"log-mode" json:"logMode"`
+	Username     string `mapstructure:"username" json:"username" yaml:"username"`
+	Password     string `mapstructure:"password" json:"password" yaml:"password"`
+	Path         string `mapstructure:"path" json:"path" yaml:"path"`
+	Dbname       string `mapstructure:"db-name" json:"dbname" yaml:"db-name"`
+	Config       string `mapstructure:"config" json:"config" yaml:"config"`
+	MaxIdleConns int    `mapstructure:"max-idle-conns" json:"maxIdleConns" yaml:"max-idle-conns"`
+	MaxOpenConns int    `mapstructure:"max-open-conns" json:"maxOpenConns" yaml:"max-open-conns"`
+	LogMode      bool   `mapstructure:"log-mode" json:"logMode" yaml:"log-mode"`
 }
 
 type Redis struct {
-	Addr     string `mapstructure:"addr" json:"addr"`
-	Password string `mapstructure:"password" json:"password"`
-	DB       int    `mapstructure:"db" json:"db"`
+	Addr     string `mapstructure:"addr" json:"addr" yaml:"addr"`
+	Password string `mapstructure:"password" json:"password" yaml:"password"`
+	DB       int    `mapstructure:"db" json:"db" yaml:"db"`
 }
 type Qiniu struct {
-	AccessKey string `mapstructure:"access-key" json:"accessKey"`
-	SecretKey string `mapstructure:"secret-key" json:"secretKey"`
+	AccessKey string `mapstructure:"access-key" json:"accessKey" yaml:"access-key"`
+	SecretKey string `mapstructure:"secret-key" json:"secretKey" yaml:"secret-key"`
 }
 
 type Captcha struct {
-	KeyLong   int `mapstructure:"key-long" json:"keyLong"`
-	ImgWidth  int `mapstructure:"img-width" json:"imgWidth"`
-	ImgHeight int `mapstructure:"img-height" json:"imgHeight"`
+	KeyLong   int `mapstructure:"key-long" json:"keyLong" yaml:"key-long"`
+	ImgWidth  int `mapstructure:"img-width" json:"imgWidth" yaml:"img-width"`
+	ImgHeight int `mapstructure:"img-height" json:"imgHeight" yaml:"img-height"`
 }
 
 type Log struct {
-	Prefix  string `mapstructure:"prefix" json:"prefix"`
-	LogFile bool   `mapstructure:"log-file" json:"logFile"`
-	Stdout  string `mapstructure:"stdout" json:"stdout"`
-	File    string `mapstructure:"file" json:"file"`
+	Prefix  string `mapstructure:"prefix" json:"prefix" yaml:"prefix"`
+	LogFile bool   `mapstructure:"log-file" json:"logFile" yaml:"log-file"`
+	Stdout  string `mapstructure:"stdout" json:"stdout" yaml:"stdout"`
+	File    string `mapstructure:"file" json:"file" yaml:"file"`
+}
+
+type Sqlite struct {
+	Username string `mapstructure:"username" json:"username" yaml:"username"`
+	Password string `mapstructure:"password" json:"password" yaml:"password"`
+	Path     string `mapstructure:"path" json:"path" yaml:"path"`
+	Config   string `mapstructure:"config" json:"config" yaml:"config"`
+	LogMode  bool   `mapstructure:"log-mode" json:"logMode" yaml:"log-mode"`
 }

BIN
server/db.db


+ 83 - 67
server/db/qmplus.sql

@@ -1,17 +1,17 @@
 /*
  Navicat Premium Data Transfer
 
- Source Server         : pandora
+ Source Server         : qmplus
  Source Server Type    : MySQL
- Source Server Version : 50640
+ Source Server Version : 50644
  Source Host           : localhost:3306
  Source Schema         : qmplus
 
  Target Server Type    : MySQL
- Target Server Version : 50640
+ Target Server Version : 50644
  File Encoding         : 65001
 
- Date: 07/04/2020 21:55:13
+ Date: 24/04/2020 10:28:38
 */
 
 SET NAMES utf8mb4;
@@ -63,16 +63,16 @@ INSERT INTO `casbin_rule` VALUES ('p', '8881', '/user/setUserAuthority', 'POST',
 INSERT INTO `casbin_rule` VALUES ('p', '8881', '/fileUploadAndDownload/upload', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '8881', '/fileUploadAndDownload/getFileList', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '8881', '/fileUploadAndDownload/deleteFile', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '8881', '/casbin/UpdateCasbin', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '8881', '/casbin/updateCasbin', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '8881', '/casbin/getPolicyPathByAuthorityId', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '8881', '/jwt/jsonInBlacklist', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '8881', '/system/getSystemConfig', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '8881', '/system/setSystemConfig', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/createExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/updateExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/deleteExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/getExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/getExaCustomerList', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/customer', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/customer', 'PUT', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/customer', 'DELETE', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/customer', 'GET', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '8881', '/customer/customerList', 'GET', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/base/login', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/base/register', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/api/createApi', 'POST', '', '', '');
@@ -102,16 +102,16 @@ INSERT INTO `casbin_rule` VALUES ('p', '9528', '/user/setUserAuthority', 'POST',
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/fileUploadAndDownload/upload', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/fileUploadAndDownload/getFileList', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/fileUploadAndDownload/deleteFile', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '9528', '/casbin/UpdateCasbin', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '9528', '/casbin/updateCasbin', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/casbin/getPolicyPathByAuthorityId', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/jwt/jsonInBlacklist', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/system/getSystemConfig', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/system/setSystemConfig', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/createExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/updateExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/deleteExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/getExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/getExaCustomerList', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/customer', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/customer', 'PUT', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/customer', 'DELETE', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/customer', 'GET', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '9528', '/customer/customerList', 'GET', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '9528', '/autoCode/createTemp', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/base/login', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/base/register', 'POST', '', '', '');
@@ -125,6 +125,8 @@ INSERT INTO `casbin_rule` VALUES ('p', '888', '/authority/createAuthority', 'POS
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/authority/deleteAuthority', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/authority/getAuthorityList', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/authority/setDataAuthority', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/authority/updateAuthority', 'PUT', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/authority/copyAuthority', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/menu/getMenu', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/menu/getMenuList', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/menu/addBaseMenu', 'POST', '', '', '');
@@ -142,17 +144,17 @@ INSERT INTO `casbin_rule` VALUES ('p', '888', '/user/setUserAuthority', 'POST',
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/fileUploadAndDownload/upload', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/fileUploadAndDownload/getFileList', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/fileUploadAndDownload/deleteFile', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/UpdateCasbin', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/updateCasbin', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/getPolicyPathByAuthorityId', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/casbin/casbinTest/:pathParam', 'GET', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/jwt/jsonInBlacklist', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/system/getSystemConfig', 'POST', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/system/setSystemConfig', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/createExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/updateExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/deleteExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/getExaCustomer', 'POST', '', '', '');
-INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/getExaCustomerList', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/customer', 'POST', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/customer', 'PUT', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/customer', 'DELETE', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/customer', 'GET', '', '', '');
+INSERT INTO `casbin_rule` VALUES ('p', '888', '/customer/customerList', 'GET', '', '', '');
 INSERT INTO `casbin_rule` VALUES ('p', '888', '/autoCode/createTemp', 'POST', '', '', '');
 
 -- ----------------------------
@@ -3789,12 +3791,15 @@ CREATE TABLE `exa_customers`  (
   `sys_user_authority_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_exa_customers_deleted_at`(`deleted_at`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
 
 -- ----------------------------
 -- Records of exa_customers
 -- ----------------------------
-INSERT INTO `exa_customers` VALUES (1, '2020-02-25 18:01:48', '2020-02-25 18:01:48', NULL, '测试客户123', '1761111111', 10, '888');
+INSERT INTO `exa_customers` VALUES (1, '2020-02-25 18:01:48', '2020-04-10 12:29:29', NULL, '测试客户', '1761111111', 10, '888');
+INSERT INTO `exa_customers` VALUES (2, '2020-04-10 12:25:53', '2020-04-10 12:25:53', '2020-04-10 13:43:56', 'test', '123123123', 10, '888');
+INSERT INTO `exa_customers` VALUES (3, '2020-04-10 13:44:12', '2020-04-10 13:44:12', '2020-04-10 13:44:13', '123123', '123123', 10, '888');
+INSERT INTO `exa_customers` VALUES (4, '2020-04-10 13:47:10', '2020-04-10 13:47:10', '2020-04-10 13:47:12', '22222222', '222222222222222', 10, '888');
 
 -- ----------------------------
 -- Table structure for exa_file_chunks
@@ -3810,7 +3815,7 @@ CREATE TABLE `exa_file_chunks`  (
   `file_chunk_number` int(11) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_exa_file_chunks_deleted_at`(`deleted_at`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
 
 -- ----------------------------
 -- Table structure for exa_file_upload_and_downloads
@@ -3830,15 +3835,6 @@ CREATE TABLE `exa_file_upload_and_downloads`  (
   INDEX `idx_exa_file_upload_and_downloads_deleted_at`(`deleted_at`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
 
--- ----------------------------
--- Records of exa_file_upload_and_downloads
--- ----------------------------
-INSERT INTO `exa_file_upload_and_downloads` VALUES (7, '2019-10-26 22:46:32', '2019-10-26 22:46:32', NULL, 'logo.png', 'http://qmplusimg.henrongyi.top/1572101191logo.png', 'png', '1572101191logo.png');
-INSERT INTO `exa_file_upload_and_downloads` VALUES (10, '2019-10-26 23:10:44', '2019-10-26 23:10:44', NULL, 'logo.png', 'http://qmplusimg.henrongyi.top/1572102643logo.png', 'png', '1572102643logo.png');
-INSERT INTO `exa_file_upload_and_downloads` VALUES (12, '2019-10-26 23:14:08', '2019-10-26 23:14:08', NULL, 'logo.png', 'http://qmplusimg.henrongyi.top/1572102846logo.png', 'png', '1572102846logo.png');
-INSERT INTO `exa_file_upload_and_downloads` VALUES (13, '2019-10-26 23:18:17', '2019-10-26 23:18:17', NULL, 'logo.png', 'http://qmplusimg.henrongyi.top/1572103096logo.png', 'png', '1572103096logo.png');
-INSERT INTO `exa_file_upload_and_downloads` VALUES (15, '2019-12-15 14:31:00', '2019-12-15 14:31:00', NULL, 'logo.png', 'http://qmplusimg.henrongyi.top/1576391451logo.png', 'png', '1576391451logo.png');
-
 -- ----------------------------
 -- Table structure for exa_files
 -- ----------------------------
@@ -3855,7 +3851,7 @@ CREATE TABLE `exa_files`  (
   `is_finish` tinyint(1) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_exa_files_deleted_at`(`deleted_at`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
 
 -- ----------------------------
 -- Table structure for jwt_blacklists
@@ -3869,7 +3865,7 @@ CREATE TABLE `jwt_blacklists`  (
   `jwt` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_jwt_blacklists_deleted_at`(`deleted_at`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
+) ENGINE = InnoDB AUTO_INCREMENT = 49 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
 
 -- ----------------------------
 -- Records of jwt_blacklists
@@ -3910,6 +3906,16 @@ INSERT INTO `jwt_blacklists` VALUES (35, '2020-01-06 16:59:26', '2020-01-06 16:5
 INSERT INTO `jwt_blacklists` VALUES (36, '2020-03-21 14:46:14', '2020-03-21 14:46:14', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg1Mzc3ODY3LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODQ3NzIwNjd9.DLhWhD1FdcWLyFLcXQynKJnenbVHrSiKhlDGFRzgo5k');
 INSERT INTO `jwt_blacklists` VALUES (37, '2020-03-31 14:24:35', '2020-03-31 14:24:35', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2MTM4MTA4LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODU1MzIzMDh9.Ro2F2dZLfOk2Z_OPRbweOuCpchr6HlHfQIF5qjfc8y4');
 INSERT INTO `jwt_blacklists` VALUES (38, '2020-04-01 16:07:57', '2020-04-01 16:07:57', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2MjQwNzQyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODU2MzQ5NDJ9.9qaOFu7D5cq4vxTfLi4pyO_JGcKjVAEJIcoStJWJlYg');
+INSERT INTO `jwt_blacklists` VALUES (39, '2020-04-15 16:30:41', '2020-04-15 16:30:41', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3MDk1Njg5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY0ODk4ODl9.-cNmRAyqhylZlzakwoFY08x7RnjI3CiWTiQc_Iabb-c');
+INSERT INTO `jwt_blacklists` VALUES (40, '2020-04-15 16:39:26', '2020-04-15 16:39:26', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NTQ0MjUwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY5Mzg0NTB9.smVP-Rl1EkAuUVqXW7z0mpxA5O86vXj0oH4FukG-NVA');
+INSERT INTO `jwt_blacklists` VALUES (41, '2020-04-15 17:08:06', '2020-04-15 17:08:06', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NTQ0NzgxLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY5Mzg5ODF9.OMZ08Y8aPuj40-NGEQ402LyRFBpkLWzzaqD3_tvj1h8');
+INSERT INTO `jwt_blacklists` VALUES (42, '2020-04-15 17:08:28', '2020-04-15 17:08:28', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NTQ2NDk0LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY5NDA2OTR9.9lsoTbZrwhZ8kMXiH-Ta3A4h_yp7SwLj57mo_u5mrk4');
+INSERT INTO `jwt_blacklists` VALUES (43, '2020-04-15 17:10:24', '2020-04-15 17:10:24', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NTQ2NTE1LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY5NDA3MTV9.5SrUrUmd4YhzlGmSpA9xJW_wbjV6yI6ty_NriIceOQo');
+INSERT INTO `jwt_blacklists` VALUES (44, '2020-04-15 17:11:43', '2020-04-15 17:11:43', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NTQ2NjI5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY5NDA4Mjl9.SFiomEpOshboOe0JGDa1HlJt5aQIF7IeyOsoDwl1o8E');
+INSERT INTO `jwt_blacklists` VALUES (45, '2020-04-15 17:12:54', '2020-04-15 17:12:54', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NTQ2NzE4LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY5NDA5MTh9.xrwEknZQN2J3poarMTQvb7mX1Icicz2_f60kw36g9og');
+INSERT INTO `jwt_blacklists` VALUES (46, '2020-04-15 17:14:47', '2020-04-15 17:14:47', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NTQ2Nzg5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODY5NDA5ODl9.3jbdl1N0KA8ExFMWXHi3ha4aESKq8yDKDgpSH4Xdsnk');
+INSERT INTO `jwt_blacklists` VALUES (47, '2020-04-22 12:04:20', '2020-04-22 12:04:20', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg3NjE2MTYwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODcwMTAzNjB9.jRHlnfXuJhp4hBE-QqCZ-lodzwK67IBkDI2xteB0OQw');
+INSERT INTO `jwt_blacklists` VALUES (48, '2020-04-22 12:12:17', '2020-04-22 12:12:17', NULL, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg4MTMzMjQyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODc1Mjc0NDJ9.WJ59uRUxXJ7-rUH07mE6jCfnwgfvQnpPaLU5vJ_VhWM');
 
 -- ----------------------------
 -- Table structure for sys_apis
@@ -3928,7 +3934,7 @@ CREATE TABLE `sys_apis`  (
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_apis_deleted_at`(`deleted_at`) USING BTREE,
   INDEX `idx_sys_apis_deleted_at`(`deleted_at`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
+) ENGINE = InnoDB AUTO_INCREMENT = 48 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
 
 -- ----------------------------
 -- Records of sys_apis
@@ -3960,20 +3966,22 @@ INSERT INTO `sys_apis` VALUES (28, '2019-10-09 15:15:17', '2019-10-09 15:17:07',
 INSERT INTO `sys_apis` VALUES (29, '2019-10-09 23:01:40', '2019-10-09 23:01:40', NULL, NULL, '/user/setUserAuthority', '修改用户角色', 'user', 'POST');
 INSERT INTO `sys_apis` VALUES (30, '2019-10-26 20:14:38', '2019-10-26 20:14:38', NULL, NULL, '/fileUploadAndDownload/upload', '文件上传示例', 'fileUploadAndDownload', 'POST');
 INSERT INTO `sys_apis` VALUES (31, '2019-10-26 20:14:59', '2019-10-26 20:14:59', NULL, NULL, '/fileUploadAndDownload/getFileList', '获取上传文件列表', 'fileUploadAndDownload', 'POST');
-INSERT INTO `sys_apis` VALUES (32, '2019-12-12 13:28:47', '2019-12-12 13:28:47', NULL, NULL, '/casbin/UpdateCasbin', '更改角色api权限', 'casbin', 'POST');
+INSERT INTO `sys_apis` VALUES (32, '2019-12-12 13:28:47', '2019-12-12 13:28:47', NULL, NULL, '/casbin/updateCasbin', '更改角色api权限', 'casbin', 'POST');
 INSERT INTO `sys_apis` VALUES (33, '2019-12-12 13:28:59', '2019-12-12 13:28:59', NULL, NULL, '/casbin/getPolicyPathByAuthorityId', '获取权限列表', 'casbin', 'POST');
 INSERT INTO `sys_apis` VALUES (34, '2019-12-12 17:02:15', '2019-12-12 17:02:15', NULL, NULL, '/fileUploadAndDownload/deleteFile', '删除文件', 'fileUploadAndDownload', 'POST');
 INSERT INTO `sys_apis` VALUES (35, '2019-12-28 18:18:07', '2019-12-28 18:18:07', NULL, NULL, '/jwt/jsonInBlacklist', 'jwt加入黑名单', 'jwt', 'POST');
 INSERT INTO `sys_apis` VALUES (36, '2020-01-06 17:56:36', '2020-01-06 17:56:36', NULL, NULL, '/authority/setDataAuthority', '设置角色资源权限', 'authority', 'POST');
 INSERT INTO `sys_apis` VALUES (37, '2020-01-13 14:04:05', '2020-01-13 14:04:05', NULL, NULL, '/system/getSystemConfig', '获取配置文件内容', 'system', 'POST');
 INSERT INTO `sys_apis` VALUES (38, '2020-01-13 15:02:06', '2020-01-13 15:02:06', NULL, NULL, '/system/setSystemConfig', '设置配置文件内容', 'system', 'POST');
-INSERT INTO `sys_apis` VALUES (39, '2020-02-25 15:32:39', '2020-02-25 15:32:39', NULL, NULL, '/customer/createExaCustomer', '创建客户', 'customer', 'POST');
-INSERT INTO `sys_apis` VALUES (40, '2020-02-25 15:32:51', '2020-02-25 15:34:56', NULL, NULL, '/customer/updateExaCustomer', '更新客户', 'customer', 'POST');
-INSERT INTO `sys_apis` VALUES (41, '2020-02-25 15:33:57', '2020-02-25 15:33:57', NULL, NULL, '/customer/deleteExaCustomer', '删除客户', 'customer', 'POST');
-INSERT INTO `sys_apis` VALUES (42, '2020-02-25 15:36:48', '2020-02-25 15:37:16', NULL, NULL, '/customer/getExaCustomer', '获取单一客户', 'customer', 'POST');
-INSERT INTO `sys_apis` VALUES (43, '2020-02-25 15:37:06', '2020-02-25 15:37:06', NULL, NULL, '/customer/getExaCustomerList', '获取客户列表', 'customer', 'POST');
+INSERT INTO `sys_apis` VALUES (39, '2020-02-25 15:32:39', '2020-02-25 15:32:39', NULL, NULL, '/customer/customer', '创建客户', 'customer', 'POST');
+INSERT INTO `sys_apis` VALUES (40, '2020-02-25 15:32:51', '2020-02-25 15:34:56', NULL, NULL, '/customer/customer', '更新客户', 'customer', 'PUT');
+INSERT INTO `sys_apis` VALUES (41, '2020-02-25 15:33:57', '2020-02-25 15:33:57', NULL, NULL, '/customer/customer', '删除客户', 'customer', 'DELETE');
+INSERT INTO `sys_apis` VALUES (42, '2020-02-25 15:36:48', '2020-02-25 15:37:16', NULL, NULL, '/customer/customer', '获取单一客户', 'customer', 'GET');
+INSERT INTO `sys_apis` VALUES (43, '2020-02-25 15:37:06', '2020-02-25 15:37:06', NULL, NULL, '/customer/customerList', '获取客户列表', 'customer', 'GET');
 INSERT INTO `sys_apis` VALUES (44, '2020-03-12 14:36:54', '2020-03-12 14:56:50', NULL, NULL, '/casbin/casbinTest/:pathParam', 'RESTFUL模式测试', 'casbin', 'GET');
 INSERT INTO `sys_apis` VALUES (45, '2020-03-29 23:01:28', '2020-03-29 23:01:28', NULL, NULL, '/autoCode/createTemp', '自动化代码', 'autoCode', 'POST');
+INSERT INTO `sys_apis` VALUES (46, '2020-04-15 12:46:58', '2020-04-15 12:46:58', NULL, NULL, '/authority/updateAuthority', '更新角色信息', 'authority', 'PUT');
+INSERT INTO `sys_apis` VALUES (47, '2020-04-20 15:14:25', '2020-04-20 15:14:25', NULL, NULL, '/authority/copyAuthority', '拷贝角色', 'authority', 'POST');
 
 -- ----------------------------
 -- Table structure for sys_authorities
@@ -3994,9 +4002,9 @@ CREATE TABLE `sys_authorities`  (
 -- ----------------------------
 -- Records of sys_authorities
 -- ----------------------------
-INSERT INTO `sys_authorities` VALUES ('888', '普通用户', '0', '2020-04-04 11:44:56', NULL, NULL);
-INSERT INTO `sys_authorities` VALUES ('8881', '普通用户子角色', '888', '2020-04-04 11:44:56', NULL, NULL);
-INSERT INTO `sys_authorities` VALUES ('9528', '测试角色', '0', '2020-04-04 11:44:56', NULL, NULL);
+INSERT INTO `sys_authorities` VALUES ('888', '普通用户', '0', '2020-04-04 11:44:56', '2020-04-24 10:16:42', NULL);
+INSERT INTO `sys_authorities` VALUES ('8881', '普通用户子角色', '888', '2020-04-04 11:44:56', '2020-04-24 10:16:42', NULL);
+INSERT INTO `sys_authorities` VALUES ('9528', '测试角色', '0', '2020-04-04 11:44:56', '2020-04-24 10:16:42', NULL);
 
 -- ----------------------------
 -- Table structure for sys_authority_menus
@@ -4079,6 +4087,8 @@ CREATE TABLE `sys_base_menus`  (
   `icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   `nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
   `sort` int(255) NULL DEFAULT NULL,
+  `keep_alive` tinyint(1) NULL DEFAULT NULL,
+  `default_menu` tinyint(1) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_base_menus_deleted_at`(`deleted_at`) USING BTREE,
   INDEX `idx_sys_base_menus_deleted_at`(`deleted_at`) USING BTREE
@@ -4087,26 +4097,26 @@ CREATE TABLE `sys_base_menus`  (
 -- ----------------------------
 -- Records of sys_base_menus
 -- ----------------------------
-INSERT INTO `sys_base_menus` VALUES (1, '2019-09-19 22:05:18', '2020-04-07 21:48:04', NULL, 0, 0, 'dashboard', 'dashboard', 0, 'view/dashboard/index.vue', '仪表盘', 'setting', '仪表盘', 1);
-INSERT INTO `sys_base_menus` VALUES (2, '2019-09-19 22:06:17', '2020-03-27 20:33:58', NULL, 0, 0, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', '测试菜单', 2);
-INSERT INTO `sys_base_menus` VALUES (3, '2019-09-19 22:06:38', '2019-12-12 16:51:31', NULL, 0, 0, 'admin', 'superAdmin', 0, 'view/superAdmin/index.vue', '超级管理员', 'user-solid', '超级管理员', 3);
-INSERT INTO `sys_base_menus` VALUES (4, '2019-09-19 22:11:53', '2019-09-19 22:11:53', NULL, 0, 3, 'authority', 'authority', 0, 'view/superAdmin/authority/authority.vue', '角色管理', 's-custom', '角色管理', 1);
-INSERT INTO `sys_base_menus` VALUES (5, '2019-09-19 22:13:18', '2019-12-12 16:57:20', NULL, 0, 3, 'menu', 'menu', 0, 'view/superAdmin/menu/menu.vue', '菜单管理', 's-order', '菜单管理', 2);
-INSERT INTO `sys_base_menus` VALUES (6, '2019-09-19 22:13:36', '2019-12-12 16:57:30', NULL, 0, 3, 'api', 'api', 0, 'view/superAdmin/api/api.vue', 'api管理', 's-platform', 'api管理', 3);
-INSERT INTO `sys_base_menus` VALUES (17, '2019-10-09 15:12:29', '2019-12-12 16:57:25', NULL, 0, 3, 'user', 'user', 0, 'view/superAdmin/user/user.vue', '用户管理', 'coordinate', '用户管理', 4);
-INSERT INTO `sys_base_menus` VALUES (18, '2019-10-15 22:27:22', '2019-12-12 16:51:33', NULL, 0, 0, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', '个人信息', 4);
-INSERT INTO `sys_base_menus` VALUES (19, '2019-10-20 11:14:42', '2020-03-29 21:39:18', NULL, 0, 0, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', '示例文件', 6);
-INSERT INTO `sys_base_menus` VALUES (20, '2019-10-20 11:18:11', '2019-10-20 11:18:11', NULL, 0, 19, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', '表格示例', 1);
-INSERT INTO `sys_base_menus` VALUES (21, '2019-10-20 11:19:52', '2019-12-12 16:58:15', NULL, 0, 19, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', '表单示例', 2);
-INSERT INTO `sys_base_menus` VALUES (22, '2019-10-20 11:22:19', '2019-12-12 16:58:20', NULL, 0, 19, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', '富文本编辑器', 3);
-INSERT INTO `sys_base_menus` VALUES (23, '2019-10-20 11:23:39', '2019-12-12 16:58:23', NULL, 0, 19, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 'excel导入导出', 4);
-INSERT INTO `sys_base_menus` VALUES (26, '2019-10-20 11:27:02', '2019-12-12 16:58:27', NULL, 0, 19, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', '上传下载', 5);
-INSERT INTO `sys_base_menus` VALUES (33, '2020-02-17 16:20:47', '2020-02-24 19:45:40', NULL, 0, 19, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', '断点续传', 6);
-INSERT INTO `sys_base_menus` VALUES (34, '2020-02-24 19:48:37', '2020-03-27 20:10:02', NULL, 0, 19, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', '客户列表(资源示例)', 7);
-INSERT INTO `sys_base_menus` VALUES (38, '2020-03-29 21:31:03', '2020-03-29 21:31:03', NULL, 0, 0, 'systemTools', 'systemTools', 0, 'view/systemTools/index.vue', '系统工具', 's-cooperation', '系统工具', 5);
-INSERT INTO `sys_base_menus` VALUES (40, '2020-03-29 21:35:10', '2020-03-29 21:35:10', NULL, 0, 38, 'autoCode', 'autoCode', 0, 'view/systemTools/autoCode/index.vue', '代码生成器', 'cpu', '代码生成器', 1);
-INSERT INTO `sys_base_menus` VALUES (41, '2020-03-29 21:36:26', '2020-03-29 21:36:26', NULL, 0, 38, 'formCreate', 'formCreate', 0, 'view/systemTools/formCreate/index.vue', '表单生成器', 'magic-stick', '表单生成器', 2);
-INSERT INTO `sys_base_menus` VALUES (42, '2020-04-02 14:19:36', '2020-04-02 14:20:16', NULL, 0, 38, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-operation', '系统配置', 3);
+INSERT INTO `sys_base_menus` VALUES (1, '2019-09-19 22:05:18', '2020-04-24 10:16:42', NULL, 0, 0, 'dashboard', 'dashboard', 0, 'view/dashboard/index.vue', '仪表盘', 'setting', '仪表盘', 1, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (2, '2019-09-19 22:06:17', '2020-04-24 10:16:43', NULL, 0, 0, 'test', 'test', 0, 'view/test/index.vue', '测试菜单', 'info', '测试菜单', 2, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (3, '2019-09-19 22:06:38', '2020-04-24 10:16:43', NULL, 0, 0, 'admin', 'superAdmin', 0, 'view/superAdmin/index.vue', '超级管理员', 'user-solid', '超级管理员', 3, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (4, '2019-09-19 22:11:53', '2020-04-24 10:16:42', NULL, 0, 3, 'authority', 'authority', 0, 'view/superAdmin/authority/authority.vue', '角色管理', 's-custom', '角色管理', 1, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (5, '2019-09-19 22:13:18', '2020-04-24 10:16:43', NULL, 0, 3, 'menu', 'menu', 0, 'view/superAdmin/menu/menu.vue', '菜单管理', 's-order', '菜单管理', 2, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (6, '2019-09-19 22:13:36', '2020-04-24 10:16:43', NULL, 0, 3, 'api', 'api', 0, 'view/superAdmin/api/api.vue', 'api管理', 's-platform', 'api管理', 3, 1, 0);
+INSERT INTO `sys_base_menus` VALUES (17, '2019-10-09 15:12:29', '2020-04-24 10:16:43', NULL, 0, 3, 'user', 'user', 0, 'view/superAdmin/user/user.vue', '用户管理', 'coordinate', '用户管理', 4, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (18, '2019-10-15 22:27:22', '2020-04-24 10:16:43', NULL, 0, 0, 'person', 'person', 1, 'view/person/person.vue', '个人信息', 'user-solid', '个人信息', 4, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (19, '2019-10-20 11:14:42', '2020-04-24 10:16:43', NULL, 0, 0, 'example', 'example', 0, 'view/example/index.vue', '示例文件', 's-management', '示例文件', 6, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (20, '2019-10-20 11:18:11', '2020-04-24 10:16:42', NULL, 0, 19, 'table', 'table', 0, 'view/example/table/table.vue', '表格示例', 's-order', '表格示例', 1, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (21, '2019-10-20 11:19:52', '2020-04-24 10:16:43', NULL, 0, 19, 'form', 'form', 0, 'view/example/form/form.vue', '表单示例', 'document', '表单示例', 2, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (22, '2019-10-20 11:22:19', '2020-04-24 10:16:43', NULL, 0, 19, 'rte', 'rte', 0, 'view/example/rte/rte.vue', '富文本编辑器', 'reading', '富文本编辑器', 3, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (23, '2019-10-20 11:23:39', '2020-04-24 10:16:43', NULL, 0, 19, 'excel', 'excel', 0, 'view/example/excel/excel.vue', 'excel导入导出', 's-marketing', 'excel导入导出', 4, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (26, '2019-10-20 11:27:02', '2020-04-24 10:16:43', NULL, 0, 19, 'upload', 'upload', 0, 'view/example/upload/upload.vue', '上传下载', 'upload', '上传下载', 5, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (33, '2020-02-17 16:20:47', '2020-04-24 10:16:43', NULL, 0, 19, 'breakpoint', 'breakpoint', 0, 'view/example/breakpoint/breakpoint.vue', '断点续传', 'upload', '断点续传', 6, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (34, '2020-02-24 19:48:37', '2020-04-24 10:16:43', NULL, 0, 19, 'customer', 'customer', 0, 'view/example/customer/customer.vue', '客户列表(资源示例)', 's-custom', '客户列表(资源示例)', 7, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (38, '2020-03-29 21:31:03', '2020-04-24 10:16:43', NULL, 0, 0, 'systemTools', 'systemTools', 0, 'view/systemTools/index.vue', '系统工具', 's-cooperation', '系统工具', 5, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (40, '2020-03-29 21:35:10', '2020-04-24 10:16:43', NULL, 0, 38, 'autoCode', 'autoCode', 0, 'view/systemTools/autoCode/index.vue', '代码生成器', 'cpu', '代码生成器', 1, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (41, '2020-03-29 21:36:26', '2020-04-24 10:16:43', NULL, 0, 38, 'formCreate', 'formCreate', 0, 'view/systemTools/formCreate/index.vue', '表单生成器', 'magic-stick', '表单生成器', 2, 0, 0);
+INSERT INTO `sys_base_menus` VALUES (42, '2020-04-02 14:19:36', '2020-04-24 10:16:43', NULL, 0, 38, 'system', 'system', 0, 'view/systemTools/system/system.vue', '系统配置', 's-operation', '系统配置', 3, 0, 0);
 
 -- ----------------------------
 -- Table structure for sys_data_authority_id
@@ -4126,6 +4136,12 @@ CREATE TABLE `sys_data_authority_id`  (
 INSERT INTO `sys_data_authority_id` VALUES ('888', '888');
 INSERT INTO `sys_data_authority_id` VALUES ('888', '8881');
 INSERT INTO `sys_data_authority_id` VALUES ('888', '9528');
+INSERT INTO `sys_data_authority_id` VALUES ('888222', '888');
+INSERT INTO `sys_data_authority_id` VALUES ('888222', '8881');
+INSERT INTO `sys_data_authority_id` VALUES ('888222', '9528');
+INSERT INTO `sys_data_authority_id` VALUES ('8883', '888');
+INSERT INTO `sys_data_authority_id` VALUES ('8883', '8881');
+INSERT INTO `sys_data_authority_id` VALUES ('8883', '9528');
 INSERT INTO `sys_data_authority_id` VALUES ('9528', '8881');
 INSERT INTO `sys_data_authority_id` VALUES ('9528', '9528');
 
@@ -4207,6 +4223,6 @@ INSERT INTO `sys_workflows` VALUES (8, '2019-12-09 15:20:21', '2019-12-09 15:20:
 -- View structure for authority_menu
 -- ----------------------------
 DROP VIEW IF EXISTS `authority_menu`;
-CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `authority_menu` AS select `sys_base_menus`.`id` AS `id`,`sys_base_menus`.`created_at` AS `created_at`,`sys_base_menus`.`updated_at` AS `updated_at`,`sys_base_menus`.`deleted_at` AS `deleted_at`,`sys_base_menus`.`menu_level` AS `menu_level`,`sys_base_menus`.`parent_id` AS `parent_id`,`sys_base_menus`.`path` AS `path`,`sys_base_menus`.`name` AS `name`,`sys_base_menus`.`hidden` AS `hidden`,`sys_base_menus`.`component` AS `component`,`sys_base_menus`.`title` AS `title`,`sys_base_menus`.`icon` AS `icon`,`sys_base_menus`.`nick_name` AS `nick_name`,`sys_base_menus`.`sort` AS `sort`,`sys_authority_menus`.`sys_authority_authority_id` AS `authority_id`,`sys_authority_menus`.`sys_base_menu_id` AS `menu_id` from (`sys_authority_menus` join `sys_base_menus` on((`sys_authority_menus`.`sys_base_menu_id` = `sys_base_menus`.`id`)));
+CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY DEFINER VIEW `authority_menu` AS select `sys_base_menus`.`id` AS `id`,`sys_base_menus`.`created_at` AS `created_at`,`sys_base_menus`.`updated_at` AS `updated_at`,`sys_base_menus`.`deleted_at` AS `deleted_at`,`sys_base_menus`.`menu_level` AS `menu_level`,`sys_base_menus`.`parent_id` AS `parent_id`,`sys_base_menus`.`path` AS `path`,`sys_base_menus`.`name` AS `name`,`sys_base_menus`.`hidden` AS `hidden`,`sys_base_menus`.`component` AS `component`,`sys_base_menus`.`title` AS `title`,`sys_base_menus`.`icon` AS `icon`,`sys_base_menus`.`nick_name` AS `nick_name`,`sys_base_menus`.`sort` AS `sort`,`sys_authority_menus`.`sys_authority_authority_id` AS `authority_id`,`sys_authority_menus`.`sys_base_menu_id` AS `menu_id`,`sys_base_menus`.`keep_alive` AS `keep_alive`,`sys_base_menus`.`default_menu` AS `default_menu` from (`sys_authority_menus` join `sys_base_menus` on((`sys_authority_menus`.`sys_base_menu_id` = `sys_base_menus`.`id`)));
 
 SET FOREIGN_KEY_CHECKS = 1;

+ 284 - 0
server/db/sqlite/casbin_rule.sql

@@ -0,0 +1,284 @@
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/base/login','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/base/register','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/api/createApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/api/getApiList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/api/getApiById','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/api/deleteApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/api/updateApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/api/getAllApis','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/authority/createAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/authority/deleteAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/authority/getAuthorityList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/authority/setDataAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/getMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/getMenuList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/addBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/getBaseMenuTree','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/addMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/getMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/deleteBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/updateBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/menu/getBaseMenuById','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/user/changePassword','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/user/uploadHeaderImg','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/user/getInfoList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/user/getUserList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/user/setUserAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/fileUploadAndDownload/upload','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/fileUploadAndDownload/getFileList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/fileUploadAndDownload/deleteFile','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/casbin/updateCasbin','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/casbin/getPolicyPathByAuthorityId','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/jwt/jsonInBlacklist','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/system/getSystemConfig','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/system/setSystemConfig','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/customer/customer','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/customer/customer','PUT','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/customer/customer','DELETE','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/customer/customer','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','8881','/customer/customerList','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/base/login','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/base/register','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/api/createApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/api/getApiList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/api/getApiById','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/api/deleteApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/api/updateApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/api/getAllApis','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/authority/createAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/authority/deleteAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/authority/getAuthorityList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/authority/setDataAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/getMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/getMenuList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/addBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/getBaseMenuTree','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/addMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/getMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/deleteBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/updateBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/menu/getBaseMenuById','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/user/changePassword','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/user/uploadHeaderImg','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/user/getInfoList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/user/getUserList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/user/setUserAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/fileUploadAndDownload/upload','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/fileUploadAndDownload/getFileList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/fileUploadAndDownload/deleteFile','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/casbin/updateCasbin','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/casbin/getPolicyPathByAuthorityId','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/jwt/jsonInBlacklist','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/system/getSystemConfig','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/system/setSystemConfig','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/customer/customer','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/customer/customer','PUT','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/customer/customer','DELETE','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/customer/customer','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/customer/customerList','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','9528','/autoCode/createTemp','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/base/login','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/base/register','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/api/createApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/api/getApiList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/api/getApiById','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/api/deleteApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/api/updateApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/api/getAllApis','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/authority/createAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/authority/deleteAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/authority/getAuthorityList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/authority/setDataAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/getMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/getMenuList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/addBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/getBaseMenuTree','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/addMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/getMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/deleteBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/updateBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/menu/getBaseMenuById','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/user/changePassword','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/user/uploadHeaderImg','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/user/getInfoList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/user/getUserList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/user/setUserAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/fileUploadAndDownload/upload','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/fileUploadAndDownload/getFileList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/fileUploadAndDownload/deleteFile','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/casbin/updateCasbin','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/casbin/getPolicyPathByAuthorityId','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/casbin/casbinTest/:pathParam','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/jwt/jsonInBlacklist','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/system/getSystemConfig','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/system/setSystemConfig','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/customer/customer','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/customer/customer','PUT','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/customer/customer','DELETE','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/customer/customer','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/customer/customerList','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','888','/autoCode/createTemp','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/base/login','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/base/register','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/api/createApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/api/getApiList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/api/getApiById','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/api/deleteApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/api/updateApi','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/api/getAllApis','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/api/createApi','GET','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/authority/createAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/authority/deleteAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/authority/getAuthorityList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/authority/setDataAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/getMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/getMenuList','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/addBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/getBaseMenuTree','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/addMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/getMenuAuthority','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/deleteBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/updateBaseMenu','POST','','','');
+INSERT INTO casbin_rule (p_type,v0,v1,v2,v3,v4,v5) VALUES (
+'p','asdasd','/menu/getBaseMenuById','POST','','','');

+ 650 - 0
server/db/sqlite/ch_cities.sql

@@ -0,0 +1,650 @@
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+1,'北京市','北京市',110100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+2,'天津市','天津市',120100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+3,'河北省','石家庄市',130100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+4,'河北省','唐山市',130200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+5,'河北省','秦皇岛市',130300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+6,'河北省','邯郸市',130400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+7,'河北省','邢台市',130500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+8,'河北省','保定市',130600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+9,'河北省','张家口市',130700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+10,'河北省','承德市',130800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+11,'河北省','沧州市',130900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+12,'河北省','廊坊市',131000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+13,'河北省','衡水市',131100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+14,'山西省','太原市',140100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+15,'山西省','大同市',140200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+16,'山西省','阳泉市',140300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+17,'山西省','长治市',140400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+18,'山西省','晋城市',140500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+19,'山西省','朔州市',140600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+20,'山西省','晋中市',140700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+21,'山西省','运城市',140800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+22,'山西省','忻州市',140900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+23,'山西省','临汾市',141000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+24,'山西省','吕梁市',141100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+25,'内蒙古自治区','呼和浩特市',150100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+26,'内蒙古自治区','包头市',150200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+27,'内蒙古自治区','乌海市',150300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+28,'内蒙古自治区','赤峰市',150400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+29,'内蒙古自治区','通辽市',150500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+30,'内蒙古自治区','鄂尔多斯市',150600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+31,'内蒙古自治区','呼伦贝尔市',150700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+32,'内蒙古自治区','巴彦淖尔市',150800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+33,'内蒙古自治区','乌兰察布市',150900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+34,'内蒙古自治区','兴安盟',152200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+35,'内蒙古自治区','锡林郭勒盟',152500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+36,'内蒙古自治区','二连浩特市',152501);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+37,'内蒙古自治区','锡林浩特市',152502);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+38,'内蒙古自治区','阿拉善盟',152900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+39,'辽宁省','沈阳市',210100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+40,'辽宁省','大连市',210200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+41,'辽宁省','鞍山市',210300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+42,'辽宁省','抚顺市',210400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+43,'辽宁省','本溪市',210500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+44,'辽宁省','丹东市',210600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+45,'辽宁省','锦州市',210700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+46,'辽宁省','营口市',210800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+47,'辽宁省','阜新市',210900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+48,'辽宁省','辽阳市',211000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+49,'辽宁省','盘锦市',211100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+50,'辽宁省','铁岭市',211200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+51,'辽宁省','朝阳市',211300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+52,'辽宁省','葫芦岛市',211400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+53,'吉林省','长春市',220100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+54,'吉林省','吉林市',220200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+55,'吉林省','四平市',220300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+56,'吉林省','辽源市',220400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+57,'吉林省','通化市',220500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+58,'吉林省','白山市',220600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+59,'吉林省','松原市',220700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+60,'吉林省','白城市',220800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+61,'吉林省','延边朝鲜族自治州',222400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+62,'黑龙江省','哈尔滨市',230100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+63,'黑龙江省','齐齐哈尔市',230200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+64,'黑龙江省','鸡西市',230300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+65,'黑龙江省','鹤岗市',230400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+66,'黑龙江省','双鸭山市',230500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+67,'黑龙江省','大庆市',230600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+68,'黑龙江省','伊春市',230700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+69,'黑龙江省','佳木斯市',230800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+70,'黑龙江省','七台河市',230900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+71,'黑龙江省','牡丹江市',231000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+72,'黑龙江省','黑河市',231100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+73,'黑龙江省','绥化市',231200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+74,'黑龙江省','大兴安岭地区',232700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+75,'上海市','上海市',310100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+76,'江苏省','南京市',320100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+77,'江苏省','无锡市',320200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+78,'江苏省','徐州市',320300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+79,'江苏省','常州市',320400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+80,'江苏省','苏州市',320500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+81,'江苏省','昆山市',320583);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+82,'江苏省','南通市',320600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+83,'江苏省','连云港市',320700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+84,'江苏省','淮安市',320800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+85,'江苏省','盐城市',320900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+86,'江苏省','扬州市',321000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+87,'江苏省','镇江市',321100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+88,'江苏省','泰州市',321200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+89,'江苏省','宿迁市',321300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+90,'浙江省','杭州市',330100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+91,'浙江省','宁波市',330200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+92,'浙江省','温州市',330300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+93,'浙江省','嘉兴市',330400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+94,'浙江省','湖州市',330500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+95,'浙江省','绍兴市',330600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+96,'浙江省','金华市',330700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+97,'浙江省','衢州市',330800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+98,'浙江省','舟山市',330900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+99,'浙江省','台州市',331000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+100,'浙江省','丽水市',331100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+101,'安徽省','合肥市',340100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+102,'安徽省','芜湖市',340200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+103,'安徽省','蚌埠市',340300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+104,'安徽省','淮南市',340400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+105,'安徽省','马鞍山市',340500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+106,'安徽省','淮北市',340600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+107,'安徽省','铜陵市',340700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+108,'安徽省','安庆市',340800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+109,'安徽省','黄山市',341000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+110,'安徽省','滁州市',341100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+111,'安徽省','阜阳市',341200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+112,'安徽省','宿州市',341300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+113,'安徽省','六安市',341500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+114,'安徽省','亳州市',341600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+115,'安徽省','池州市',341700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+116,'安徽省','宣城市',341800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+117,'福建省','福州市',350100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+118,'福建省','厦门市',350200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+119,'福建省','莆田市',350300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+120,'福建省','三明市',350400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+121,'福建省','泉州市',350500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+122,'福建省','漳州市',350600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+123,'福建省','南平市',350700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+124,'福建省','龙岩市',350800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+125,'福建省','宁德市',350900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+126,'江西省','南昌市',360100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+127,'江西省','景德镇市',360200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+128,'江西省','萍乡市',360300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+129,'江西省','九江市',360400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+130,'江西省','新余市',360500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+131,'江西省','鹰潭市',360600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+132,'江西省','赣州市',360700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+133,'江西省','吉安市',360800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+134,'江西省','宜春市',360900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+135,'江西省','抚州市',361000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+136,'江西省','上饶市',361100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+137,'山东省','济南市',370100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+138,'山东省','青岛市',370200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+139,'山东省','淄博市',370300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+140,'山东省','枣庄市',370400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+141,'山东省','滕州市',370481);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+142,'山东省','东营市',370500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+143,'山东省','烟台市',370600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+144,'山东省','潍坊市',370700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+145,'山东省','济宁市',370800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+146,'山东省','泰安市',370900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+147,'山东省','威海市',371000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+148,'山东省','日照市',371100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+149,'山东省','莱芜市',371200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+150,'山东省','临沂市',371300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+151,'山东省','德州市',371400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+152,'山东省','聊城市',371500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+153,'山东省','滨州市',371600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+154,'山东省','菏泽市',371700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+155,'河南省','郑州市',410100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+156,'河南省','开封市',410200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+157,'河南省','洛阳市',410300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+158,'河南省','平顶山市',410400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+159,'河南省','安阳市',410500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+160,'河南省','鹤壁市',410600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+161,'河南省','新乡市',410700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+162,'河南省','焦作市',410800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+163,'河南省','濮阳市',410900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+164,'河南省','许昌市',411000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+165,'河南省','漯河市',411100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+166,'河南省','三门峡市',411200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+167,'河南省','南阳市',411300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+168,'河南省','商丘市',411400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+169,'河南省','信阳市',411500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+170,'河南省','周口市',411600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+171,'河南省','驻马店市',411700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+172,'河南省','济源市',419001);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+173,'湖北省','武汉市',420100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+174,'湖北省','黄石市',420200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+175,'湖北省','十堰市',420300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+176,'湖北省','宜昌市',420500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+177,'湖北省','襄阳市',420600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+178,'湖北省','鄂州市',420700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+179,'湖北省','荆门市',420800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+180,'湖北省','孝感市',420900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+181,'湖北省','荆州市',421000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+182,'湖北省','黄冈市',421100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+183,'湖北省','咸宁市',421200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+184,'湖北省','随州市',421300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+185,'湖北省','恩施土家族苗族自治州',422800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+186,'湖北省','潜江市',429005);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+187,'湖南省','长沙市',430100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+188,'湖南省','株洲市',430200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+189,'湖南省','湘潭市',430300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+190,'湖南省','衡阳市',430400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+191,'湖南省','邵阳市',430500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+192,'湖南省','岳阳市',430600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+193,'湖南省','常德市',430700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+194,'湖南省','张家界市',430800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+195,'湖南省','益阳市',430900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+196,'湖南省','郴州市',431000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+197,'湖南省','永州市',431100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+198,'湖南省','怀化市',431200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+199,'湖南省','娄底市',431300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+200,'湖南省','湘西土家族苗族自治州',433100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+201,'广东省','广州市',440100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+202,'广东省','韶关市',440200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+203,'广东省','深圳市',440300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+204,'广东省','珠海市',440400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+205,'广东省','汕头市',440500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+206,'广东省','佛山市',440600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+207,'广东省','江门市',440700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+208,'广东省','湛江市',440800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+209,'广东省','茂名市',440900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+210,'广东省','肇庆市',441200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+211,'广东省','惠州市',441300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+212,'广东省','梅州市',441400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+213,'广东省','汕尾市',441500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+214,'广东省','河源市',441600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+215,'广东省','阳江市',441700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+216,'广东省','清远市',441800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+217,'广东省','东莞市',441900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+218,'广东省','中山市',442000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+219,'广东省','潮州市',445100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+220,'广东省','揭阳市',445200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+221,'广东省','云浮市',445300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+222,'广西壮族自治区','南宁市',450100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+223,'广西壮族自治区','柳州市',450200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+224,'广西壮族自治区','桂林市',450300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+225,'广西壮族自治区','梧州市',450400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+226,'广西壮族自治区','北海市',450500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+227,'广西壮族自治区','防城港市',450600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+228,'广西壮族自治区','钦州市',450700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+229,'广西壮族自治区','贵港市',450800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+230,'广西壮族自治区','玉林市',450900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+231,'广西壮族自治区','百色市',451000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+232,'广西壮族自治区','贺州市',451100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+233,'广西壮族自治区','河池市',451200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+234,'广西壮族自治区','来宾市',451300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+235,'广西壮族自治区','崇左市',451400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+236,'海南省','海口市',460100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+237,'海南省','三亚市',460200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+238,'海南省','儋州市',460400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+239,'重庆市','重庆市',500100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+240,'四川省','成都市',510100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+241,'四川省','自贡市',510300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+242,'四川省','攀枝花市',510400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+243,'四川省','泸州市',510500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+244,'四川省','德阳市',510600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+245,'四川省','绵阳市',510700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+246,'四川省','广元市',510800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+247,'四川省','遂宁市',510900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+248,'四川省','内江市',511000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+249,'四川省','乐山市',511100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+250,'四川省','南充市',511300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+251,'四川省','眉山市',511400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+252,'四川省','宜宾市',511500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+253,'四川省','广安市',511600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+254,'四川省','达州市',511700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+255,'四川省','雅安市',511800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+256,'四川省','巴中市',511900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+257,'四川省','资阳市',512000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+258,'四川省','阿坝藏族羌族自治州',513200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+259,'四川省','甘孜藏族自治州',513300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+260,'四川省','凉山彝族自治州',513400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+261,'贵州省','贵阳市',520100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+262,'贵州省','六盘水市',520200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+263,'贵州省','遵义市',520300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+264,'贵州省','安顺市',520400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+265,'贵州省','毕节市',520500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+266,'贵州省','铜仁市',520600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+267,'贵州省','黔西南布依族苗族自治州',522300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+268,'贵州省','黔东南苗族侗族自治州',522600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+269,'贵州省','黔南布依族苗族自治州',522700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+270,'云南省','昆明市',530100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+271,'云南省','曲靖市',530300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+272,'云南省','玉溪市',530400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+273,'云南省','保山市',530500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+274,'云南省','昭通市',530600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+275,'云南省','丽江市',530700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+276,'云南省','普洱市',530800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+277,'云南省','临沧市',530900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+278,'云南省','楚雄彝族自治州',532300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+279,'云南省','红河哈尼族彝族自治州',532500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+280,'云南省','文山壮族苗族自治州',532600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+281,'云南省','西双版纳傣族自治州',532800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+282,'云南省','大理白族自治州',532900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+283,'云南省','德宏傣族景颇族自治州',533100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+284,'云南省','怒江傈僳族自治州',533300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+285,'云南省','迪庆藏族自治州',533400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+286,'西藏自治区','拉萨市',540100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+287,'西藏自治区','日喀则市',540200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+288,'陕西省','西安市',610100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+289,'陕西省','铜川市',610200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+290,'陕西省','宝鸡市',610300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+291,'陕西省','咸阳市',610400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+292,'陕西省','渭南市',610500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+293,'陕西省','延安市',610600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+294,'陕西省','汉中市',610700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+295,'陕西省','榆林市',610800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+296,'陕西省','安康市',610900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+297,'陕西省','商洛市',611000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+298,'甘肃省','兰州市',620100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+299,'甘肃省','嘉峪关市',620200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+300,'甘肃省','金昌市',620300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+301,'甘肃省','白银市',620400);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+302,'甘肃省','天水市',620500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+303,'甘肃省','武威市',620600);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+304,'甘肃省','张掖市',620700);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+305,'甘肃省','平凉市',620800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+306,'甘肃省','酒泉市',620900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+307,'甘肃省','庆阳市',621000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+308,'甘肃省','定西市',621100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+309,'甘肃省','陇南市',621200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+310,'甘肃省','临夏回族自治州',622900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+311,'甘肃省','甘南藏族自治州',623000);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+312,'青海省','西宁市',630100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+313,'青海省','海东市',630200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+314,'青海省','海西蒙古族藏族自治州',632800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+315,'宁夏回族自治区','银川市',640100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+316,'宁夏回族自治区','石嘴山市',640200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+317,'宁夏回族自治区','吴忠市',640300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+318,'新疆维吾尔自治区','乌鲁木齐市',650100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+319,'新疆维吾尔自治区','克拉玛依市',650200);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+320,'新疆维吾尔自治区','哈密市',650500);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+321,'新疆维吾尔自治区','昌吉回族自治州',652300);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+322,'新疆维吾尔自治区','巴音郭楞蒙古自治州',652800);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+323,'新疆维吾尔自治区','阿克苏地区',652900);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+324,'新疆维吾尔自治区','喀什地区',653100);
+INSERT INTO ch_cities (id,province,city,code) VALUES (
+325,'新疆维吾尔自治区','伊犁哈萨克自治州',654000);

+ 62 - 0
server/db/sqlite/ch_provinces.sql

@@ -0,0 +1,62 @@
+INSERT INTO ch_provinces (id,province) VALUES (
+1,'北京市');
+INSERT INTO ch_provinces (id,province) VALUES (
+2,'天津市');
+INSERT INTO ch_provinces (id,province) VALUES (
+3,'河北省');
+INSERT INTO ch_provinces (id,province) VALUES (
+4,'山西省');
+INSERT INTO ch_provinces (id,province) VALUES (
+5,'内蒙古自治区');
+INSERT INTO ch_provinces (id,province) VALUES (
+6,'辽宁省');
+INSERT INTO ch_provinces (id,province) VALUES (
+7,'吉林省');
+INSERT INTO ch_provinces (id,province) VALUES (
+8,'黑龙江省');
+INSERT INTO ch_provinces (id,province) VALUES (
+9,'上海市');
+INSERT INTO ch_provinces (id,province) VALUES (
+10,'江苏省');
+INSERT INTO ch_provinces (id,province) VALUES (
+11,'浙江省');
+INSERT INTO ch_provinces (id,province) VALUES (
+12,'安徽省');
+INSERT INTO ch_provinces (id,province) VALUES (
+13,'福建省');
+INSERT INTO ch_provinces (id,province) VALUES (
+14,'江西省');
+INSERT INTO ch_provinces (id,province) VALUES (
+15,'山东省');
+INSERT INTO ch_provinces (id,province) VALUES (
+16,'河南省');
+INSERT INTO ch_provinces (id,province) VALUES (
+17,'湖北省');
+INSERT INTO ch_provinces (id,province) VALUES (
+18,'湖南省');
+INSERT INTO ch_provinces (id,province) VALUES (
+19,'广东省');
+INSERT INTO ch_provinces (id,province) VALUES (
+20,'广西壮族自治区');
+INSERT INTO ch_provinces (id,province) VALUES (
+21,'海南省');
+INSERT INTO ch_provinces (id,province) VALUES (
+22,'重庆市');
+INSERT INTO ch_provinces (id,province) VALUES (
+23,'四川省');
+INSERT INTO ch_provinces (id,province) VALUES (
+24,'贵州省');
+INSERT INTO ch_provinces (id,province) VALUES (
+25,'云南省');
+INSERT INTO ch_provinces (id,province) VALUES (
+26,'西藏自治区');
+INSERT INTO ch_provinces (id,province) VALUES (
+27,'陕西省');
+INSERT INTO ch_provinces (id,province) VALUES (
+28,'甘肃省');
+INSERT INTO ch_provinces (id,province) VALUES (
+29,'青海省');
+INSERT INTO ch_provinces (id,province) VALUES (
+30,'宁夏回族自治区');
+INSERT INTO ch_provinces (id,province) VALUES (
+31,'新疆维吾尔自治区');

+ 6438 - 0
server/db/sqlite/ch_t_d_areainfo.sql

@@ -0,0 +1,6438 @@
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+102100,'天津市',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110100,'北京市',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110101,'东城区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110102,'西城区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110105,'朝阳区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110106,'丰台区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110107,'石景山区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110108,'海淀区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110109,'门头沟区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110111,'房山区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110112,'通州区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110113,'顺义区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110114,'昌平区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110115,'大兴区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110116,'怀柔区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110117,'平谷区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110118,'密云区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+110119,'延庆区',3,110100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120101,'和平区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120102,'河东区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120103,'河西区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120104,'南开区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120105,'河北区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120106,'红桥区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120110,'东丽区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120111,'西青区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120112,'津南区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120113,'北辰区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120114,'武清区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120115,'宝坻区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120116,'滨海新区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120117,'宁河区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120118,'静海区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+120119,'蓟州区',3,120100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130000,'河北省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130100,'石家庄市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130102,'长安区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130104,'桥西区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130105,'新华区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130107,'井陉矿区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130108,'裕华区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130109,'藁城区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130110,'鹿泉区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130111,'栾城区',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130121,'井陉县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130123,'正定县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130125,'行唐县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130126,'灵寿县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130127,'高邑县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130128,'深泽县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130129,'赞皇县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130130,'无极县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130131,'平山县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130132,'元氏县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130133,'赵县',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130183,'晋州市',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130184,'新乐市',3,130100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130200,'唐山市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130202,'路南区',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130203,'路北区',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130204,'古冶区',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130205,'开平区',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130207,'丰南区',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130208,'丰润区',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130209,'曹妃甸区',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130223,'滦县',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130224,'滦南县',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130225,'乐亭县',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130227,'迁西县',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130229,'玉田县',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130281,'遵化市',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130283,'迁安市',3,130200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130300,'秦皇岛市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130302,'海港区',3,130300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130303,'山海关区',3,130300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130304,'北戴河区',3,130300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130306,'抚宁区',3,130300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130321,'青龙满族自治县',3,130300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130322,'昌黎县',3,130300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130324,'卢龙县',3,130300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130400,'邯郸市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130402,'邯山区',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130403,'丛台区',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130404,'复兴区',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130406,'峰峰矿区',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130421,'邯郸县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130423,'临漳县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130424,'成安县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130425,'大名县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130426,'涉县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130427,'磁县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130428,'肥乡县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130429,'永年县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130430,'邱县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130431,'鸡泽县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130432,'广平县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130433,'馆陶县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130434,'魏县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130435,'曲周县',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130481,'武安市',3,130400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130500,'邢台市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130502,'桥东区',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130503,'桥西区',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130521,'邢台县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130522,'临城县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130523,'内丘县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130524,'柏乡县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130525,'隆尧县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130526,'任县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130527,'南和县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130528,'宁晋县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130529,'巨鹿县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130530,'新河县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130531,'广宗县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130532,'平乡县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130533,'威县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130534,'清河县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130535,'临西县',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130581,'南宫市',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130582,'沙河市',3,130500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130600,'保定市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130602,'竞秀区',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130606,'莲池区',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130607,'满城区',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130608,'清苑区',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130609,'徐水区',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130623,'涞水县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130624,'阜平县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130626,'定兴县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130627,'唐县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130628,'高阳县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130629,'容城县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130630,'涞源县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130631,'望都县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130632,'安新县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130633,'易县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130634,'曲阳县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130635,'蠡县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130636,'顺平县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130637,'博野县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130638,'雄县',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130681,'涿州市',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130683,'安国市',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130684,'高碑店市',3,130600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130700,'张家口市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130702,'桥东区',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130703,'桥西区',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130705,'宣化区',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130706,'下花园区',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130708,'万全区',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130709,'崇礼区',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130722,'张北县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130723,'康保县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130724,'沽源县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130725,'尚义县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130726,'蔚县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130727,'阳原县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130728,'怀安县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130730,'怀来县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130731,'涿鹿县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130732,'赤城县',3,130700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130800,'承德市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130802,'双桥区',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130803,'双滦区',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130804,'鹰手营子矿区',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130821,'承德县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130822,'兴隆县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130823,'平泉县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130824,'滦平县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130825,'隆化县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130826,'丰宁满族自治县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130827,'宽城满族自治县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130828,'围场满族蒙古族自治县',3,130800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130900,'沧州市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130902,'新华区',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130903,'运河区',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130921,'沧县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130922,'青县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130923,'东光县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130924,'海兴县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130925,'盐山县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130926,'肃宁县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130927,'南皮县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130928,'吴桥县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130929,'献县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130930,'孟村回族自治县',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130981,'泊头市',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130982,'任丘市',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130983,'黄骅市',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+130984,'河间市',3,130900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131000,'廊坊市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131002,'安次区',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131003,'广阳区',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131022,'固安县',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131023,'永清县',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131024,'香河县',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131025,'大城县',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131026,'文安县',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131028,'大厂回族自治县',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131081,'霸州市',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131082,'三河市',3,131000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131100,'衡水市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131102,'桃城区',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131103,'冀州区',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131121,'枣强县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131122,'武邑县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131123,'武强县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131124,'饶阳县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131125,'安平县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131126,'故城县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131127,'景县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131128,'阜城县',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131182,'深州市',3,131100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131200,'定州市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+131300,'辛集市',2,130000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140000,'山西省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140100,'太原市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140105,'小店区',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140106,'迎泽区',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140107,'杏花岭区',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140108,'尖草坪区',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140109,'万柏林区',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140110,'晋源区',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140121,'清徐县',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140122,'阳曲县',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140123,'娄烦县',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140181,'古交市',3,140100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140200,'大同市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140202,'城区',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140203,'矿区',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140211,'南郊区',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140212,'新荣区',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140221,'阳高县',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140222,'天镇县',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140223,'广灵县',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140224,'灵丘县',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140225,'浑源县',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140226,'左云县',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140227,'大同县',3,140200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140300,'阳泉市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140302,'城区',3,140300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140303,'矿区',3,140300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140311,'郊区',3,140300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140321,'平定县',3,140300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140322,'盂县',3,140300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140400,'长治市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140402,'城区',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140411,'郊区',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140421,'长治县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140423,'襄垣县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140424,'屯留县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140425,'平顺县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140426,'黎城县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140427,'壶关县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140428,'长子县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140429,'武乡县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140430,'沁县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140431,'沁源县',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140481,'潞城市',3,140400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140500,'晋城市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140502,'城区',3,140500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140521,'沁水县',3,140500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140522,'阳城县',3,140500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140524,'陵川县',3,140500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140525,'泽州县',3,140500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140581,'高平市',3,140500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140600,'朔州市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140602,'朔城区',3,140600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140603,'平鲁区',3,140600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140621,'山阴县',3,140600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140622,'应县',3,140600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140623,'右玉县',3,140600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140624,'怀仁县',3,140600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140700,'晋中市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140702,'榆次区',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140721,'榆社县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140722,'左权县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140723,'和顺县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140724,'昔阳县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140725,'寿阳县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140726,'太谷县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140727,'祁县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140728,'平遥县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140729,'灵石县',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140781,'介休市',3,140700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140800,'运城市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140802,'盐湖区',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140821,'临猗县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140822,'万荣县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140823,'闻喜县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140824,'稷山县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140825,'新绛县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140826,'绛县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140827,'垣曲县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140828,'夏县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140829,'平陆县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140830,'芮城县',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140881,'永济市',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140882,'河津市',3,140800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140900,'忻州市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140902,'忻府区',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140921,'定襄县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140922,'五台县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140923,'代县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140924,'繁峙县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140925,'宁武县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140926,'静乐县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140927,'神池县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140928,'五寨县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140929,'岢岚县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140930,'河曲县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140931,'保德县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140932,'偏关县',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+140981,'原平市',3,140900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141000,'临汾市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141002,'尧都区',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141021,'曲沃县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141022,'翼城县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141023,'襄汾县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141024,'洪洞县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141025,'古县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141026,'安泽县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141027,'浮山县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141028,'吉县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141029,'乡宁县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141030,'大宁县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141031,'隰县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141032,'永和县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141033,'蒲县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141034,'汾西县',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141081,'侯马市',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141082,'霍州市',3,141000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141100,'吕梁市',2,140000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141102,'离石区',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141121,'文水县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141122,'交城县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141123,'兴县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141124,'临县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141125,'柳林县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141126,'石楼县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141127,'岚县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141128,'方山县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141129,'中阳县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141130,'交口县',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141181,'孝义市',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+141182,'汾阳市',3,141100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150000,'内蒙古自治区',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150100,'呼和浩特市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150102,'新城区',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150103,'回民区',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150104,'玉泉区',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150105,'赛罕区',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150121,'土默特左旗',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150122,'托克托县',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150123,'和林格尔县',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150124,'清水河县',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150125,'武川县',3,150100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150200,'包头市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150202,'东河区',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150203,'昆都仑区',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150204,'青山区',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150205,'石拐区',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150206,'白云鄂博矿区',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150207,'九原区',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150221,'土默特右旗',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150222,'固阳县',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150223,'达尔罕茂明安联合旗',3,150200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150300,'乌海市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150302,'海勃湾区',3,150300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150303,'海南区',3,150300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150304,'乌达区',3,150300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150400,'赤峰市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150402,'红山区',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150403,'元宝山区',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150404,'松山区',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150421,'阿鲁科尔沁旗',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150422,'巴林左旗',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150423,'巴林右旗',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150424,'林西县',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150425,'克什克腾旗',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150426,'翁牛特旗',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150428,'喀喇沁旗',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150429,'宁城县',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150430,'敖汉旗',3,150400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150500,'通辽市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150502,'科尔沁区',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150521,'科尔沁左翼中旗',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150522,'科尔沁左翼后旗',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150523,'开鲁县',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150524,'库伦旗',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150525,'奈曼旗',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150526,'扎鲁特旗',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150581,'霍林郭勒市',3,150500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150600,'鄂尔多斯市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150602,'东胜区',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150603,'康巴什区',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150621,'达拉特旗',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150622,'准格尔旗',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150623,'鄂托克前旗',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150624,'鄂托克旗',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150625,'杭锦旗',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150626,'乌审旗',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150627,'伊金霍洛旗',3,150600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150700,'呼伦贝尔市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150702,'海拉尔区',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150703,'扎赉诺尔区',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150721,'阿荣旗',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150722,'莫力达瓦达斡尔族自治旗',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150723,'鄂伦春自治旗',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150724,'鄂温克族自治旗',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150725,'陈巴尔虎旗',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150726,'新巴尔虎左旗',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150727,'新巴尔虎右旗',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150781,'满洲里市',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150782,'牙克石市',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150783,'扎兰屯市',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150784,'额尔古纳市',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150785,'根河市',3,150700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150800,'巴彦淖尔市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150802,'临河区',3,150800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150821,'五原县',3,150800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150822,'磴口县',3,150800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150823,'乌拉特前旗',3,150800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150824,'乌拉特中旗',3,150800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150825,'乌拉特后旗',3,150800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150826,'杭锦后旗',3,150800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150900,'乌兰察布市',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150902,'集宁区',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150921,'卓资县',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150922,'化德县',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150923,'商都县',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150924,'兴和县',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150925,'凉城县',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150926,'察哈尔右翼前旗',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150927,'察哈尔右翼中旗',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150928,'察哈尔右翼后旗',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150929,'四子王旗',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+150981,'丰镇市',3,150900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152200,'兴安盟',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152201,'乌兰浩特市',3,152200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152202,'阿尔山市',3,152200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152221,'科尔沁右翼前旗',3,152200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152222,'科尔沁右翼中旗',3,152200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152223,'扎赉特旗',3,152200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152224,'突泉县',3,152200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152500,'锡林郭勒盟',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152501,'二连浩特市',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152502,'锡林浩特市',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152522,'阿巴嘎旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152523,'苏尼特左旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152524,'苏尼特右旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152525,'东乌珠穆沁旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152526,'西乌珠穆沁旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152527,'太仆寺旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152528,'镶黄旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152529,'正镶白旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152530,'正蓝旗',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152531,'多伦县',3,152500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152900,'阿拉善盟',2,150000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152921,'阿拉善左旗',3,152900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152922,'阿拉善右旗',3,152900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+152923,'额济纳旗',3,152900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210000,'辽宁省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210100,'沈阳市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210102,'和平区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210103,'沈河区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210104,'大东区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210105,'皇姑区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210106,'铁西区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210111,'苏家屯区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210112,'浑南区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210113,'沈北新区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210114,'于洪区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210115,'辽中区',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210123,'康平县',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210124,'法库县',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210181,'新民市',3,210100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210200,'大连市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210202,'中山区',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210203,'西岗区',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210204,'沙河口区',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210211,'甘井子区',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210212,'旅顺口区',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210213,'金州区',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210214,'普兰店区',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210224,'长海县',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210281,'瓦房店市',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210283,'庄河市',3,210200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210300,'鞍山市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210302,'铁东区',3,210300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210303,'铁西区',3,210300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210304,'立山区',3,210300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210311,'千山区',3,210300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210321,'台安县',3,210300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210323,'岫岩满族自治县',3,210300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210381,'海城市',3,210300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210400,'抚顺市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210402,'新抚区',3,210400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210403,'东洲区',3,210400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210404,'望花区',3,210400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210411,'顺城区',3,210400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210421,'抚顺县',3,210400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210422,'新宾满族自治县',3,210400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210423,'清原满族自治县',3,210400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210500,'本溪市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210502,'平山区',3,210500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210503,'溪湖区',3,210500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210504,'明山区',3,210500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210505,'南芬区',3,210500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210521,'本溪满族自治县',3,210500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210522,'桓仁满族自治县',3,210500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210600,'丹东市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210602,'元宝区',3,210600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210603,'振兴区',3,210600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210604,'振安区',3,210600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210624,'宽甸满族自治县',3,210600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210681,'东港市',3,210600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210682,'凤城市',3,210600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210700,'锦州市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210702,'古塔区',3,210700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210703,'凌河区',3,210700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210711,'太和区',3,210700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210726,'黑山县',3,210700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210727,'义县',3,210700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210781,'凌海市',3,210700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210782,'北镇市',3,210700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210800,'营口市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210802,'站前区',3,210800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210803,'西市区',3,210800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210804,'鲅鱼圈区',3,210800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210811,'老边区',3,210800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210881,'盖州市',3,210800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210882,'大石桥市',3,210800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210900,'阜新市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210902,'海州区',3,210900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210903,'新邱区',3,210900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210904,'太平区',3,210900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210905,'清河门区',3,210900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210911,'细河区',3,210900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210921,'阜新蒙古族自治县',3,210900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+210922,'彰武县',3,210900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211000,'辽阳市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211002,'白塔区',3,211000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211003,'文圣区',3,211000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211004,'宏伟区',3,211000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211005,'弓长岭区',3,211000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211011,'太子河区',3,211000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211021,'辽阳县',3,211000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211081,'灯塔市',3,211000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211100,'盘锦市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211102,'双台子区',3,211100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211103,'兴隆台区',3,211100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211104,'大洼区',3,211100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211122,'盘山县',3,211100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211200,'铁岭市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211202,'银州区',3,211200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211204,'清河区',3,211200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211221,'铁岭县',3,211200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211223,'西丰县',3,211200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211224,'昌图县',3,211200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211281,'调兵山市',3,211200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211282,'开原市',3,211200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211300,'朝阳市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211302,'双塔区',3,211300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211303,'龙城区',3,211300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211321,'朝阳县',3,211300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211322,'建平县',3,211300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211324,'喀喇沁左翼蒙古族自治县',3,211300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211381,'北票市',3,211300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211382,'凌源市',3,211300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211400,'葫芦岛市',2,210000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211402,'连山区',3,211400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211403,'龙港区',3,211400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211404,'南票区',3,211400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211421,'绥中县',3,211400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211422,'建昌县',3,211400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+211481,'兴城市',3,211400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220000,'吉林省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220100,'长春市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220102,'南关区',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220103,'宽城区',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220104,'朝阳区',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220105,'二道区',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220106,'绿园区',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220112,'双阳区',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220113,'九台区',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220122,'农安县',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220182,'榆树市',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220183,'德惠市',3,220100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220200,'吉林市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220202,'昌邑区',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220203,'龙潭区',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220204,'船营区',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220211,'丰满区',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220221,'永吉县',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220281,'蛟河市',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220282,'桦甸市',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220283,'舒兰市',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220284,'磐石市',3,220200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220300,'四平市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220302,'铁西区',3,220300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220303,'铁东区',3,220300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220322,'梨树县',3,220300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220323,'伊通满族自治县',3,220300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220381,'公主岭市',3,220300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220382,'双辽市',3,220300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220400,'辽源市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220402,'龙山区',3,220400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220403,'西安区',3,220400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220421,'东丰县',3,220400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220422,'东辽县',3,220400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220500,'通化市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220502,'东昌区',3,220500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220503,'二道江区',3,220500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220521,'通化县',3,220500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220523,'辉南县',3,220500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220524,'柳河县',3,220500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220581,'梅河口市',3,220500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220582,'集安市',3,220500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220600,'白山市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220602,'浑江区',3,220600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220605,'江源区',3,220600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220621,'抚松县',3,220600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220622,'靖宇县',3,220600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220623,'长白朝鲜族自治县',3,220600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220681,'临江市',3,220600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220700,'松原市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220702,'宁江区',3,220700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220721,'前郭尔罗斯蒙古族自治县',3,220700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220722,'长岭县',3,220700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220723,'乾安县',3,220700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220781,'扶余市',3,220700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220800,'白城市',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220802,'洮北区',3,220800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220821,'镇赉县',3,220800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220822,'通榆县',3,220800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220881,'洮南市',3,220800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+220882,'大安市',3,220800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222400,'延边朝鲜族自治州',2,220000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222401,'延吉市',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222402,'图们市',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222403,'敦化市',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222404,'珲春市',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222405,'龙井市',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222406,'和龙市',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222424,'汪清县',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+222426,'安图县',3,222400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230000,'黑龙江省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230100,'哈尔滨市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230102,'道里区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230103,'南岗区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230104,'道外区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230108,'平房区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230109,'松北区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230110,'香坊区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230111,'呼兰区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230112,'阿城区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230113,'双城区',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230123,'依兰县',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230124,'方正县',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230125,'宾县',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230126,'巴彦县',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230127,'木兰县',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230128,'通河县',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230129,'延寿县',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230183,'尚志市',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230184,'五常市',3,230100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230200,'齐齐哈尔市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230202,'龙沙区',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230203,'建华区',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230204,'铁锋区',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230205,'昂昂溪区',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230206,'富拉尔基区',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230207,'碾子山区',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230208,'梅里斯达斡尔族区',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230221,'龙江县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230223,'依安县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230224,'泰来县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230225,'甘南县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230227,'富裕县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230229,'克山县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230230,'克东县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230231,'拜泉县',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230281,'讷河市',3,230200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230300,'鸡西市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230302,'鸡冠区',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230303,'恒山区',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230304,'滴道区',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230305,'梨树区',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230306,'城子河区',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230307,'麻山区',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230321,'鸡东县',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230381,'虎林市',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230382,'密山市',3,230300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230400,'鹤岗市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230402,'向阳区',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230403,'工农区',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230404,'南山区',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230405,'兴安区',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230406,'东山区',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230407,'兴山区',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230421,'萝北县',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230422,'绥滨县',3,230400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230500,'双鸭山市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230502,'尖山区',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230503,'岭东区',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230505,'四方台区',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230506,'宝山区',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230521,'集贤县',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230522,'友谊县',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230523,'宝清县',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230524,'饶河县',3,230500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230600,'大庆市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230602,'萨尔图区',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230603,'龙凤区',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230604,'让胡路区',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230605,'红岗区',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230606,'大同区',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230621,'肇州县',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230622,'肇源县',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230623,'林甸县',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230624,'杜尔伯特蒙古族自治县',3,230600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230700,'伊春市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230702,'伊春区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230703,'南岔区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230704,'友好区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230705,'西林区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230706,'翠峦区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230707,'新青区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230708,'美溪区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230709,'金山屯区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230710,'五营区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230711,'乌马河区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230712,'汤旺河区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230713,'带岭区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230714,'乌伊岭区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230715,'红星区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230716,'上甘岭区',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230722,'嘉荫县',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230781,'铁力市',3,230700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230800,'佳木斯市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230803,'向阳区',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230804,'前进区',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230805,'东风区',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230811,'郊区',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230822,'桦南县',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230826,'桦川县',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230828,'汤原县',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230881,'同江市',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230882,'富锦市',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230883,'抚远市',3,230800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230900,'七台河市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230902,'新兴区',3,230900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230903,'桃山区',3,230900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230904,'茄子河区',3,230900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+230921,'勃利县',3,230900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231000,'牡丹江市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231002,'东安区',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231003,'阳明区',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231004,'爱民区',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231005,'西安区',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231025,'林口县',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231081,'绥芬河市',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231083,'海林市',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231084,'宁安市',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231085,'穆棱市',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231086,'东宁市',3,231000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231100,'黑河市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231102,'爱辉区',3,231100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231121,'嫩江县',3,231100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231123,'逊克县',3,231100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231124,'孙吴县',3,231100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231181,'北安市',3,231100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231182,'五大连池市',3,231100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231200,'绥化市',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231202,'北林区',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231221,'望奎县',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231222,'兰西县',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231223,'青冈县',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231224,'庆安县',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231225,'明水县',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231226,'绥棱县',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231281,'安达市',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231282,'肇东市',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+231283,'海伦市',3,231200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+232700,'大兴安岭地区',2,230000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+232721,'呼玛县',3,232700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+232722,'塔河县',3,232700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+232723,'漠河县',3,232700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310000,'上海市',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310101,'黄浦区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310104,'徐汇区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310105,'长宁区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310106,'静安区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310107,'普陀区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310109,'虹口区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310110,'杨浦区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310112,'闵行区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310113,'宝山区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310114,'嘉定区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310115,'浦东新区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310116,'金山区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310117,'松江区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310118,'青浦区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310120,'奉贤区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+310151,'崇明区',3,310100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320000,'江苏省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320100,'南京市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320102,'玄武区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320104,'秦淮区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320105,'建邺区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320106,'鼓楼区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320111,'浦口区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320113,'栖霞区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320114,'雨花台区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320115,'江宁区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320116,'六合区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320117,'溧水区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320118,'高淳区',3,320100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320200,'无锡市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320205,'锡山区',3,320200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320206,'惠山区',3,320200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320211,'滨湖区',3,320200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320213,'梁溪区',3,320200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320214,'新吴区',3,320200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320281,'江阴市',3,320200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320282,'宜兴市',3,320200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320300,'徐州市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320302,'鼓楼区',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320303,'云龙区',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320305,'贾汪区',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320311,'泉山区',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320312,'铜山区',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320321,'丰县',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320322,'沛县',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320324,'睢宁县',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320381,'新沂市',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320382,'邳州市',3,320300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320400,'常州市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320402,'天宁区',3,320400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320404,'钟楼区',3,320400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320411,'新北区',3,320400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320412,'武进区',3,320400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320413,'金坛区',3,320400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320481,'溧阳市',3,320400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320500,'苏州市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320505,'虎丘区',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320506,'吴中区',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320507,'相城区',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320508,'姑苏区',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320509,'吴江区',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320581,'常熟市',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320582,'张家港市',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320583,'昆山市',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320585,'太仓市',3,320500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320600,'南通市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320602,'崇川区',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320611,'港闸区',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320612,'通州区',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320621,'海安县',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320623,'如东县',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320681,'启东市',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320682,'如皋市',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320684,'海门市',3,320600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320700,'连云港市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320703,'连云区',3,320700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320706,'海州区',3,320700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320707,'赣榆区',3,320700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320722,'东海县',3,320700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320723,'灌云县',3,320700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320724,'灌南县',3,320700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320800,'淮安市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320803,'淮安区',3,320800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320804,'淮阴区',3,320800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320812,'清江浦区',3,320800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320813,'洪泽区',3,320800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320826,'涟水县',3,320800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320830,'盱眙县',3,320800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320831,'金湖县',3,320800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320900,'盐城市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320902,'亭湖区',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320903,'盐都区',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320904,'大丰区',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320921,'响水县',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320922,'滨海县',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320923,'阜宁县',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320924,'射阳县',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320925,'建湖县',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+320981,'东台市',3,320900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321000,'扬州市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321002,'广陵区',3,321000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321003,'邗江区',3,321000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321012,'江都区',3,321000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321023,'宝应县',3,321000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321081,'仪征市',3,321000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321084,'高邮市',3,321000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321100,'镇江市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321102,'京口区',3,321100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321111,'润州区',3,321100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321112,'丹徒区',3,321100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321181,'丹阳市',3,321100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321182,'扬中市',3,321100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321183,'句容市',3,321100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321200,'泰州市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321202,'海陵区',3,321200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321203,'高港区',3,321200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321204,'姜堰区',3,321200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321281,'兴化市',3,321200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321282,'靖江市',3,321200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321283,'泰兴市',3,321200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321300,'宿迁市',2,320000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321302,'宿城区',3,321300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321311,'宿豫区',3,321300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321322,'沭阳县',3,321300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321323,'泗阳县',3,321300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+321324,'泗洪县',3,321300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330000,'浙江省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330100,'杭州市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330102,'上城区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330103,'下城区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330104,'江干区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330105,'拱墅区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330106,'西湖区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330108,'滨江区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330109,'萧山区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330110,'余杭区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330111,'富阳区',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330122,'桐庐县',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330127,'淳安县',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330182,'建德市',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330185,'临安市',3,330100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330200,'宁波市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330203,'海曙区',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330204,'江东区',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330205,'江北区',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330206,'北仑区',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330211,'镇海区',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330212,'鄞州区',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330225,'象山县',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330226,'宁海县',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330281,'余姚市',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330282,'慈溪市',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330283,'奉化市',3,330200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330300,'温州市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330302,'鹿城区',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330303,'龙湾区',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330304,'瓯海区',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330305,'洞头区',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330324,'永嘉县',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330326,'平阳县',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330327,'苍南县',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330328,'文成县',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330329,'泰顺县',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330381,'瑞安市',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330382,'乐清市',3,330300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330400,'嘉兴市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330402,'南湖区',3,330400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330411,'秀洲区',3,330400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330421,'嘉善县',3,330400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330424,'海盐县',3,330400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330481,'海宁市',3,330400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330482,'平湖市',3,330400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330483,'桐乡市',3,330400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330500,'湖州市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330502,'吴兴区',3,330500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330503,'南浔区',3,330500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330521,'德清县',3,330500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330522,'长兴县',3,330500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330523,'安吉县',3,330500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330600,'绍兴市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330602,'越城区',3,330600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330603,'柯桥区',3,330600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330604,'上虞区',3,330600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330624,'新昌县',3,330600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330681,'诸暨市',3,330600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330683,'嵊州市',3,330600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330700,'金华市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330702,'婺城区',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330703,'金东区',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330723,'武义县',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330726,'浦江县',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330727,'磐安县',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330781,'兰溪市',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330782,'义乌市',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330783,'东阳市',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330784,'永康市',3,330700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330800,'衢州市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330802,'柯城区',3,330800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330803,'衢江区',3,330800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330822,'常山县',3,330800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330824,'开化县',3,330800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330825,'龙游县',3,330800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330881,'江山市',3,330800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330900,'舟山市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330902,'定海区',3,330900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330903,'普陀区',3,330900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330921,'岱山县',3,330900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+330922,'嵊泗县',3,330900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331000,'台州市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331002,'椒江区',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331003,'黄岩区',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331004,'路桥区',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331021,'玉环县',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331022,'三门县',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331023,'天台县',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331024,'仙居县',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331081,'温岭市',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331082,'临海市',3,331000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331100,'丽水市',2,330000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331102,'莲都区',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331121,'青田县',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331122,'缙云县',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331123,'遂昌县',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331124,'松阳县',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331125,'云和县',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331126,'庆元县',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331127,'景宁畲族自治县',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+331181,'龙泉市',3,331100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340000,'安徽省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340100,'合肥市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340102,'瑶海区',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340103,'庐阳区',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340104,'蜀山区',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340111,'包河区',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340121,'长丰县',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340122,'肥东县',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340123,'肥西县',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340124,'庐江县',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340181,'巢湖市',3,340100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340200,'芜湖市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340202,'镜湖区',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340203,'弋江区',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340207,'鸠江区',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340208,'三山区',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340221,'芜湖县',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340222,'繁昌县',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340223,'南陵县',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340225,'无为县',3,340200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340300,'蚌埠市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340302,'龙子湖区',3,340300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340303,'蚌山区',3,340300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340304,'禹会区',3,340300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340311,'淮上区',3,340300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340321,'怀远县',3,340300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340322,'五河县',3,340300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340323,'固镇县',3,340300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340400,'淮南市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340402,'大通区',3,340400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340403,'田家庵区',3,340400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340404,'谢家集区',3,340400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340405,'八公山区',3,340400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340406,'潘集区',3,340400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340421,'凤台县',3,340400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340422,'寿县',3,340400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340500,'马鞍山市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340503,'花山区',3,340500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340504,'雨山区',3,340500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340506,'博望区',3,340500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340521,'当涂县',3,340500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340522,'含山县',3,340500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340523,'和县',3,340500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340600,'淮北市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340602,'杜集区',3,340600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340603,'相山区',3,340600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340604,'烈山区',3,340600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340621,'濉溪县',3,340600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340700,'铜陵市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340705,'铜官区',3,340700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340706,'义安区',3,340700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340711,'郊区',3,340700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340722,'枞阳县',3,340700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340800,'安庆市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340802,'迎江区',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340803,'大观区',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340811,'宜秀区',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340822,'怀宁县',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340824,'潜山县',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340825,'太湖县',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340826,'宿松县',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340827,'望江县',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340828,'岳西县',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+340881,'桐城市',3,340800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341000,'黄山市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341002,'屯溪区',3,341000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341003,'黄山区',3,341000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341004,'徽州区',3,341000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341021,'歙县',3,341000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341022,'休宁县',3,341000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341023,'黟县',3,341000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341024,'祁门县',3,341000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341100,'滁州市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341102,'琅琊区',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341103,'南谯区',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341122,'来安县',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341124,'全椒县',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341125,'定远县',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341126,'凤阳县',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341181,'天长市',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341182,'明光市',3,341100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341200,'阜阳市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341202,'颍州区',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341203,'颍东区',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341204,'颍泉区',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341221,'临泉县',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341222,'太和县',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341225,'阜南县',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341226,'颍上县',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341282,'界首市',3,341200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341300,'宿州市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341302,'埇桥区',3,341300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341321,'砀山县',3,341300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341322,'萧县',3,341300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341323,'灵璧县',3,341300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341324,'泗县',3,341300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341500,'六安市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341502,'金安区',3,341500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341503,'裕安区',3,341500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341504,'叶集区',3,341500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341522,'霍邱县',3,341500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341523,'舒城县',3,341500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341524,'金寨县',3,341500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341525,'霍山县',3,341500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341600,'亳州市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341602,'谯城区',3,341600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341621,'涡阳县',3,341600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341622,'蒙城县',3,341600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341623,'利辛县',3,341600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341700,'池州市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341702,'贵池区',3,341700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341721,'东至县',3,341700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341722,'石台县',3,341700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341723,'青阳县',3,341700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341800,'宣城市',2,340000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341802,'宣州区',3,341800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341821,'郎溪县',3,341800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341822,'广德县',3,341800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341823,'泾县',3,341800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341824,'绩溪县',3,341800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341825,'旌德县',3,341800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+341881,'宁国市',3,341800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350000,'福建省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350100,'福州市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350102,'鼓楼区',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350103,'台江区',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350104,'仓山区',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350105,'马尾区',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350111,'晋安区',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350121,'闽侯县',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350122,'连江县',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350123,'罗源县',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350124,'闽清县',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350125,'永泰县',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350128,'平潭县',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350181,'福清市',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350182,'长乐市',3,350100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350200,'厦门市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350203,'思明区',3,350200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350205,'海沧区',3,350200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350206,'湖里区',3,350200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350211,'集美区',3,350200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350212,'同安区',3,350200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350213,'翔安区',3,350200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350300,'莆田市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350302,'城厢区',3,350300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350303,'涵江区',3,350300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350304,'荔城区',3,350300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350305,'秀屿区',3,350300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350322,'仙游县',3,350300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350400,'三明市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350402,'梅列区',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350403,'三元区',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350421,'明溪县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350423,'清流县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350424,'宁化县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350425,'大田县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350426,'尤溪县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350427,'沙县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350428,'将乐县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350429,'泰宁县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350430,'建宁县',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350481,'永安市',3,350400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350500,'泉州市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350502,'鲤城区',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350503,'丰泽区',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350504,'洛江区',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350505,'泉港区',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350521,'惠安县',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350524,'安溪县',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350525,'永春县',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350526,'德化县',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350527,'金门县',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350581,'石狮市',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350582,'晋江市',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350583,'南安市',3,350500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350600,'漳州市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350602,'芗城区',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350603,'龙文区',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350622,'云霄县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350623,'漳浦县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350624,'诏安县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350625,'长泰县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350626,'东山县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350627,'南靖县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350628,'平和县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350629,'华安县',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350681,'龙海市',3,350600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350700,'南平市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350702,'延平区',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350703,'建阳区',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350721,'顺昌县',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350722,'浦城县',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350723,'光泽县',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350724,'松溪县',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350725,'政和县',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350781,'邵武市',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350782,'武夷山市',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350783,'建瓯市',3,350700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350800,'龙岩市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350802,'新罗区',3,350800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350803,'永定区',3,350800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350821,'长汀县',3,350800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350823,'上杭县',3,350800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350824,'武平县',3,350800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350825,'连城县',3,350800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350881,'漳平市',3,350800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350900,'宁德市',2,350000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350902,'蕉城区',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350921,'霞浦县',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350922,'古田县',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350923,'屏南县',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350924,'寿宁县',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350925,'周宁县',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350926,'柘荣县',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350981,'福安市',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+350982,'福鼎市',3,350900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360000,'江西省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360100,'南昌市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360102,'东湖区',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360103,'西湖区',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360104,'青云谱区',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360105,'湾里区',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360111,'青山湖区',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360112,'新建区',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360121,'南昌县',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360123,'安义县',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360124,'进贤县',3,360100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360200,'景德镇市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360202,'昌江区',3,360200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360203,'珠山区',3,360200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360222,'浮梁县',3,360200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360281,'乐平市',3,360200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360300,'萍乡市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360302,'安源区',3,360300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360313,'湘东区',3,360300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360321,'莲花县',3,360300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360322,'上栗县',3,360300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360323,'芦溪县',3,360300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360400,'九江市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360402,'濂溪区',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360403,'浔阳区',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360421,'九江县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360423,'武宁县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360424,'修水县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360425,'永修县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360426,'德安县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360428,'都昌县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360429,'湖口县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360430,'彭泽县',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360481,'瑞昌市',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360482,'共青城市',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360483,'庐山市',3,360400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360500,'新余市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360502,'渝水区',3,360500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360521,'分宜县',3,360500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360600,'鹰潭市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360602,'月湖区',3,360600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360622,'余江县',3,360600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360681,'贵溪市',3,360600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360700,'赣州市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360702,'章贡区',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360703,'南康区',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360721,'赣县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360722,'信丰县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360723,'大余县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360724,'上犹县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360725,'崇义县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360726,'安远县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360727,'龙南县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360728,'定南县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360729,'全南县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360730,'宁都县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360731,'于都县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360732,'兴国县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360733,'会昌县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360734,'寻乌县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360735,'石城县',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360781,'瑞金市',3,360700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360800,'吉安市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360802,'吉州区',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360803,'青原区',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360821,'吉安县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360822,'吉水县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360823,'峡江县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360824,'新干县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360825,'永丰县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360826,'泰和县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360827,'遂川县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360828,'万安县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360829,'安福县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360830,'永新县',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360881,'井冈山市',3,360800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360900,'宜春市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360902,'袁州区',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360921,'奉新县',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360922,'万载县',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360923,'上高县',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360924,'宜丰县',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360925,'靖安县',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360926,'铜鼓县',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360981,'丰城市',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360982,'樟树市',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+360983,'高安市',3,360900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361000,'抚州市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361002,'临川区',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361021,'南城县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361022,'黎川县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361023,'南丰县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361024,'崇仁县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361025,'乐安县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361026,'宜黄县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361027,'金溪县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361028,'资溪县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361029,'东乡县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361030,'广昌县',3,361000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361100,'上饶市',2,360000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361102,'信州区',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361103,'广丰区',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361121,'上饶县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361123,'玉山县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361124,'铅山县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361125,'横峰县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361126,'弋阳县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361127,'余干县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361128,'鄱阳县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361129,'万年县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361130,'婺源县',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+361181,'德兴市',3,361100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370000,'山东省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370100,'济南市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370102,'历下区',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370103,'市中区',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370104,'槐荫区',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370105,'天桥区',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370112,'历城区',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370113,'长清区',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370124,'平阴县',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370125,'济阳县',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370126,'商河县',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370181,'章丘市',3,370100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370200,'青岛市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370202,'市南区',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370203,'市北区',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370211,'黄岛区',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370212,'崂山区',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370213,'李沧区',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370214,'城阳区',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370281,'胶州市',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370282,'即墨市',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370283,'平度市',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370285,'莱西市',3,370200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370300,'淄博市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370302,'淄川区',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370303,'张店区',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370304,'博山区',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370305,'临淄区',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370306,'周村区',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370321,'桓台县',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370322,'高青县',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370323,'沂源县',3,370300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370400,'枣庄市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370402,'市中区',3,370400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370403,'薛城区',3,370400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370404,'峄城区',3,370400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370405,'台儿庄区',3,370400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370406,'山亭区',3,370400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370481,'滕州市',3,370400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370500,'东营市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370502,'东营区',3,370500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370503,'河口区',3,370500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370505,'垦利区',3,370500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370522,'利津县',3,370500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370523,'广饶县',3,370500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370600,'烟台市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370602,'芝罘区',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370611,'福山区',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370612,'牟平区',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370613,'莱山区',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370634,'长岛县',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370681,'龙口市',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370682,'莱阳市',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370683,'莱州市',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370684,'蓬莱市',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370685,'招远市',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370686,'栖霞市',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370687,'海阳市',3,370600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370700,'潍坊市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370702,'潍城区',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370703,'寒亭区',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370704,'坊子区',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370705,'奎文区',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370724,'临朐县',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370725,'昌乐县',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370781,'青州市',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370782,'诸城市',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370783,'寿光市',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370784,'安丘市',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370785,'高密市',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370786,'昌邑市',3,370700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370800,'济宁市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370811,'任城区',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370812,'兖州区',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370826,'微山县',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370827,'鱼台县',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370828,'金乡县',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370829,'嘉祥县',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370830,'汶上县',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370831,'泗水县',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370832,'梁山县',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370881,'曲阜市',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370883,'邹城市',3,370800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370900,'泰安市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370902,'泰山区',3,370900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370911,'岱岳区',3,370900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370921,'宁阳县',3,370900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370923,'东平县',3,370900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370982,'新泰市',3,370900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+370983,'肥城市',3,370900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371000,'威海市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371002,'环翠区',3,371000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371003,'文登区',3,371000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371082,'荣成市',3,371000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371083,'乳山市',3,371000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371100,'日照市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371102,'东港区',3,371100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371103,'岚山区',3,371100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371121,'五莲县',3,371100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371122,'莒县',3,371100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371200,'莱芜市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371202,'莱城区',3,371200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371203,'钢城区',3,371200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371300,'临沂市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371302,'兰山区',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371311,'罗庄区',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371312,'河东区',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371321,'沂南县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371322,'郯城县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371323,'沂水县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371324,'兰陵县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371325,'费县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371326,'平邑县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371327,'莒南县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371328,'蒙阴县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371329,'临沭县',3,371300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371400,'德州市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371402,'德城区',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371403,'陵城区',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371422,'宁津县',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371423,'庆云县',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371424,'临邑县',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371425,'齐河县',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371426,'平原县',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371427,'夏津县',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371428,'武城县',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371481,'乐陵市',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371482,'禹城市',3,371400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371500,'聊城市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371502,'东昌府区',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371521,'阳谷县',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371522,'莘县',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371523,'茌平县',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371524,'东阿县',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371525,'冠县',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371526,'高唐县',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371581,'临清市',3,371500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371600,'滨州市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371602,'滨城区',3,371600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371603,'沾化区',3,371600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371621,'惠民县',3,371600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371622,'阳信县',3,371600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371623,'无棣县',3,371600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371625,'博兴县',3,371600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371626,'邹平县',3,371600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371700,'菏泽市',2,370000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371702,'牡丹区',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371703,'定陶区',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371721,'曹县',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371722,'单县',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371723,'成武县',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371724,'巨野县',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371725,'郓城县',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371726,'鄄城县',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+371728,'东明县',3,371700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410000,'河南省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410100,'郑州市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410102,'中原区',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410103,'二七区',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410104,'管城回族区',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410105,'金水区',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410106,'上街区',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410108,'惠济区',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410122,'中牟县',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410181,'巩义市',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410182,'荥阳市',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410183,'新密市',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410184,'新郑市',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410185,'登封市',3,410100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410200,'开封市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410202,'龙亭区',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410203,'顺河回族区',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410204,'鼓楼区',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410205,'禹王台区',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410211,'金明区',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410212,'祥符区',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410221,'杞县',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410222,'通许县',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410223,'尉氏县',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410225,'兰考县',3,410200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410300,'洛阳市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410302,'老城区',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410303,'西工区',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410304,'瀍河回族区',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410305,'涧西区',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410306,'吉利区',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410311,'洛龙区',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410322,'孟津县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410323,'新安县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410324,'栾川县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410325,'嵩县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410326,'汝阳县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410327,'宜阳县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410328,'洛宁县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410329,'伊川县',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410381,'偃师市',3,410300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410400,'平顶山市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410402,'新华区',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410403,'卫东区',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410404,'石龙区',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410411,'湛河区',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410421,'宝丰县',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410422,'叶县',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410423,'鲁山县',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410425,'郏县',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410481,'舞钢市',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410482,'汝州市',3,410400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410500,'安阳市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410502,'文峰区',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410503,'北关区',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410505,'殷都区',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410506,'龙安区',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410522,'安阳县',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410523,'汤阴县',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410526,'滑县',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410527,'内黄县',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410581,'林州市',3,410500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410600,'鹤壁市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410602,'鹤山区',3,410600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410603,'山城区',3,410600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410611,'淇滨区',3,410600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410621,'浚县',3,410600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410622,'淇县',3,410600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410700,'新乡市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410702,'红旗区',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410703,'卫滨区',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410704,'凤泉区',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410711,'牧野区',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410721,'新乡县',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410724,'获嘉县',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410725,'原阳县',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410726,'延津县',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410727,'封丘县',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410728,'长垣县',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410781,'卫辉市',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410782,'辉县市',3,410700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410800,'焦作市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410802,'解放区',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410803,'中站区',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410804,'马村区',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410811,'山阳区',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410821,'修武县',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410822,'博爱县',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410823,'武陟县',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410825,'温县',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410882,'沁阳市',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410883,'孟州市',3,410800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410900,'濮阳市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410902,'华龙区',3,410900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410922,'清丰县',3,410900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410923,'南乐县',3,410900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410926,'范县',3,410900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410927,'台前县',3,410900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+410928,'濮阳县',3,410900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411000,'许昌市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411002,'魏都区',3,411000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411023,'许昌县',3,411000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411024,'鄢陵县',3,411000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411025,'襄城县',3,411000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411081,'禹州市',3,411000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411082,'长葛市',3,411000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411100,'漯河市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411102,'源汇区',3,411100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411103,'郾城区',3,411100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411104,'召陵区',3,411100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411121,'舞阳县',3,411100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411122,'临颍县',3,411100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411200,'三门峡市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411202,'湖滨区',3,411200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411203,'陕州区',3,411200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411221,'渑池县',3,411200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411224,'卢氏县',3,411200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411281,'义马市',3,411200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411282,'灵宝市',3,411200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411300,'南阳市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411302,'宛城区',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411303,'卧龙区',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411321,'南召县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411322,'方城县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411323,'西峡县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411324,'镇平县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411325,'内乡县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411326,'淅川县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411327,'社旗县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411328,'唐河县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411329,'新野县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411330,'桐柏县',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411381,'邓州市',3,411300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411400,'商丘市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411402,'梁园区',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411403,'睢阳区',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411421,'民权县',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411422,'睢县',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411423,'宁陵县',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411424,'柘城县',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411425,'虞城县',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411426,'夏邑县',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411481,'永城市',3,411400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411500,'信阳市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411502,'浉河区',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411503,'平桥区',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411521,'罗山县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411522,'光山县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411523,'新县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411524,'商城县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411525,'固始县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411526,'潢川县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411527,'淮滨县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411528,'息县',3,411500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411600,'周口市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411602,'川汇区',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411621,'扶沟县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411622,'西华县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411623,'商水县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411624,'沈丘县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411625,'郸城县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411626,'淮阳县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411627,'太康县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411628,'鹿邑县',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411681,'项城市',3,411600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411700,'驻马店市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411702,'驿城区',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411721,'西平县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411722,'上蔡县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411723,'平舆县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411724,'正阳县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411725,'确山县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411726,'泌阳县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411727,'汝南县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411728,'遂平县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411729,'新蔡县',3,411700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+411800,'济源市',2,410000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420000,'湖北省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420100,'武汉市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420102,'江岸区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420103,'江汉区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420104,'硚口区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420105,'汉阳区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420106,'武昌区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420107,'青山区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420111,'洪山区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420112,'东西湖区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420113,'汉南区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420114,'蔡甸区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420115,'江夏区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420116,'黄陂区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420117,'新洲区',3,420100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420200,'黄石市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420202,'黄石港区',3,420200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420203,'西塞山区',3,420200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420204,'下陆区',3,420200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420205,'铁山区',3,420200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420222,'阳新县',3,420200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420281,'大冶市',3,420200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420300,'十堰市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420302,'茅箭区',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420303,'张湾区',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420304,'郧阳区',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420322,'郧西县',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420323,'竹山县',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420324,'竹溪县',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420325,'房县',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420381,'丹江口市',3,420300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420500,'宜昌市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420502,'西陵区',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420503,'伍家岗区',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420504,'点军区',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420505,'猇亭区',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420506,'夷陵区',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420525,'远安县',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420526,'兴山县',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420527,'秭归县',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420528,'长阳土家族自治县',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420529,'五峰土家族自治县',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420581,'宜都市',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420582,'当阳市',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420583,'枝江市',3,420500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420600,'襄阳市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420602,'襄城区',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420606,'樊城区',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420607,'襄州区',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420624,'南漳县',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420625,'谷城县',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420626,'保康县',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420682,'老河口市',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420683,'枣阳市',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420684,'宜城市',3,420600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420700,'鄂州市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420702,'梁子湖区',3,420700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420703,'华容区',3,420700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420704,'鄂城区',3,420700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420800,'荆门市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420802,'东宝区',3,420800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420804,'掇刀区',3,420800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420821,'京山县',3,420800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420822,'沙洋县',3,420800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420881,'钟祥市',3,420800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420900,'孝感市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420902,'孝南区',3,420900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420921,'孝昌县',3,420900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420922,'大悟县',3,420900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420923,'云梦县',3,420900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420981,'应城市',3,420900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420982,'安陆市',3,420900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+420984,'汉川市',3,420900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421000,'荆州市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421002,'沙市区',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421003,'荆州区',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421022,'公安县',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421023,'监利县',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421024,'江陵县',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421081,'石首市',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421083,'洪湖市',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421087,'松滋市',3,421000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421100,'黄冈市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421102,'黄州区',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421121,'团风县',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421122,'红安县',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421123,'罗田县',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421124,'英山县',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421125,'浠水县',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421126,'蕲春县',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421127,'黄梅县',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421181,'麻城市',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421182,'武穴市',3,421100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421200,'咸宁市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421202,'咸安区',3,421200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421221,'嘉鱼县',3,421200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421222,'通城县',3,421200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421223,'崇阳县',3,421200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421224,'通山县',3,421200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421281,'赤壁市',3,421200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421300,'随州市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421303,'曾都区',3,421300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421321,'随县',3,421300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421381,'广水市',3,421300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421400,'仙桃市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421500,'潜江市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421600,'天门市',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+421700,'神农架林区',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422800,'恩施土家族苗族自治州',2,420000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422801,'恩施市',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422802,'利川市',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422822,'建始县',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422823,'巴东县',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422825,'宣恩县',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422826,'咸丰县',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422827,'来凤县',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+422828,'鹤峰县',3,422800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430000,'湖南省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430100,'长沙市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430102,'芙蓉区',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430103,'天心区',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430104,'岳麓区',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430105,'开福区',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430111,'雨花区',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430112,'望城区',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430121,'长沙县',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430124,'宁乡县',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430181,'浏阳市',3,430100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430200,'株洲市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430202,'荷塘区',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430203,'芦淞区',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430204,'石峰区',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430211,'天元区',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430221,'株洲县',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430223,'攸县',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430224,'茶陵县',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430225,'炎陵县',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430281,'醴陵市',3,430200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430300,'湘潭市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430302,'雨湖区',3,430300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430304,'岳塘区',3,430300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430321,'湘潭县',3,430300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430381,'湘乡市',3,430300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430382,'韶山市',3,430300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430400,'衡阳市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430405,'珠晖区',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430406,'雁峰区',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430407,'石鼓区',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430408,'蒸湘区',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430412,'南岳区',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430421,'衡阳县',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430422,'衡南县',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430423,'衡山县',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430424,'衡东县',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430426,'祁东县',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430481,'耒阳市',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430482,'常宁市',3,430400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430500,'邵阳市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430502,'双清区',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430503,'大祥区',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430511,'北塔区',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430521,'邵东县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430522,'新邵县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430523,'邵阳县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430524,'隆回县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430525,'洞口县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430527,'绥宁县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430528,'新宁县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430529,'城步苗族自治县',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430581,'武冈市',3,430500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430600,'岳阳市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430602,'岳阳楼区',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430603,'云溪区',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430611,'君山区',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430621,'岳阳县',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430623,'华容县',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430624,'湘阴县',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430626,'平江县',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430681,'汨罗市',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430682,'临湘市',3,430600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430700,'常德市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430702,'武陵区',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430703,'鼎城区',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430721,'安乡县',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430722,'汉寿县',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430723,'澧县',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430724,'临澧县',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430725,'桃源县',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430726,'石门县',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430781,'津市市',3,430700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430800,'张家界市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430802,'永定区',3,430800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430811,'武陵源区',3,430800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430821,'慈利县',3,430800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430822,'桑植县',3,430800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430900,'益阳市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430902,'资阳区',3,430900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430903,'赫山区',3,430900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430921,'南县',3,430900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430922,'桃江县',3,430900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430923,'安化县',3,430900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+430981,'沅江市',3,430900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431000,'郴州市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431002,'北湖区',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431003,'苏仙区',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431021,'桂阳县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431022,'宜章县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431023,'永兴县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431024,'嘉禾县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431025,'临武县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431026,'汝城县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431027,'桂东县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431028,'安仁县',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431081,'资兴市',3,431000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431100,'永州市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431102,'零陵区',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431103,'冷水滩区',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431121,'祁阳县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431122,'东安县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431123,'双牌县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431124,'道县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431125,'江永县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431126,'宁远县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431127,'蓝山县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431128,'新田县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431129,'江华瑶族自治县',3,431100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431200,'怀化市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431202,'鹤城区',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431221,'中方县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431222,'沅陵县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431223,'辰溪县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431224,'溆浦县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431225,'会同县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431226,'麻阳苗族自治县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431227,'新晃侗族自治县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431228,'芷江侗族自治县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431229,'靖州苗族侗族自治县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431230,'通道侗族自治县',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431281,'洪江市',3,431200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431300,'娄底市',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431302,'娄星区',3,431300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431321,'双峰县',3,431300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431322,'新化县',3,431300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431381,'冷水江市',3,431300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+431382,'涟源市',3,431300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433100,'湘西土家族苗族自治州',2,430000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433101,'吉首市',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433122,'泸溪县',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433123,'凤凰县',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433124,'花垣县',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433125,'保靖县',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433126,'古丈县',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433127,'永顺县',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+433130,'龙山县',3,433100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440000,'广东省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440100,'广州市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440103,'荔湾区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440104,'越秀区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440105,'海珠区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440106,'天河区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440111,'白云区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440112,'黄埔区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440113,'番禺区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440114,'花都区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440115,'南沙区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440117,'从化区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440118,'增城区',3,440100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440200,'韶关市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440203,'武江区',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440204,'浈江区',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440205,'曲江区',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440222,'始兴县',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440224,'仁化县',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440229,'翁源县',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440232,'乳源瑶族自治县',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440233,'新丰县',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440281,'乐昌市',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440282,'南雄市',3,440200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440300,'深圳市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440303,'罗湖区',3,440300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440304,'福田区',3,440300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440305,'南山区',3,440300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440306,'宝安区',3,440300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440307,'龙岗区',3,440300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440308,'盐田区',3,440300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440400,'珠海市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440402,'香洲区',3,440400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440403,'斗门区',3,440400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440404,'金湾区',3,440400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440500,'汕头市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440507,'龙湖区',3,440500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440511,'金平区',3,440500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440512,'濠江区',3,440500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440513,'潮阳区',3,440500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440514,'潮南区',3,440500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440515,'澄海区',3,440500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440523,'南澳县',3,440500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440600,'佛山市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440604,'禅城区',3,440600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440605,'南海区',3,440600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440606,'顺德区',3,440600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440607,'三水区',3,440600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440608,'高明区',3,440600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440700,'江门市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440703,'蓬江区',3,440700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440704,'江海区',3,440700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440705,'新会区',3,440700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440781,'台山市',3,440700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440783,'开平市',3,440700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440784,'鹤山市',3,440700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440785,'恩平市',3,440700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440800,'湛江市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440802,'赤坎区',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440803,'霞山区',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440804,'坡头区',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440811,'麻章区',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440823,'遂溪县',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440825,'徐闻县',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440881,'廉江市',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440882,'雷州市',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440883,'吴川市',3,440800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440900,'茂名市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440902,'茂南区',3,440900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440904,'电白区',3,440900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440981,'高州市',3,440900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440982,'化州市',3,440900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+440983,'信宜市',3,440900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441200,'肇庆市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441202,'端州区',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441203,'鼎湖区',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441204,'高要区',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441223,'广宁县',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441224,'怀集县',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441225,'封开县',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441226,'德庆县',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441284,'四会市',3,441200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441300,'惠州市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441302,'惠城区',3,441300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441303,'惠阳区',3,441300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441322,'博罗县',3,441300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441323,'惠东县',3,441300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441324,'龙门县',3,441300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441400,'梅州市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441402,'梅江区',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441403,'梅县区',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441422,'大埔县',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441423,'丰顺县',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441424,'五华县',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441426,'平远县',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441427,'蕉岭县',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441481,'兴宁市',3,441400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441500,'汕尾市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441502,'城区',3,441500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441521,'海丰县',3,441500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441523,'陆河县',3,441500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441581,'陆丰市',3,441500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441600,'河源市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441602,'源城区',3,441600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441621,'紫金县',3,441600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441622,'龙川县',3,441600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441623,'连平县',3,441600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441624,'和平县',3,441600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441625,'东源县',3,441600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441700,'阳江市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441702,'江城区',3,441700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441704,'阳东区',3,441700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441721,'阳西县',3,441700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441781,'阳春市',3,441700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441800,'清远市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441802,'清城区',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441803,'清新区',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441821,'佛冈县',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441823,'阳山县',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441825,'连山壮族瑶族自治县',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441826,'连南瑶族自治县',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441881,'英德市',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441882,'连州市',3,441800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+441900,'东莞市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+442000,'中山市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445100,'潮州市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445102,'湘桥区',3,445100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445103,'潮安区',3,445100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445122,'饶平县',3,445100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445200,'揭阳市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445202,'榕城区',3,445200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445203,'揭东区',3,445200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445222,'揭西县',3,445200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445224,'惠来县',3,445200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445281,'普宁市',3,445200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445300,'云浮市',2,440000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445302,'云城区',3,445300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445303,'云安区',3,445300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445321,'新兴县',3,445300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445322,'郁南县',3,445300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+445381,'罗定市',3,445300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450000,'广西壮族自治区',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450100,'南宁市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450102,'兴宁区',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450103,'青秀区',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450105,'江南区',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450107,'西乡塘区',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450108,'良庆区',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450109,'邕宁区',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450110,'武鸣区',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450123,'隆安县',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450124,'马山县',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450125,'上林县',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450126,'宾阳县',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450127,'横县',3,450100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450200,'柳州市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450202,'城中区',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450203,'鱼峰区',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450204,'柳南区',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450205,'柳北区',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450206,'柳江区',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450222,'柳城县',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450223,'鹿寨县',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450224,'融安县',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450225,'融水苗族自治县',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450226,'三江侗族自治县',3,450200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450300,'桂林市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450302,'秀峰区',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450303,'叠彩区',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450304,'象山区',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450305,'七星区',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450311,'雁山区',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450312,'临桂区',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450321,'阳朔县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450323,'灵川县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450324,'全州县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450325,'兴安县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450326,'永福县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450327,'灌阳县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450328,'龙胜各族自治县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450329,'资源县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450330,'平乐县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450331,'荔浦县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450332,'恭城瑶族自治县',3,450300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450400,'梧州市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450403,'万秀区',3,450400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450405,'长洲区',3,450400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450406,'龙圩区',3,450400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450421,'苍梧县',3,450400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450422,'藤县',3,450400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450423,'蒙山县',3,450400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450481,'岑溪市',3,450400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450500,'北海市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450502,'海城区',3,450500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450503,'银海区',3,450500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450512,'铁山港区',3,450500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450521,'合浦县',3,450500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450600,'防城港市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450602,'港口区',3,450600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450603,'防城区',3,450600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450621,'上思县',3,450600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450681,'东兴市',3,450600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450700,'钦州市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450702,'钦南区',3,450700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450703,'钦北区',3,450700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450721,'灵山县',3,450700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450722,'浦北县',3,450700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450800,'贵港市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450802,'港北区',3,450800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450803,'港南区',3,450800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450804,'覃塘区',3,450800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450821,'平南县',3,450800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450881,'桂平市',3,450800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450900,'玉林市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450902,'玉州区',3,450900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450903,'福绵区',3,450900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450921,'容县',3,450900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450922,'陆川县',3,450900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450923,'博白县',3,450900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450924,'兴业县',3,450900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+450981,'北流市',3,450900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451000,'百色市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451002,'右江区',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451021,'田阳县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451022,'田东县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451023,'平果县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451024,'德保县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451026,'那坡县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451027,'凌云县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451028,'乐业县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451029,'田林县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451030,'西林县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451031,'隆林各族自治县',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451081,'靖西市',3,451000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451100,'贺州市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451102,'八步区',3,451100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451103,'平桂区',3,451100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451121,'昭平县',3,451100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451122,'钟山县',3,451100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451123,'富川瑶族自治县',3,451100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451200,'河池市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451202,'金城江区',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451221,'南丹县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451222,'天峨县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451223,'凤山县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451224,'东兰县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451225,'罗城仫佬族自治县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451226,'环江毛南族自治县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451227,'巴马瑶族自治县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451228,'都安瑶族自治县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451229,'大化瑶族自治县',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451281,'宜州市',3,451200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451300,'来宾市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451302,'兴宾区',3,451300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451321,'忻城县',3,451300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451322,'象州县',3,451300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451323,'武宣县',3,451300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451324,'金秀瑶族自治县',3,451300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451381,'合山市',3,451300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451400,'崇左市',2,450000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451402,'江州区',3,451400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451421,'扶绥县',3,451400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451422,'宁明县',3,451400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451423,'龙州县',3,451400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451424,'大新县',3,451400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451425,'天等县',3,451400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+451481,'凭祥市',3,451400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460000,'海南省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460100,'海口市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460105,'秀英区',3,460100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460106,'龙华区',3,460100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460107,'琼山区',3,460100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460108,'美兰区',3,460100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460200,'三亚市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460202,'海棠区',3,460200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460203,'吉阳区',3,460200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460204,'天涯区',3,460200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460205,'崖州区',3,460200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460300,'三沙市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460400,'儋州市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460500,'五指山市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460600,'琼海市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460700,'文昌市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460800,'万宁市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+460900,'东方市',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461000,'定安县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461100,'屯昌县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461200,'澄迈县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461300,'临高县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461400,'白沙黎族自治县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461500,'昌江黎族自治县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461600,'乐东黎族自治县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461700,'陵水黎族自治县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461800,'保亭黎族苗族自治县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+461900,'琼中黎族苗族自治县',2,460000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500000,'重庆市',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500101,'万州区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500102,'涪陵区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500103,'渝中区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500104,'大渡口区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500105,'江北区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500106,'沙坪坝区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500107,'九龙坡区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500108,'南岸区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500109,'北碚区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500110,'綦江区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500111,'大足区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500112,'渝北区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500113,'巴南区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500114,'黔江区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500115,'长寿区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500116,'江津区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500117,'合川区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500118,'永川区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500119,'南川区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500120,'璧山区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500128,'梁平县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500129,'城口县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500130,'丰都县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500131,'垫江县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500132,'武隆县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500133,'忠县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500135,'云阳县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500136,'奉节县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500137,'巫山县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500138,'巫溪县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500140,'石柱土家族自治县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500141,'秀山土家族苗族自治县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500142,'酉阳土家族苗族自治县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500143,'彭水苗族土家族自治县',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500151,'铜梁区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500152,'潼南区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500153,'荣昌区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+500154,'开州区',3,500000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510000,'四川省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510100,'成都市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510104,'锦江区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510105,'青羊区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510106,'金牛区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510107,'武侯区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510108,'成华区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510109,'高新区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510112,'龙泉驿区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510113,'青白江区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510114,'新都区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510115,'温江区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510116,'双流区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510121,'金堂县',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510124,'郫都区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510129,'大邑县',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510131,'蒲江县',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510132,'新津县',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510141,'天府新区',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510181,'都江堰市',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510182,'彭州市',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510183,'邛崃市',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510184,'崇州市',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510185,'简阳市',3,510100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510300,'自贡市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510302,'自流井区',3,510300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510303,'贡井区',3,510300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510304,'大安区',3,510300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510311,'沿滩区',3,510300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510321,'荣县',3,510300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510322,'富顺县',3,510300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510400,'攀枝花市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510402,'东区',3,510400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510403,'西区',3,510400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510411,'仁和区',3,510400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510421,'米易县',3,510400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510422,'盐边县',3,510400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510500,'泸州市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510502,'江阳区',3,510500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510503,'纳溪区',3,510500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510504,'龙马潭区',3,510500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510521,'泸县',3,510500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510522,'合江县',3,510500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510524,'叙永县',3,510500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510525,'古蔺县',3,510500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510600,'德阳市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510603,'旌阳区',3,510600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510623,'中江县',3,510600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510626,'罗江县',3,510600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510681,'广汉市',3,510600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510682,'什邡市',3,510600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510683,'绵竹市',3,510600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510700,'绵阳市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510703,'涪城区',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510704,'游仙区',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510705,'安州区',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510722,'三台县',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510723,'盐亭县',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510725,'梓潼县',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510726,'北川羌族自治县',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510727,'平武县',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510781,'江油市',3,510700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510800,'广元市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510802,'利州区',3,510800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510811,'昭化区',3,510800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510812,'朝天区',3,510800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510821,'旺苍县',3,510800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510822,'青川县',3,510800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510823,'剑阁县',3,510800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510824,'苍溪县',3,510800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510900,'遂宁市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510903,'船山区',3,510900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510904,'安居区',3,510900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510921,'蓬溪县',3,510900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510922,'射洪县',3,510900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+510923,'大英县',3,510900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511000,'内江市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511002,'市中区',3,511000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511011,'东兴区',3,511000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511024,'威远县',3,511000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511025,'资中县',3,511000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511028,'隆昌县',3,511000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511100,'乐山市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511102,'市中区',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511111,'沙湾区',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511112,'五通桥区',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511113,'金口河区',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511123,'犍为县',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511124,'井研县',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511126,'夹江县',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511129,'沐川县',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511132,'峨边彝族自治县',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511133,'马边彝族自治县',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511181,'峨眉山市',3,511100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511300,'南充市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511302,'顺庆区',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511303,'高坪区',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511304,'嘉陵区',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511321,'南部县',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511322,'营山县',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511323,'蓬安县',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511324,'仪陇县',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511325,'西充县',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511381,'阆中市',3,511300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511400,'眉山市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511402,'东坡区',3,511400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511403,'彭山区',3,511400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511421,'仁寿县',3,511400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511423,'洪雅县',3,511400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511424,'丹棱县',3,511400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511425,'青神县',3,511400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511500,'宜宾市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511502,'翠屏区',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511503,'南溪区',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511521,'宜宾县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511523,'江安县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511524,'长宁县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511525,'高县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511526,'珙县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511527,'筠连县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511528,'兴文县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511529,'屏山县',3,511500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511600,'广安市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511602,'广安区',3,511600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511603,'前锋区',3,511600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511621,'岳池县',3,511600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511622,'武胜县',3,511600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511623,'邻水县',3,511600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511681,'华蓥市',3,511600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511700,'达州市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511702,'通川区',3,511700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511703,'达川区',3,511700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511722,'宣汉县',3,511700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511723,'开江县',3,511700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511724,'大竹县',3,511700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511725,'渠县',3,511700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511781,'万源市',3,511700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511800,'雅安市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511802,'雨城区',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511803,'名山区',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511822,'荥经县',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511823,'汉源县',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511824,'石棉县',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511825,'天全县',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511826,'芦山县',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511827,'宝兴县',3,511800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511900,'巴中市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511902,'巴州区',3,511900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511903,'恩阳区',3,511900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511921,'通江县',3,511900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511922,'南江县',3,511900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+511923,'平昌县',3,511900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+512000,'资阳市',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+512002,'雁江区',3,512000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+512021,'安岳县',3,512000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+512022,'乐至县',3,512000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513200,'阿坝藏族羌族自治州',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513201,'马尔康市',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513221,'汶川县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513222,'理县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513223,'茂县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513224,'松潘县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513225,'九寨沟县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513226,'金川县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513227,'小金县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513228,'黑水县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513230,'壤塘县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513231,'阿坝县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513232,'若尔盖县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513233,'红原县',3,513200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513300,'甘孜藏族自治州',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513301,'康定市',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513322,'泸定县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513323,'丹巴县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513324,'九龙县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513325,'雅江县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513326,'道孚县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513327,'炉霍县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513328,'甘孜县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513329,'新龙县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513330,'德格县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513331,'白玉县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513332,'石渠县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513333,'色达县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513334,'理塘县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513335,'巴塘县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513336,'乡城县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513337,'稻城县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513338,'得荣县',3,513300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513400,'凉山彝族自治州',2,510000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513401,'西昌市',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513422,'木里藏族自治县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513423,'盐源县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513424,'德昌县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513425,'会理县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513426,'会东县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513427,'宁南县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513428,'普格县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513429,'布拖县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513430,'金阳县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513431,'昭觉县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513432,'喜德县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513433,'冕宁县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513434,'越西县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513435,'甘洛县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513436,'美姑县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+513437,'雷波县',3,513400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520000,'贵州省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520100,'贵阳市',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520102,'南明区',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520103,'云岩区',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520111,'花溪区',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520112,'乌当区',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520113,'白云区',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520115,'观山湖区',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520121,'开阳县',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520122,'息烽县',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520123,'修文县',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520181,'清镇市',3,520100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520200,'六盘水市',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520201,'钟山区',3,520200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520203,'六枝特区',3,520200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520221,'水城县',3,520200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520222,'盘县',3,520200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520300,'遵义市',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520302,'红花岗区',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520303,'汇川区',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520304,'播州区',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520322,'桐梓县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520323,'绥阳县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520324,'正安县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520325,'道真仡佬族苗族自治县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520326,'务川仡佬族苗族自治县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520327,'凤冈县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520328,'湄潭县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520329,'余庆县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520330,'习水县',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520381,'赤水市',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520382,'仁怀市',3,520300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520400,'安顺市',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520402,'西秀区',3,520400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520403,'平坝区',3,520400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520422,'普定县',3,520400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520423,'镇宁布依族苗族自治县',3,520400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520424,'关岭布依族苗族自治县',3,520400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520425,'紫云苗族布依族自治县',3,520400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520500,'毕节市',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520502,'七星关区',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520521,'大方县',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520522,'黔西县',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520523,'金沙县',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520524,'织金县',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520525,'纳雍县',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520526,'威宁彝族回族苗族自治县',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520527,'赫章县',3,520500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520600,'铜仁市',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520602,'碧江区',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520603,'万山区',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520621,'江口县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520622,'玉屏侗族自治县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520623,'石阡县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520624,'思南县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520625,'印江土家族苗族自治县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520626,'德江县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520627,'沿河土家族自治县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+520628,'松桃苗族自治县',3,520600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522300,'黔西南布依族苗族自治州',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522301,'兴义市',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522322,'兴仁县',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522323,'普安县',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522324,'晴隆县',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522325,'贞丰县',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522326,'望谟县',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522327,'册亨县',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522328,'安龙县',3,522300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522600,'黔东南苗族侗族自治州',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522601,'凯里市',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522622,'黄平县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522623,'施秉县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522624,'三穗县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522625,'镇远县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522626,'岑巩县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522627,'天柱县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522628,'锦屏县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522629,'剑河县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522630,'台江县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522631,'黎平县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522632,'榕江县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522633,'从江县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522634,'雷山县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522635,'麻江县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522636,'丹寨县',3,522600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522700,'黔南布依族苗族自治州',2,520000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522701,'都匀市',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522702,'福泉市',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522722,'荔波县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522723,'贵定县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522725,'瓮安县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522726,'独山县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522727,'平塘县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522728,'罗甸县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522729,'长顺县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522730,'龙里县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522731,'惠水县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+522732,'三都水族自治县',3,522700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530000,'云南省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530100,'昆明市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530102,'五华区',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530103,'盘龙区',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530111,'官渡区',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530112,'西山区',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530113,'东川区',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530114,'呈贡区',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530122,'晋宁县',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530124,'富民县',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530125,'宜良县',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530126,'石林彝族自治县',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530127,'嵩明县',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530128,'禄劝彝族苗族自治县',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530129,'寻甸回族彝族自治县',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530181,'安宁市',3,530100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530300,'曲靖市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530302,'麒麟区',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530303,'沾益区',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530321,'马龙县',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530322,'陆良县',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530323,'师宗县',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530324,'罗平县',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530325,'富源县',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530326,'会泽县',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530381,'宣威市',3,530300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530400,'玉溪市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530402,'红塔区',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530403,'江川区',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530422,'澄江县',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530423,'通海县',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530424,'华宁县',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530425,'易门县',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530426,'峨山彝族自治县',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530427,'新平彝族傣族自治县',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530428,'元江哈尼族彝族傣族自治县',3,530400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530500,'保山市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530502,'隆阳区',3,530500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530521,'施甸县',3,530500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530523,'龙陵县',3,530500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530524,'昌宁县',3,530500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530581,'腾冲市',3,530500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530600,'昭通市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530602,'昭阳区',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530621,'鲁甸县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530622,'巧家县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530623,'盐津县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530624,'大关县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530625,'永善县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530626,'绥江县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530627,'镇雄县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530628,'彝良县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530629,'威信县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530630,'水富县',3,530600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530700,'丽江市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530702,'古城区',3,530700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530721,'玉龙纳西族自治县',3,530700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530722,'永胜县',3,530700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530723,'华坪县',3,530700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530724,'宁蒗彝族自治县',3,530700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530800,'普洱市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530802,'思茅区',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530821,'宁洱哈尼族彝族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530822,'墨江哈尼族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530823,'景东彝族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530824,'景谷傣族彝族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530825,'镇沅彝族哈尼族拉祜族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530826,'江城哈尼族彝族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530827,'孟连傣族拉祜族佤族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530828,'澜沧拉祜族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530829,'西盟佤族自治县',3,530800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530900,'临沧市',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530902,'临翔区',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530921,'凤庆县',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530922,'云县',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530923,'永德县',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530924,'镇康县',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530925,'双江拉祜族佤族布朗族傣族自治县',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530926,'耿马傣族佤族自治县',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+530927,'沧源佤族自治县',3,530900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532300,'楚雄彝族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532301,'楚雄市',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532322,'双柏县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532323,'牟定县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532324,'南华县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532325,'姚安县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532326,'大姚县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532327,'永仁县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532328,'元谋县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532329,'武定县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532331,'禄丰县',3,532300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532500,'红河哈尼族彝族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532501,'个旧市',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532502,'开远市',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532503,'蒙自市',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532504,'弥勒市',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532523,'屏边苗族自治县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532524,'建水县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532525,'石屏县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532527,'泸西县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532528,'元阳县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532529,'红河县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532530,'金平苗族瑶族傣族自治县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532531,'绿春县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532532,'河口瑶族自治县',3,532500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532600,'文山壮族苗族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532601,'文山市',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532622,'砚山县',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532623,'西畴县',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532624,'麻栗坡县',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532625,'马关县',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532626,'丘北县',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532627,'广南县',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532628,'富宁县',3,532600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532800,'西双版纳傣族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532801,'景洪市',3,532800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532822,'勐海县',3,532800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532823,'勐腊县',3,532800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532900,'大理白族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532901,'大理市',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532922,'漾濞彝族自治县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532923,'祥云县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532924,'宾川县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532925,'弥渡县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532926,'南涧彝族自治县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532927,'巍山彝族回族自治县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532928,'永平县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532929,'云龙县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532930,'洱源县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532931,'剑川县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+532932,'鹤庆县',3,532900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533100,'德宏傣族景颇族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533102,'瑞丽市',3,533100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533103,'芒市',3,533100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533122,'梁河县',3,533100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533123,'盈江县',3,533100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533124,'陇川县',3,533100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533300,'怒江傈僳族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533301,'泸水市',3,533300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533323,'福贡县',3,533300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533324,'贡山独龙族怒族自治县',3,533300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533325,'兰坪白族普米族自治县',3,533300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533400,'迪庆藏族自治州',2,530000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533401,'香格里拉市',3,533400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533422,'德钦县',3,533400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+533423,'维西傈僳族自治县',3,533400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540000,'西藏自治区',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540100,'拉萨市',2,540000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540102,'城关区',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540103,'堆龙德庆区',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540121,'林周县',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540122,'当雄县',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540123,'尼木县',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540124,'曲水县',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540126,'达孜县',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540127,'墨竹工卡县',3,540100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540200,'日喀则市',2,540000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540202,'桑珠孜区',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540221,'南木林县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540222,'江孜县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540223,'定日县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540224,'萨迦县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540225,'拉孜县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540226,'昂仁县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540227,'谢通门县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540228,'白朗县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540229,'仁布县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540230,'康马县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540231,'定结县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540232,'仲巴县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540233,'亚东县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540234,'吉隆县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540235,'聂拉木县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540236,'萨嘎县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540237,'岗巴县',3,540200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540300,'昌都市',2,540000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540302,'卡若区',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540321,'江达县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540322,'贡觉县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540323,'类乌齐县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540324,'丁青县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540325,'察雅县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540326,'八宿县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540327,'左贡县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540328,'芒康县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540329,'洛隆县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540330,'边坝县',3,540300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540400,'林芝市',2,540000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540402,'巴宜区',3,540400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540421,'工布江达县',3,540400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540422,'米林县',3,540400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540423,'墨脱县',3,540400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540424,'波密县',3,540400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540425,'察隅县',3,540400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540426,'朗县',3,540400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540500,'山南市',2,540000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540502,'乃东区',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540521,'扎囊县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540522,'贡嘎县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540523,'桑日县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540524,'琼结县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540525,'曲松县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540526,'措美县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540527,'洛扎县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540528,'加查县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540529,'隆子县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540530,'错那县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+540531,'浪卡子县',3,540500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542400,'那曲地区',2,540000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542421,'那曲县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542422,'嘉黎县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542423,'比如县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542424,'聂荣县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542425,'安多县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542426,'申扎县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542427,'索县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542428,'班戈县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542429,'巴青县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542430,'尼玛县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542431,'双湖县',3,542400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542500,'阿里地区',2,540000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542521,'普兰县',3,542500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542522,'札达县',3,542500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542523,'噶尔县',3,542500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542524,'日土县',3,542500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542525,'革吉县',3,542500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542526,'改则县',3,542500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+542527,'措勤县',3,542500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610000,'陕西省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610100,'西安市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610102,'新城区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610103,'碑林区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610104,'莲湖区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610111,'灞桥区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610112,'未央区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610113,'雁塔区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610114,'阎良区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610115,'临潼区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610116,'长安区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610117,'高陵区',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610122,'蓝田县',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610124,'周至县',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610125,'户县',3,610100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610200,'铜川市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610202,'王益区',3,610200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610203,'印台区',3,610200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610204,'耀州区',3,610200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610222,'宜君县',3,610200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610300,'宝鸡市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610302,'渭滨区',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610303,'金台区',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610304,'陈仓区',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610322,'凤翔县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610323,'岐山县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610324,'扶风县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610326,'眉县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610327,'陇县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610328,'千阳县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610329,'麟游县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610330,'凤县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610331,'太白县',3,610300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610400,'咸阳市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610402,'秦都区',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610403,'杨陵区',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610404,'渭城区',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610422,'三原县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610423,'泾阳县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610424,'乾县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610425,'礼泉县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610426,'永寿县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610427,'彬县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610428,'长武县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610429,'旬邑县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610430,'淳化县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610431,'武功县',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610481,'兴平市',3,610400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610500,'渭南市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610502,'临渭区',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610503,'华州区',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610522,'潼关县',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610523,'大荔县',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610524,'合阳县',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610525,'澄城县',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610526,'蒲城县',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610527,'白水县',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610528,'富平县',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610581,'韩城市',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610582,'华阴市',3,610500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610600,'延安市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610602,'宝塔区',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610603,'安塞区',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610621,'延长县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610622,'延川县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610623,'子长县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610625,'志丹县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610626,'吴起县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610627,'甘泉县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610628,'富县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610629,'洛川县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610630,'宜川县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610631,'黄龙县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610632,'黄陵县',3,610600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610700,'汉中市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610702,'汉台区',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610721,'南郑县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610722,'城固县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610723,'洋县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610724,'西乡县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610725,'勉县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610726,'宁强县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610727,'略阳县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610728,'镇巴县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610729,'留坝县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610730,'佛坪县',3,610700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610800,'榆林市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610802,'榆阳区',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610803,'横山区',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610821,'神木县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610822,'府谷县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610824,'靖边县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610825,'定边县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610826,'绥德县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610827,'米脂县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610828,'佳县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610829,'吴堡县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610830,'清涧县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610831,'子洲县',3,610800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610900,'安康市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610902,'汉滨区',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610921,'汉阴县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610922,'石泉县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610923,'宁陕县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610924,'紫阳县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610925,'岚皋县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610926,'平利县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610927,'镇坪县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610928,'旬阳县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+610929,'白河县',3,610900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611000,'商洛市',2,610000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611002,'商州区',3,611000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611021,'洛南县',3,611000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611022,'丹凤县',3,611000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611023,'商南县',3,611000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611024,'山阳县',3,611000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611025,'镇安县',3,611000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+611026,'柞水县',3,611000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620000,'甘肃省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620100,'兰州市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620102,'城关区',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620103,'七里河区',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620104,'西固区',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620105,'安宁区',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620111,'红古区',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620121,'永登县',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620122,'皋兰县',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620123,'榆中县',3,620100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620200,'嘉峪关市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620300,'金昌市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620302,'金川区',3,620300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620321,'永昌县',3,620300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620400,'白银市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620402,'白银区',3,620400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620403,'平川区',3,620400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620421,'靖远县',3,620400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620422,'会宁县',3,620400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620423,'景泰县',3,620400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620500,'天水市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620502,'秦州区',3,620500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620503,'麦积区',3,620500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620521,'清水县',3,620500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620522,'秦安县',3,620500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620523,'甘谷县',3,620500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620524,'武山县',3,620500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620525,'张家川回族自治县',3,620500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620600,'武威市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620602,'凉州区',3,620600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620621,'民勤县',3,620600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620622,'古浪县',3,620600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620623,'天祝藏族自治县',3,620600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620700,'张掖市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620702,'甘州区',3,620700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620721,'肃南裕固族自治县',3,620700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620722,'民乐县',3,620700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620723,'临泽县',3,620700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620724,'高台县',3,620700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620725,'山丹县',3,620700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620800,'平凉市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620802,'崆峒区',3,620800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620821,'泾川县',3,620800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620822,'灵台县',3,620800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620823,'崇信县',3,620800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620824,'华亭县',3,620800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620825,'庄浪县',3,620800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620826,'静宁县',3,620800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620900,'酒泉市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620902,'肃州区',3,620900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620921,'金塔县',3,620900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620922,'瓜州县',3,620900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620923,'肃北蒙古族自治县',3,620900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620924,'阿克塞哈萨克族自治县',3,620900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620981,'玉门市',3,620900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+620982,'敦煌市',3,620900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621000,'庆阳市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621002,'西峰区',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621021,'庆城县',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621022,'环县',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621023,'华池县',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621024,'合水县',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621025,'正宁县',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621026,'宁县',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621027,'镇原县',3,621000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621100,'定西市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621102,'安定区',3,621100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621121,'通渭县',3,621100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621122,'陇西县',3,621100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621123,'渭源县',3,621100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621124,'临洮县',3,621100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621125,'漳县',3,621100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621126,'岷县',3,621100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621200,'陇南市',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621202,'武都区',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621221,'成县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621222,'文县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621223,'宕昌县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621224,'康县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621225,'西和县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621226,'礼县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621227,'徽县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+621228,'两当县',3,621200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622900,'临夏回族自治州',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622901,'临夏市',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622921,'临夏县',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622922,'康乐县',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622923,'永靖县',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622924,'广河县',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622925,'和政县',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622926,'东乡族自治县',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+622927,'积石山保安族东乡族撒拉族自治县',3,622900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623000,'甘南藏族自治州',2,620000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623001,'合作市',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623021,'临潭县',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623022,'卓尼县',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623023,'舟曲县',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623024,'迭部县',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623025,'玛曲县',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623026,'碌曲县',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+623027,'夏河县',3,623000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630000,'青海省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630100,'西宁市',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630102,'城东区',3,630100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630103,'城中区',3,630100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630104,'城西区',3,630100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630105,'城北区',3,630100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630121,'大通回族土族自治县',3,630100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630122,'湟中县',3,630100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630123,'湟源县',3,630100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630200,'海东市',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630202,'乐都区',3,630200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630203,'平安区',3,630200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630222,'民和回族土族自治县',3,630200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630223,'互助土族自治县',3,630200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630224,'化隆回族自治县',3,630200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+630225,'循化撒拉族自治县',3,630200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632200,'海北藏族自治州',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632221,'门源回族自治县',3,632200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632222,'祁连县',3,632200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632223,'海晏县',3,632200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632224,'刚察县',3,632200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632300,'黄南藏族自治州',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632321,'同仁县',3,632300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632322,'尖扎县',3,632300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632323,'泽库县',3,632300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632324,'河南蒙古族自治县',3,632300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632500,'海南藏族自治州',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632521,'共和县',3,632500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632522,'同德县',3,632500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632523,'贵德县',3,632500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632524,'兴海县',3,632500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632525,'贵南县',3,632500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632600,'果洛藏族自治州',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632621,'玛沁县',3,632600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632622,'班玛县',3,632600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632623,'甘德县',3,632600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632624,'达日县',3,632600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632625,'久治县',3,632600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632626,'玛多县',3,632600);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632700,'玉树藏族自治州',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632701,'玉树市',3,632700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632722,'杂多县',3,632700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632723,'称多县',3,632700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632724,'治多县',3,632700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632725,'囊谦县',3,632700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632726,'曲麻莱县',3,632700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632800,'海西蒙古族藏族自治州',2,630000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632801,'格尔木市',3,632800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632802,'德令哈市',3,632800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632821,'乌兰县',3,632800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632822,'都兰县',3,632800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+632823,'天峻县',3,632800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640000,'宁夏回族自治区',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640100,'银川市',2,640000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640104,'兴庆区',3,640100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640105,'西夏区',3,640100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640106,'金凤区',3,640100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640121,'永宁县',3,640100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640122,'贺兰县',3,640100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640181,'灵武市',3,640100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640200,'石嘴山市',2,640000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640202,'大武口区',3,640200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640205,'惠农区',3,640200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640221,'平罗县',3,640200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640300,'吴忠市',2,640000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640302,'利通区',3,640300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640303,'红寺堡区',3,640300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640323,'盐池县',3,640300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640324,'同心县',3,640300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640381,'青铜峡市',3,640300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640400,'固原市',2,640000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640402,'原州区',3,640400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640422,'西吉县',3,640400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640423,'隆德县',3,640400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640424,'泾源县',3,640400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640425,'彭阳县',3,640400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640500,'中卫市',2,640000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640502,'沙坡头区',3,640500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640521,'中宁县',3,640500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+640522,'海原县',3,640500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650000,'新疆维吾尔自治区',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650100,'乌鲁木齐市',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650102,'天山区',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650103,'沙依巴克区',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650104,'新市区',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650105,'水磨沟区',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650106,'头屯河区',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650107,'达坂城区',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650109,'米东区',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650121,'乌鲁木齐县',3,650100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650200,'克拉玛依市',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650202,'独山子区',3,650200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650203,'克拉玛依区',3,650200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650204,'白碱滩区',3,650200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650205,'乌尔禾区',3,650200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650400,'吐鲁番市',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650402,'高昌区',3,650400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650421,'鄯善县',3,650400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650422,'托克逊县',3,650400);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650500,'哈密市',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650502,'伊州区',3,650500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650521,'巴里坤哈萨克自治县',3,650500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+650522,'伊吾县',3,650500);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652300,'昌吉回族自治州',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652301,'昌吉市',3,652300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652302,'阜康市',3,652300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652323,'呼图壁县',3,652300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652324,'玛纳斯县',3,652300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652325,'奇台县',3,652300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652327,'吉木萨尔县',3,652300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652328,'木垒哈萨克自治县',3,652300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652700,'博尔塔拉蒙古自治州',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652701,'博乐市',3,652700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652702,'阿拉山口市',3,652700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652722,'精河县',3,652700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652723,'温泉县',3,652700);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652800,'巴音郭楞蒙古自治州',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652801,'库尔勒市',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652822,'轮台县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652823,'尉犁县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652824,'若羌县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652825,'且末县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652826,'焉耆回族自治县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652827,'和静县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652828,'和硕县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652829,'博湖县',3,652800);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652900,'阿克苏地区',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652901,'阿克苏市',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652922,'温宿县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652923,'库车县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652924,'沙雅县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652925,'新和县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652926,'拜城县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652927,'乌什县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652928,'阿瓦提县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+652929,'柯坪县',3,652900);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653000,'克孜勒苏柯尔克孜自治州',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653001,'阿图什市',3,653000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653022,'阿克陶县',3,653000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653023,'阿合奇县',3,653000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653024,'乌恰县',3,653000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653100,'喀什地区',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653101,'喀什市',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653121,'疏附县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653122,'疏勒县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653123,'英吉沙县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653124,'泽普县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653125,'莎车县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653126,'叶城县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653127,'麦盖提县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653128,'岳普湖县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653129,'伽师县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653130,'巴楚县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653131,'塔什库尔干塔吉克自治县',3,653100);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653200,'和田地区',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653201,'和田市',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653221,'和田县',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653222,'墨玉县',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653223,'皮山县',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653224,'洛浦县',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653225,'策勒县',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653226,'于田县',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+653227,'民丰县',3,653200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654000,'伊犁哈萨克自治州',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654002,'伊宁市',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654003,'奎屯市',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654004,'霍尔果斯市',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654021,'伊宁县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654022,'察布查尔锡伯自治县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654023,'霍城县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654024,'巩留县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654025,'新源县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654026,'昭苏县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654027,'特克斯县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654028,'尼勒克县',3,654000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654200,'塔城地区',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654201,'塔城市',3,654200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654202,'乌苏市',3,654200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654221,'额敏县',3,654200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654223,'沙湾县',3,654200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654224,'托里县',3,654200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654225,'裕民县',3,654200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654226,'和布克赛尔蒙古自治县',3,654200);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654300,'阿勒泰地区',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654301,'阿勒泰市',3,654300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654321,'布尔津县',3,654300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654322,'富蕴县',3,654300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654323,'福海县',3,654300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654324,'哈巴河县',3,654300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654325,'青河县',3,654300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+654326,'吉木乃县',3,654300);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+659000,'自治区直辖县级行政区划',2,650000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+659001,'石河子市',3,659000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+659002,'阿拉尔市',3,659000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+659003,'图木舒克市',3,659000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+659004,'五家渠市',3,659000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+659006,'铁门关市',3,659000);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+710000,'台湾省',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+810000,'香港特别行政区',1,NULL);
+INSERT INTO ch_t_d_areainfo (id,name,arealevel,parent_id) VALUES (
+820000,'澳门特别行政区',1,NULL);

+ 8 - 0
server/db/sqlite/exa_customers.sql

@@ -0,0 +1,8 @@
+INSERT INTO exa_customers (id,created_at,updated_at,deleted_at,customer_name,customer_phone_data,sys_user_id,sys_user_authority_id) VALUES (
+1,1582624908000,1586492969000,NULL,'测试客户','1761111111',10,'888');
+INSERT INTO exa_customers (id,created_at,updated_at,deleted_at,customer_name,customer_phone_data,sys_user_id,sys_user_authority_id) VALUES (
+2,1586492753000,1586492753000,1586497436000,'test','123123123',10,'888');
+INSERT INTO exa_customers (id,created_at,updated_at,deleted_at,customer_name,customer_phone_data,sys_user_id,sys_user_authority_id) VALUES (
+3,1586497452000,1586497452000,1586497453000,'123123','123123',10,'888');
+INSERT INTO exa_customers (id,created_at,updated_at,deleted_at,customer_name,customer_phone_data,sys_user_id,sys_user_authority_id) VALUES (
+4,1586497630000,1586497630000,1586497632000,'22222222','222222222222222',10,'888');

+ 0 - 0
server/db/sqlite/exa_file_chunks.sql


+ 10 - 0
server/db/sqlite/exa_file_upload_and_downloads.sql

@@ -0,0 +1,10 @@
+INSERT INTO exa_file_upload_and_downloads (id,created_at,updated_at,deleted_at,name,url,tag,"key") VALUES (
+7,1572101192000,1572101192000,NULL,'logo.png','http://qmplusimg.henrongyi.top/1572101191logo.png','png','1572101191logo.png');
+INSERT INTO exa_file_upload_and_downloads (id,created_at,updated_at,deleted_at,name,url,tag,"key") VALUES (
+10,1572102644000,1572102644000,NULL,'logo.png','http://qmplusimg.henrongyi.top/1572102643logo.png','png','1572102643logo.png');
+INSERT INTO exa_file_upload_and_downloads (id,created_at,updated_at,deleted_at,name,url,tag,"key") VALUES (
+12,1572102848000,1572102848000,NULL,'logo.png','http://qmplusimg.henrongyi.top/1572102846logo.png','png','1572102846logo.png');
+INSERT INTO exa_file_upload_and_downloads (id,created_at,updated_at,deleted_at,name,url,tag,"key") VALUES (
+13,1572103097000,1572103097000,NULL,'logo.png','http://qmplusimg.henrongyi.top/1572103096logo.png','png','1572103096logo.png');
+INSERT INTO exa_file_upload_and_downloads (id,created_at,updated_at,deleted_at,name,url,tag,"key") VALUES (
+15,1576391460000,1576391460000,NULL,'logo.png','http://qmplusimg.henrongyi.top/1576391451logo.png','png','1576391451logo.png');

+ 0 - 0
server/db/sqlite/exa_files.sql


+ 72 - 0
server/db/sqlite/jwt_blacklists.sql

@@ -0,0 +1,72 @@
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+3,1577528945000,1577528945000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MTMzNzM2LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc1Mjc5MzZ9.T7ikGw-lgAAQlfMne7zPIF-PlfQMg37uBCYJ24Y_B38');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+4,1577529062000,1577529062000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MTMzODUzLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc1MjgwNTN9.tDzUm4KNFeJCErNfZGfuF2tcuolga2f_2dE0nTl_UZU');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+5,1577529085000,1577529085000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MTMzODcwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc1MjgwNzB9.mspXy9sqQO_5PusPReLalodo_ybWRKxb3Ownf2r2HxE');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+6,1577686810000,1577686810000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkxNTc2LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODU3NzZ9.AR2KYShboFKsHTjwohxEkA3lytttfZqRH849sl2fNdw');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+7,1577686874000,1577686874000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkxNjE2LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODU4MTZ9.h8zbDVHM_QbBI-ejGXeQpw0S9oYHJyP4U-TwsVFus9Q');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+8,1577686917000,1577686917000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkxNjgxLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODU4ODF9.CSjolDGVpU0g7YG6TaPAlWAMdhtvnBhAi-XYYWZ6RLo');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+9,1577687101000,1577687101000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkxODIyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODYwMjJ9.Y_s22Vh5J2ah6Kh1nZQQ8XIQspbT4I7tzc_YJqWrRWM');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+10,1577687366000,1577687366000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkyMTU0LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODYzNTR9.4HJdx-sfYE5TUUefdwi3yZ6dY_jG7WwEC_55WuGawY8');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+11,1577688223000,1577688223000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkyMTcwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODYzNzB9.YEhupQVwjMVBB2eAcAoGG-vJczoxuUyn6KR-tDWU86I');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+12,1577688913000,1577688913000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkzMDI3LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODcyMjd9.r_sE_Z31cFdS2nCf3iyQjuiZe0Z3HPR07wKBGlUHsnk');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+13,1577689111000,1577689111000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkzNzY2LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODc5NjZ9.dYFlmyIKQZjzTCKu56wCmxXiW6zOayN_YgygCcvCyLk');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+14,1577689118000,1577689118000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkzOTEwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODgxMTB9.pPmzsHU4UceZuPFT_G-SDdxe6FD3MuL47HkovpI-_0c');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+15,1577689138000,1577689138000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4MjkzOTE4LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1Nzc2ODgxMTh9.irf98R0belbXtb8x9SxsvuhiYsbHMPbHbFDxaaH0z6Q');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+16,1578299551000,1578299551000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTAzMjk5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTc0OTl9.jgLfjvek7sQyuZ2TABQvLOyu_ifNw_KYzfY3VTLL4fw');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+17,1578299588000,1578299588000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA0MzU4LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTg1NTh9.89r6xHZUBDjfmNpmF02RjQXYTBGUiJvOEDP8pydNt-A');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+18,1578299598000,1578299598000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA0MzkyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTg1OTJ9.6Yv9ZYhN-TH9H4SoZEAkjevKVX0vLHL1lVQGFpfBr2U');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+19,1578299766000,1578299766000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA0NDA5LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTg2MDl9._9zRRK76XH_KgrW1X9P5GTLW9dwfIixB4QUsC7M3RHA');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+20,1578300246000,1578300246000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA0NTcxLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTg3NzF9.5ki0TZooCorK81xWpYa-OO3RR-Bpp5am_uNCNPh4250');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+21,1578300350000,1578300350000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1MDUwLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTkyNTB9.A0n5faE0X0TyRb_1RvAQBLooY-peapPTD0LnJD03Ul0');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+22,1578300384000,1578300384000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1MTU0LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTkzNTR9.VtqTOJ-MQY2K3w4tM7HgT0z73CEOd3CDqmYqKCjXxnc');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+23,1578300440000,1578300440000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1MTg3LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTkzODd9.fwL1QakF30SHSaGDkPo3weIg0l7kiAGwNq_fKsFxquc');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+24,1578300477000,1578300477000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1MjQ0LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk0NDR9.VoKdA0-brmUlQ5bYufIdMWrS-cCQ2ARm7_jeVtfvCpc');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+25,1578300548000,1578300548000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1Mjg1LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk0ODV9.a8-zmyIlJJGdonhXAzNvNH9C-nMa-Voq4bhTbiVKJzE');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+26,1578300572000,1578300572000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1MzUyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk1NTJ9.l4e3rjtrDgRsqnQwizJ-ZXVUVM8ywSJcNJkkEVYbdzU');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+27,1578300598000,1578300598000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1Mzc3LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk1Nzd9.mXUPYvmXbntrdywpBNM0j9sP991cwfhc9b0KvUM4dG4');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+28,1578300656000,1578300656000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1NDExLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk2MTF9.Z21e8nWHKV5XvYg61CZCz3nMK25m_FmlxncxGMpMS0k');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+29,1578300723000,1578300723000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1NDY0LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk2NjR9.qzptIyCcL_SPm6TGwXML8Rih3qYqj9GLUpWzTpSPPuI');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+30,1578300756000,1578300756000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1NTI3LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk3Mjd9.D9e8qbx44CLX0ZInwNlIqTGS_sSE069TRIDkQAk7tVY');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+31,1578300875000,1578300875000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1NTY1LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk3NjV9.D4EZmVAJ96kxcyIfWkT_LA81t1JCuQZcYmQkkoNhtPo');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+32,1578300940000,1578300940000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1NjgzLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk4ODN9.SJL2fFMbe5VL2YWBzMlrhxbBIJhIHTUeodkEpgH1Xgo');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+33,1578301048000,1578301048000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1NzU4LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgyOTk5NTh9.6y12UkOeW7vz7gGTcYaN3Y-2Ut2QmjgU9WEuy_pneGM');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+34,1578301142000,1578301142000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1ODU1LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgzMDAwNTV9.G0q9X7Ld3cN_BO-K219b7tFAHgtpiAwqLPoxVNKsEl8');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+35,1578301166000,1578301166000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTc4OTA1OTQ2LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1NzgzMDAxNDZ9.cmBgWiztsnh7zF3OUNIDQKv8wzGJF7fllUv-4LlYxu8');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+36,1584773174000,1584773174000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg1Mzc3ODY3LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODQ3NzIwNjd9.DLhWhD1FdcWLyFLcXQynKJnenbVHrSiKhlDGFRzgo5k');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+37,1585635875000,1585635875000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2MTM4MTA4LCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODU1MzIzMDh9.Ro2F2dZLfOk2Z_OPRbweOuCpchr6HlHfQIF5qjfc8y4');
+INSERT INTO jwt_blacklists (id,created_at,updated_at,deleted_at,jwt) VALUES (
+38,1585728477000,1585728477000,NULL,'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVVUlEIjoiY2UwZDY2ODUtYzE1Zi00MTI2LWE1YjQtODkwYmM5ZDIzNTZkIiwiSUQiOjEwLCJOaWNrTmFtZSI6Iui2hee6p-euoeeQhuWRmCIsIkF1dGhvcml0eUlkIjoiODg4IiwiZXhwIjoxNTg2MjQwNzQyLCJpc3MiOiJxbVBsdXMiLCJuYmYiOjE1ODU2MzQ5NDJ9.9qaOFu7D5cq4vxTfLi4pyO_JGcKjVAEJIcoStJWJlYg');

+ 82 - 0
server/db/sqlite/sys_apis.sql

@@ -0,0 +1,82 @@
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+1,1569641029000,1569661576000,NULL,NULL,'/base/login','用户登录','base','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+2,1569641566000,1569661571000,NULL,NULL,'/base/register','用户注册','base','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+3,1569641621000,1576054301000,NULL,NULL,'/api/createApi','创建api','api','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+4,1569650944000,1569661559000,NULL,NULL,'/api/getApiList','获取api列表','api','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+5,1569651350000,1569661553000,NULL,NULL,'/api/getApiById','获取api详细信息','api','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+7,1569651566000,1569661544000,NULL,NULL,'/api/deleteApi','删除Api','api','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+8,1569651588000,1569661539000,NULL,NULL,'/api/updateApi','更新Api','api','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+10,1569827138000,1569827138000,NULL,NULL,'/api/getAllApis','获取所有api','api','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+11,1569828189000,1569828189000,NULL,NULL,'/authority/createAuthority','创建角色','authority','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+12,1569828213000,1569828213000,NULL,NULL,'/authority/deleteAuthority','删除角色','authority','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+13,1569828237000,1569828237000,NULL,NULL,'/authority/getAuthorityList','获取角色列表','authority','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+14,1569828260000,1569828260000,NULL,NULL,'/menu/getMenu','获取菜单树','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+15,1569828290000,1569828290000,NULL,NULL,'/menu/getMenuList','分页获取基础menu列表','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+16,1569828307000,1569828307000,NULL,NULL,'/menu/addBaseMenu','新增菜单','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+17,1569828325000,1569828325000,NULL,NULL,'/menu/getBaseMenuTree','获取用户动态路由','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+18,1569828353000,1569828353000,NULL,NULL,'/menu/addMenuAuthority','增加menu和角色关联关系','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+19,1569828380000,1569828380000,NULL,NULL,'/menu/getMenuAuthority','获取指定角色menu','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+20,1569828403000,1569828403000,NULL,NULL,'/menu/deleteBaseMenu','删除菜单','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+21,1569828485000,1569828485000,NULL,NULL,'/menu/updateBaseMenu','更新菜单','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+22,1569828501000,1569828501000,NULL,NULL,'/menu/getBaseMenuById','根据id获取菜单','menu','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+23,1569828559000,1569828559000,NULL,NULL,'/user/changePassword','修改密码','user','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+24,1569828573000,1569828573000,NULL,NULL,'/user/uploadHeaderImg','上传头像','user','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+25,1569828600000,1569828600000,NULL,NULL,'/user/getInfoList','分页获取用户列表','user','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+28,1570605317000,1570605427000,NULL,NULL,'/user/getUserList','获取用户列表','user','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+29,1570633300000,1570633300000,NULL,NULL,'/user/setUserAuthority','修改用户角色','user','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+30,1572092078000,1572092078000,NULL,NULL,'/fileUploadAndDownload/upload','文件上传示例','fileUploadAndDownload','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+31,1572092099000,1572092099000,NULL,NULL,'/fileUploadAndDownload/getFileList','获取上传文件列表','fileUploadAndDownload','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+32,1576128527000,1576128527000,NULL,NULL,'/casbin/updateCasbin','更改角色api权限','casbin','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+33,1576128539000,1576128539000,NULL,NULL,'/casbin/getPolicyPathByAuthorityId','获取权限列表','casbin','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+34,1576141335000,1576141335000,NULL,NULL,'/fileUploadAndDownload/deleteFile','删除文件','fileUploadAndDownload','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+35,1577528287000,1577528287000,NULL,NULL,'/jwt/jsonInBlacklist','jwt加入黑名单','jwt','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+36,1578304596000,1578304596000,NULL,NULL,'/authority/setDataAuthority','设置角色资源权限','authority','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+37,1578895445000,1578895445000,NULL,NULL,'/system/getSystemConfig','获取配置文件内容','system','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+38,1578898926000,1578898926000,NULL,NULL,'/system/setSystemConfig','设置配置文件内容','system','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+39,1582615959000,1582615959000,NULL,NULL,'/customer/customer','创建客户','customer','POST');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+40,1582615971000,1582616096000,NULL,NULL,'/customer/customer','更新客户','customer','PUT');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+41,1582616037000,1582616037000,NULL,NULL,'/customer/customer','删除客户','customer','DELETE');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+42,1582616208000,1582616236000,NULL,NULL,'/customer/customer','获取单一客户','customer','GET');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+43,1582616226000,1582616226000,NULL,NULL,'/customer/customerList','获取客户列表','customer','GET');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+44,1583995014000,1583996210000,NULL,NULL,'/casbin/casbinTest/:pathParam','RESTFUL模式测试','casbin','GET');
+INSERT INTO sys_apis (id,created_at,updated_at,deleted_at,authority_id,"path",description,api_group,"method") VALUES (
+45,1585494088000,1585494088000,NULL,NULL,'/autoCode/createTemp','自动化代码','autoCode','POST');

+ 6 - 0
server/db/sqlite/sys_authorities.sql

@@ -0,0 +1,6 @@
+INSERT INTO sys_authorities (authority_id,authority_name,parent_id,created_at,updated_at,deleted_at) VALUES (
+'888','普通用户','0',1585971896000,NULL,NULL);
+INSERT INTO sys_authorities (authority_id,authority_name,parent_id,created_at,updated_at,deleted_at) VALUES (
+'8881','普通用户子角色','888',1585971896000,NULL,NULL);
+INSERT INTO sys_authorities (authority_id,authority_name,parent_id,created_at,updated_at,deleted_at) VALUES (
+'9528','测试角色','0',1585971896000,NULL,NULL);

+ 94 - 0
server/db/sqlite/sys_authority_menus.sql

@@ -0,0 +1,94 @@
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',1);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',2);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',3);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',4);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',5);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',6);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',17);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',18);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',19);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',20);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',21);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',22);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',23);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',26);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',33);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',34);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',38);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',40);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',41);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'888',42);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'8881',1);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'8881',2);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'8881',18);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'8881',38);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'8881',40);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'8881',41);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'8881',42);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',1);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',2);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',3);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',4);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',5);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',6);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',17);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',18);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',19);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',20);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',21);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',22);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',23);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',26);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',33);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',34);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',38);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',40);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',41);
+INSERT INTO sys_authority_menus (sys_authority_authority_id,sys_base_menu_id) VALUES (
+'9528',42);

+ 40 - 0
server/db/sqlite/sys_base_menus.sql

@@ -0,0 +1,40 @@
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+1,1568901918000,1586267284000,NULL,0,0,'dashboard','dashboard',0,'view/dashboard/index.vue','仪表盘','setting','仪表盘',1);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+2,1568901977000,1585312438000,NULL,0,0,'test','test',0,'view/test/index.vue','测试菜单','info','测试菜单',2);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+3,1568901998000,1576140691000,NULL,0,0,'admin','superAdmin',0,'view/superAdmin/index.vue','超级管理员','user-solid','超级管理员',3);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+4,1568902313000,1568902313000,NULL,0,3,'authority','authority',0,'view/superAdmin/authority/authority.vue','角色管理','s-custom','角色管理',1);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+5,1568902398000,1576141040000,NULL,0,3,'menu','menu',0,'view/superAdmin/menu/menu.vue','菜单管理','s-order','菜单管理',2);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+6,1568902416000,1576141050000,NULL,0,3,'api','api',0,'view/superAdmin/api/api.vue','api管理','s-platform','api管理',3);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+17,1570605149000,1576141045000,NULL,0,3,'user','user',0,'view/superAdmin/user/user.vue','用户管理','coordinate','用户管理',4);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+18,1571149642000,1576140693000,NULL,0,0,'person','person',1,'view/person/person.vue','个人信息','user-solid','个人信息',4);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+19,1571541282000,1585489158000,NULL,0,0,'example','example',0,'view/example/index.vue','示例文件','s-management','示例文件',6);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+20,1571541491000,1571541491000,NULL,0,19,'table','table',0,'view/example/table/table.vue','表格示例','s-order','表格示例',1);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+21,1571541592000,1576141095000,NULL,0,19,'form','form',0,'view/example/form/form.vue','表单示例','document','表单示例',2);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+22,1571541739000,1576141100000,NULL,0,19,'rte','rte',0,'view/example/rte/rte.vue','富文本编辑器','reading','富文本编辑器',3);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+23,1571541819000,1576141103000,NULL,0,19,'excel','excel',0,'view/example/excel/excel.vue','excel导入导出','s-marketing','excel导入导出',4);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+26,1571542022000,1576141107000,NULL,0,19,'upload','upload',0,'view/example/upload/upload.vue','上传下载','upload','上传下载',5);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+33,1581927647000,1582544740000,NULL,0,19,'breakpoint','breakpoint',0,'view/example/breakpoint/breakpoint.vue','断点续传','upload','断点续传',6);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+34,1582544917000,1585311002000,NULL,0,19,'customer','customer',0,'view/example/customer/customer.vue','客户列表(资源示例)','s-custom','客户列表(资源示例)',7);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+38,1585488663000,1585488663000,NULL,0,0,'systemTools','systemTools',0,'view/systemTools/index.vue','系统工具','s-cooperation','系统工具',5);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+40,1585488910000,1585488910000,NULL,0,38,'autoCode','autoCode',0,'view/systemTools/autoCode/index.vue','代码生成器','cpu','代码生成器',1);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+41,1585488986000,1585488986000,NULL,0,38,'formCreate','formCreate',0,'view/systemTools/formCreate/index.vue','表单生成器','magic-stick','表单生成器',2);
+INSERT INTO sys_base_menus (id,created_at,updated_at,deleted_at,menu_level,parent_id,"path",name,hidden,component,title,icon,nick_name,sort) VALUES (
+42,1585808376000,1585808416000,NULL,0,38,'system','system',0,'view/systemTools/system/system.vue','系统配置','s-operation','系统配置',3);

+ 10 - 0
server/db/sqlite/sys_data_authority_id.sql

@@ -0,0 +1,10 @@
+INSERT INTO sys_data_authority_id (sys_authority_authority_id,data_authority_id) VALUES (
+'888','888');
+INSERT INTO sys_data_authority_id (sys_authority_authority_id,data_authority_id) VALUES (
+'888','8881');
+INSERT INTO sys_data_authority_id (sys_authority_authority_id,data_authority_id) VALUES (
+'888','9528');
+INSERT INTO sys_data_authority_id (sys_authority_authority_id,data_authority_id) VALUES (
+'9528','8881');
+INSERT INTO sys_data_authority_id (sys_authority_authority_id,data_authority_id) VALUES (
+'9528','9528');

+ 106 - 0
server/db/sqlite/sys_menus.sql

@@ -0,0 +1,106 @@
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+231,1568901918000,1576140685000,NULL,0,999,'dashbord','dashbord',0,'view/dashbord/index.vue','仪表盘','setting',0,'1','仪表盘','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+232,1568901977000,1585312438000,NULL,0,999,'test','test',0,'view/test/index.vue','测试菜单','info',0,'2','测试菜单','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+451,1568901918000,1576140685000,NULL,0,8881,'dashbord','dashbord',0,'view/dashbord/index.vue','仪表盘','setting',0,'1','仪表盘','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+452,1568901998000,1576140691000,NULL,0,8881,'admin','superAdmin',0,'view/superAdmin/index.vue','超级管理员','user-solid',0,'3','超级管理员','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+453,1568902313000,1568902313000,NULL,0,8881,'authority','authority',0,'view/superAdmin/authority/authority.vue','角色管理','s-custom',3,'4','角色管理','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+454,1568902398000,1576141040000,NULL,0,8881,'menu','menu',0,'view/superAdmin/menu/menu.vue','菜单管理','s-order',3,'5','菜单管理','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+455,1568902416000,1576141050000,NULL,0,8881,'api','api',0,'view/superAdmin/api/api.vue','api管理','s-platform',3,'6','api管理','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+456,1570605149000,1576141045000,NULL,0,8881,'user','user',0,'view/superAdmin/user/user.vue','用户管理','coordinate',3,'17','用户管理','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+458,1571149642000,1576140693000,NULL,0,8881,'person','person',1,'view/person/person.vue','个人信息','user-solid',0,'18','个人信息','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+459,1571541282000,1585489158000,NULL,0,8881,'example','example',0,'view/example/index.vue','示例文件','s-management',0,'19','示例文件','6');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+460,1571541491000,1571541491000,NULL,0,8881,'table','table',0,'view/example/table/table.vue','表格示例','s-order',19,'20','表格示例','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+461,1571541592000,1576141095000,NULL,0,8881,'form','form',0,'view/example/form/form.vue','表单示例','document',19,'21','表单示例','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+462,1571541739000,1576141100000,NULL,0,8881,'rte','rte',0,'view/example/rte/rte.vue','富文本编辑器','reading',19,'22','富文本编辑器','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+463,1571541819000,1576141103000,NULL,0,8881,'excel','excel',0,'view/example/excel/excel.vue','excel导入导出','s-marketing',19,'23','excel导入导出','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+464,1571542022000,1576141107000,NULL,0,8881,'upload','upload',0,'view/example/upload/upload.vue','上传下载','upload',19,'26','上传下载','5');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+465,1581927647000,1582544740000,NULL,0,8881,'breakpoint','breakpoint',0,'view/example/breakpoint/breakpoint.vue','断点续传','upload',19,'33','断点续传','6');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+466,1582544917000,1585310739000,NULL,0,8881,'customer','customer',0,'view/example/customer/customer.vue','客户列表(资源示例)','s-custom',19,'34','客户列表(资源示例)','7');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+503,1568901918000,1576140685000,NULL,0,9528,'dashbord','dashbord',0,'view/dashbord/index.vue','仪表盘','setting',0,'1','仪表盘','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+504,1568901977000,1585312438000,NULL,0,9528,'test','test',0,'view/test/index.vue','测试菜单','info',0,'2','测试菜单','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+505,1568901998000,1576140691000,NULL,0,9528,'admin','superAdmin',0,'view/superAdmin/index.vue','超级管理员','user-solid',0,'3','超级管理员','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+506,1568902313000,1568902313000,NULL,0,9528,'authority','authority',0,'view/superAdmin/authority/authority.vue','角色管理','s-custom',3,'4','角色管理','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+507,1568902398000,1576141040000,NULL,0,9528,'menu','menu',0,'view/superAdmin/menu/menu.vue','菜单管理','s-order',3,'5','菜单管理','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+508,1568902416000,1576141050000,NULL,0,9528,'api','api',0,'view/superAdmin/api/api.vue','api管理','s-platform',3,'6','api管理','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+509,1570605149000,1576141045000,NULL,0,9528,'user','user',0,'view/superAdmin/user/user.vue','用户管理','coordinate',3,'17','用户管理','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+512,1571149642000,1576140693000,NULL,0,9528,'person','person',1,'view/person/person.vue','个人信息','user-solid',0,'18','个人信息','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+513,1571541282000,1585489158000,NULL,0,9528,'example','example',0,'view/example/index.vue','示例文件','s-management',0,'19','示例文件','6');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+514,1571541491000,1571541491000,NULL,0,9528,'table','table',0,'view/example/table/table.vue','表格示例','s-order',19,'20','表格示例','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+515,1571541592000,1576141095000,NULL,0,9528,'form','form',0,'view/example/form/form.vue','表单示例','document',19,'21','表单示例','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+516,1571541739000,1576141100000,NULL,0,9528,'rte','rte',0,'view/example/rte/rte.vue','富文本编辑器','reading',19,'22','富文本编辑器','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+517,1571541819000,1576141103000,NULL,0,9528,'excel','excel',0,'view/example/excel/excel.vue','excel导入导出','s-marketing',19,'23','excel导入导出','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+518,1571542022000,1576141107000,NULL,0,9528,'upload','upload',0,'view/example/upload/upload.vue','上传下载','upload',19,'26','上传下载','5');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+519,1581927647000,1582544740000,NULL,0,9528,'breakpoint','breakpoint',0,'view/example/breakpoint/breakpoint.vue','断点续传','upload',19,'33','断点续传','6');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+520,1582544917000,1585310738000,NULL,0,9528,'customer','customer',0,'view/example/customer/customer.vue','客户列表(资源示例)','s-custom',19,'34','客户列表(资源示例)','7');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+560,1568901918000,1576140685000,NULL,0,888,'dashbord','dashbord',0,'view/dashbord/index.vue','仪表盘','setting',0,'1','仪表盘','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+561,1568901977000,1585312438000,NULL,0,888,'test','test',0,'view/test/index.vue','测试菜单','info',0,'2','测试菜单','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+562,1568901998000,1576140691000,NULL,0,888,'admin','superAdmin',0,'view/superAdmin/index.vue','超级管理员','user-solid',0,'3','超级管理员','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+563,1568902313000,1568902313000,NULL,0,888,'authority','authority',0,'view/superAdmin/authority/authority.vue','角色管理','s-custom',3,'4','角色管理','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+564,1568902398000,1576141040000,NULL,0,888,'menu','menu',0,'view/superAdmin/menu/menu.vue','菜单管理','s-order',3,'5','菜单管理','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+565,1568902416000,1576141050000,NULL,0,888,'api','api',0,'view/superAdmin/api/api.vue','api管理','s-platform',3,'6','api管理','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+566,1570605149000,1576141045000,NULL,0,888,'user','user',0,'view/superAdmin/user/user.vue','用户管理','coordinate',3,'17','用户管理','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+567,1571149642000,1576140693000,NULL,0,888,'person','person',1,'view/person/person.vue','个人信息','user-solid',0,'18','个人信息','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+568,1585488663000,1585488663000,NULL,0,888,'systemTools','systemTools',0,'view/systemTools/index.vue','系统工具','s-cooperation',0,'38','系统工具','5');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+569,1585488910000,1585488910000,NULL,0,888,'autoCode','autoCode',0,'view/systemTools/autoCode/index.vue','代码生成器','cpu',38,'40','代码生成器','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+570,1585488986000,1585488986000,NULL,0,888,'formCreate','formCreate',0,'view/systemTools/formCreate/index.vue','表单生成器','magic-stick',38,'41','表单生成器','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+571,1585808376000,1585808416000,NULL,0,888,'system','system',0,'view/systemTools/system/system.vue','系统配置','s-operation',38,'42','系统配置','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+572,1571541282000,1585489158000,NULL,0,888,'example','example',0,'view/example/index.vue','示例文件','s-management',0,'19','示例文件','6');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+573,1571541491000,1571541491000,NULL,0,888,'table','table',0,'view/example/table/table.vue','表格示例','s-order',19,'20','表格示例','1');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+574,1571541592000,1576141095000,NULL,0,888,'form','form',0,'view/example/form/form.vue','表单示例','document',19,'21','表单示例','2');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+575,1571541739000,1576141100000,NULL,0,888,'rte','rte',0,'view/example/rte/rte.vue','富文本编辑器','reading',19,'22','富文本编辑器','3');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+576,1571541819000,1576141103000,NULL,0,888,'excel','excel',0,'view/example/excel/excel.vue','excel导入导出','s-marketing',19,'23','excel导入导出','4');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+577,1571542022000,1576141107000,NULL,0,888,'upload','upload',0,'view/example/upload/upload.vue','上传下载','upload',19,'26','上传下载','5');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+578,1581927647000,1582544740000,NULL,0,888,'breakpoint','breakpoint',0,'view/example/breakpoint/breakpoint.vue','断点续传','upload',19,'33','断点续传','6');
+INSERT INTO sys_menus (id,created_at,updated_at,deleted_at,menu_level,authority_id,"path",name,hidden,component,title,icon,parent_id,menu_id,nick_name,sort) VALUES (
+579,1582544917000,1585311002000,NULL,0,888,'customer','customer',0,'view/example/customer/customer.vue','客户列表(资源示例)','s-custom',19,'34','客户列表(资源示例)','7');

+ 4 - 0
server/db/sqlite/sys_users.sql

@@ -0,0 +1,4 @@
+INSERT INTO sys_users (id,created_at,updated_at,deleted_at,uuid,user_name,pass_word,nick_name,header_img,authority_id,authority_name,username,password,phone_data,manager) VALUES (
+10,1568366626000,1571627763000,NULL,NULL,NULL,NULL,'超级管理员','http://qmplusimg.henrongyi.top/1571627762timg.jpg',888,NULL,'admin','e10adc3949ba59abbe56e057f20f883e',NULL,NULL);
+INSERT INTO sys_users (id,created_at,updated_at,deleted_at,uuid,user_name,pass_word,nick_name,header_img,authority_id,authority_name,username,password,phone_data,manager) VALUES (
+11,1568366849000,1568366849000,NULL,NULL,NULL,NULL,'QMPlusUser','http://qmplusimg.henrongyi.top/1572075907logo.png',9528,NULL,'a303176530','3ec063004a6f31642261936a379fde3d',NULL,NULL);

+ 0 - 0
server/db/sqlite/sys_workflow_step_infos.sql


+ 2 - 0
server/db/sqlite/sys_workflows.sql

@@ -0,0 +1,2 @@
+INSERT INTO sys_workflows (id,created_at,updated_at,deleted_at,workflow_nick_name,workflow_name,workflow_description) VALUES (
+8,1575876021000,1575876021000,NULL,'测试改版1','test','123123');

+ 254 - 0
server/db/sqlite/tables.sql

@@ -0,0 +1,254 @@
+-- casbin_rule definition
+
+CREATE TABLE casbin_rule(
+                            p_type varchar(100),
+                            v0 varchar(100),
+                            v1 varchar(100),
+                            v2 varchar(100),
+                            v3 varchar(100),
+                            v4 varchar(100),
+                            v5 varchar(100));
+
+
+-- ch_cities definition
+
+CREATE TABLE ch_cities(
+                          id int,
+                          province varchar(255),
+                          city varchar(255),
+                          code int);
+
+
+-- ch_provinces definition
+
+CREATE TABLE ch_provinces(
+                             id int,
+                             province varchar(255));
+
+
+-- ch_t_d_areainfo definition
+
+CREATE TABLE ch_t_d_areainfo(
+                                id int NOT NULL,
+                                name varchar(48) NOT NULL,
+                                arealevel tinyint NOT NULL,
+                                parent_id int,
+                                PRIMARY KEY (id)
+);
+
+
+-- exa_customers definition
+
+CREATE TABLE exa_customers(
+                              id int NOT NULL,
+                              created_at TIMESTAMP,
+                              updated_at TIMESTAMP,
+                              deleted_at TIMESTAMP,
+                              customer_name varchar(255),
+                              customer_phone_data varchar(255),
+                              sys_user_id int,
+                              sys_user_authority_id varchar(255),
+                              PRIMARY KEY (id)
+);
+
+
+-- exa_file_chunks definition
+
+CREATE TABLE exa_file_chunks(
+                                id int NOT NULL,
+                                created_at TIMESTAMP,
+                                updated_at TIMESTAMP,
+                                deleted_at TIMESTAMP,
+                                exa_file_id int,
+                                file_chunk_path varchar(255),
+                                file_chunk_number int,
+                                PRIMARY KEY (id)
+);
+
+
+-- exa_file_upload_and_downloads definition
+
+CREATE TABLE exa_file_upload_and_downloads(
+                                              id int NOT NULL,
+                                              created_at TIMESTAMP,
+                                              updated_at TIMESTAMP,
+                                              deleted_at TIMESTAMP,
+                                              name varchar(255),
+                                              url varchar(255),
+                                              tag varchar(255),
+                                              "key" varchar(255),
+                                              PRIMARY KEY (id)
+);
+
+
+-- exa_files definition
+
+CREATE TABLE exa_files(
+                          id int NOT NULL,
+                          created_at TIMESTAMP,
+                          updated_at TIMESTAMP,
+                          deleted_at TIMESTAMP,
+                          file_name varchar(255),
+                          file_md5 varchar(255),
+                          file_path varchar(255),
+                          chunk_total int,
+                          is_finish tinyint,
+                          PRIMARY KEY (id)
+);
+
+
+-- jwt_blacklists definition
+
+CREATE TABLE jwt_blacklists(
+                               id int NOT NULL,
+                               created_at TIMESTAMP,
+                               updated_at TIMESTAMP,
+                               deleted_at TIMESTAMP,
+                               jwt text(65535),
+                               PRIMARY KEY (id)
+);
+
+
+-- sys_apis definition
+
+CREATE TABLE sys_apis(
+                         id int NOT NULL,
+                         created_at TIMESTAMP,
+                         updated_at TIMESTAMP,
+                         deleted_at TIMESTAMP,
+                         authority_id int,
+                         "path" varchar(255),
+                         description varchar(255),
+                         api_group varchar(255),
+                         "method" varchar(255),
+                         PRIMARY KEY (id)
+);
+
+
+-- sys_authorities definition
+
+CREATE TABLE sys_authorities(
+                                authority_id varchar(255) NOT NULL,
+                                authority_name varchar(255),
+                                parent_id varchar(255),
+                                created_at TIMESTAMP,
+                                updated_at TIMESTAMP,
+                                deleted_at TIMESTAMP,
+                                PRIMARY KEY (authority_id)
+);
+
+
+-- sys_authority_menus definition
+
+CREATE TABLE sys_authority_menus(
+                                    sys_authority_authority_id varchar(255) NOT NULL,
+                                    sys_base_menu_id int NOT NULL,
+                                    PRIMARY KEY (sys_authority_authority_id,sys_base_menu_id)
+);
+
+
+-- sys_base_menus definition
+
+CREATE TABLE sys_base_menus(
+                               id int NOT NULL,
+                               created_at TIMESTAMP,
+                               updated_at TIMESTAMP,
+                               deleted_at TIMESTAMP,
+                               menu_level int,
+                               parent_id int,
+                               "path" varchar(255),
+                               name varchar(255),
+                               hidden tinyint,
+                               component varchar(255),
+                               title varchar(255),
+                               icon varchar(255),
+                               nick_name varchar(255),
+                               sort int,
+                               PRIMARY KEY (id)
+);
+
+
+-- sys_data_authority_id definition
+
+CREATE TABLE sys_data_authority_id(
+                                      sys_authority_authority_id varchar(255) NOT NULL,
+                                      data_authority_id varchar(255) NOT NULL,
+                                      PRIMARY KEY (sys_authority_authority_id,data_authority_id)
+);
+
+
+-- sys_menus definition
+
+CREATE TABLE sys_menus(
+                          id int NOT NULL,
+                          created_at TIMESTAMP,
+                          updated_at TIMESTAMP,
+                          deleted_at TIMESTAMP,
+                          menu_level int,
+                          authority_id int,
+                          "path" varchar(255),
+                          name varchar(255),
+                          hidden tinyint,
+                          component varchar(255),
+                          title varchar(255),
+                          icon varchar(255),
+                          parent_id int,
+                          menu_id varchar(255),
+                          nick_name varchar(255),
+                          sort varchar(255),
+                          PRIMARY KEY (id)
+);
+
+
+-- sys_users definition
+
+CREATE TABLE sys_users(
+                          id int NOT NULL,
+                          created_at TIMESTAMP,
+                          updated_at TIMESTAMP,
+                          deleted_at TIMESTAMP,
+                          uuid BLOB,
+                          user_name varchar(255),
+                          pass_word varchar(255),
+                          nick_name varchar(255),
+                          header_img varchar(255),
+                          authority_id double,
+                          authority_name varchar(255),
+                          username varchar(255),
+                          password varchar(255),
+                          phone_data varchar(255),
+                          manager varchar(255),
+                          PRIMARY KEY (id)
+);
+
+
+-- sys_workflow_step_infos definition
+
+CREATE TABLE sys_workflow_step_infos(
+                                        id int NOT NULL,
+                                        created_at TIMESTAMP,
+                                        updated_at TIMESTAMP,
+                                        deleted_at TIMESTAMP,
+                                        workflow_id int,
+                                        is_strat tinyint,
+                                        step_name varchar(255),
+                                        step_no double,
+                                        step_authority_id varchar(255),
+                                        is_end tinyint,
+                                        sys_workflow_id int,
+                                        PRIMARY KEY (id)
+);
+
+
+-- sys_workflows definition
+
+CREATE TABLE sys_workflows(
+                              id int NOT NULL,
+                              created_at TIMESTAMP,
+                              updated_at TIMESTAMP,
+                              deleted_at TIMESTAMP,
+                              workflow_nick_name varchar(255),
+                              workflow_name varchar(255),
+                              workflow_description varchar(255),
+                              PRIMARY KEY (id)
+);

File diff suppressed because it is too large
+ 350 - 177
server/docs/docs.go


File diff suppressed because it is too large
+ 349 - 176
server/docs/swagger.json


File diff suppressed because it is too large
+ 357 - 172
server/docs/swagger.yaml


+ 1 - 1
server/go.mod

@@ -28,7 +28,7 @@ require (
 	github.com/onsi/gomega v1.4.3 // indirect
 	github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
 	github.com/pelletier/go-toml v1.6.0 // indirect
-	github.com/pkg/errors v0.9.1
+	github.com/pkg/errors v0.9.1 // indirect
 	github.com/qiniu/api.v7 v7.2.5+incompatible
 	github.com/qiniu/x v7.0.8+incompatible // indirect
 	github.com/satori/go.uuid v1.2.0

+ 1 - 0
server/initialize/router.go

@@ -11,6 +11,7 @@ import (
 )
 
 //初始化总路由
+
 func Routers() *gin.Engine {
 	var Router = gin.Default()
 

+ 23 - 0
server/initialize/sqlite.go

@@ -0,0 +1,23 @@
+package initialize
+
+// sqlite需要gcc支持 windows用户需要自行安装gcc 如需使用打开注释即可
+
+// 感谢 sqlitet提供者 [rikugun] 作者github: https://github.com/rikugun
+
+//import (
+//	"fmt"
+//	"gin-vue-admin/global"
+//	"github.com/jinzhu/gorm"
+//	_ "github.com/jinzhu/gorm/dialects/sqlite"
+//)
+//
+////初始化数据库并产生数据库全局变量
+//func Sqlite() {
+//	admin := global.GVA_CONFIG.Sqlite
+//	if db, err := gorm.Open("sqlite3", fmt.Sprintf("%s?%s", admin.Path,admin.Config)); err != nil {
+//		global.GVA_LOG.Error("DEFAULTDB数据库启动异常", err)
+//	} else {
+//		global.GVA_DB = db
+//		global.GVA_DB.LogMode(admin.LogMode)
+//	}
+//}

+ 15 - 1
server/main.go

@@ -7,8 +7,22 @@ import (
 	//"runtime"
 )
 
+// @title Swagger Example API
+// @version 0.0.1
+// @description This is a sample Server pets
+// @securityDefinitions.apikey ApiKeyAuth
+// @in header
+// @name x-token
+// @BasePath /
 func main() {
-	initialize.Mysql()
+	switch global.GVA_CONFIG.System.DbType {
+	case "mysql":
+		initialize.Mysql()
+	//case "sqlite":
+	//	initialize.Sqlite()  // sqlite需要gcc支持 windows用户需要自行安装gcc 如需使用打开注释即可
+	default:
+		initialize.Mysql()
+	}
 	initialize.DBTables()
 	// 程序结束前关闭数据库链接
 	defer global.GVA_DB.Close()

+ 2 - 1
server/middleware/casbin_rcba.go

@@ -1,6 +1,7 @@
 package middleware
 
 import (
+	"gin-vue-admin/global"
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model/request"
 	"gin-vue-admin/service"
@@ -20,7 +21,7 @@ func CasbinHandler() gin.HandlerFunc {
 		sub := waitUse.AuthorityId
 		e := service.Casbin()
 		//判断策略中是否存在
-		if e.Enforce(sub, obj, act) {
+		if global.GVA_CONFIG.System.Env == "develop" || e.Enforce(sub, obj, act) {
 			c.Next()
 		} else {
 			response.Result(response.ERROR, gin.H{}, "权限不足", c)

+ 2 - 4
server/middleware/jwt.go

@@ -26,7 +26,7 @@ func JWTAuth() gin.HandlerFunc {
 			c.Abort()
 			return
 		}
-		if service.IsBlacklist(token,modelToken) {
+		if service.IsBlacklist(token, modelToken) {
 			response.Result(response.ERROR, gin.H{
 				"reload": true,
 			}, "您的帐户异地登陆或令牌失效", c)
@@ -66,8 +66,6 @@ var (
 	TokenInvalid     error = errors.New("Couldn't handle this token:")
 )
 
-
-
 func NewJWT() *JWT {
 	return &JWT{
 		[]byte(global.GVA_CONFIG.JWT.SigningKey),
@@ -75,7 +73,7 @@ func NewJWT() *JWT {
 }
 
 //创建一个token
-func (j *JWT) CreateToken(claims request. CustomClaims) (string, error) {
+func (j *JWT) CreateToken(claims request.CustomClaims) (string, error) {
 	token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
 	return token.SignedString(j.SigningKey)
 }

+ 5 - 5
server/model/exa_customer.go

@@ -6,9 +6,9 @@ import (
 
 type ExaCustomer struct {
 	gorm.Model
-	CustomerName       string  `json:"customerName"`
-	CustomerPhoneData  string  `json:"customerPhoneData"`
-	SysUserID          uint    `json:"sysUserId"`
-	SysUserAuthorityID string  `json:"sysUserAuthorityID"`
-	SysUser            SysUser `json:"sysUser"`
+	CustomerName       string  `json:"customerName" form:"customerName"`
+	CustomerPhoneData  string  `json:"customerPhoneData" form:"customerPhoneData"`
+	SysUserID          uint    `json:"sysUserId" form:"sysUserId"`
+	SysUserAuthorityID string  `json:"sysUserAuthorityID" form:"sysUserAuthorityID"`
+	SysUser            SysUser `json:"sysUser" form:"sysUser"`
 }

+ 3 - 3
server/model/request/common.go

@@ -2,11 +2,11 @@ package request
 
 // Paging common input parameter structure
 type PageInfo struct {
-	Page     int `json:"page"`
-	PageSize int `json:"pageSize"`
+	Page     int `json:"page" form:"page"`
+	PageSize int `json:"pageSize" form:"pageSize"`
 }
 
 // Find by id structure
 type GetById struct {
-	Id float64 `json:"id"`
+	Id float64 `json:"id" form:"id"`
 }

+ 5 - 0
server/model/response/sys_authority.go

@@ -5,3 +5,8 @@ import "gin-vue-admin/model"
 type SysAuthorityResponse struct {
 	Authority model.SysAuthority `json:"authority"`
 }
+
+type SysAuthorityCopyResponse struct {
+	Authority      model.SysAuthority `json:"authority"`
+	OldAuthorityId string             `json:"oldAuthorityId"`
+}

+ 3 - 1
server/model/response/sys_casbin.go

@@ -1,5 +1,7 @@
 package response
 
+import "gin-vue-admin/model/request"
+
 type PolicyPathResponse struct {
-	Paths []string `json:"paths"`
+	Paths []request.CasbinInfo `json:"paths"`
 }

+ 5 - 3
server/model/sys_base_menu.go

@@ -19,6 +19,8 @@ type SysBaseMenu struct {
 }
 
 type Meta struct {
-	Title string `json:"title"`
-	Icon  string `json:"icon"`
-}
+	KeepAlive   bool   `json:"keepAlive"`
+	DefaultMenu bool   `json:"defaultMenu"`
+	Title       string `json:"title"`
+	Icon        string `json:"icon"`
+}

+ 1 - 1
server/resource/rbac_model.conf

@@ -11,4 +11,4 @@ g = _, _
 e = some(where (p.eft == allow))
 
 [matchers]
-m = r.sub == p.sub && r.obj == p.obj && r.act == p.act
+m = r.sub == p.sub && ParamsMatch(r.obj,p.obj) && r.act == p.act

+ 1 - 1
server/resource/template/fe/api.js.tpl

@@ -72,7 +72,7 @@ export const create{{.StructName}} = (data) => {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.PageInfo true "分页获取{{.StructName}}列表"
+// @Param data body request.PageInfo true "分页获取{{.StructName}}列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /{{.Abbreviation}}/get{{.StructName}}List [post]
  export const get{{.StructName}}List = (data) => {

+ 2 - 2
server/resource/template/te/api.go.tpl

@@ -97,11 +97,11 @@ func Find{{.StructName}}(c *gin.Context) {
 // @Security ApiKeyAuth
 // @accept application/json
 // @Produce application/json
-// @Param data body model.PageInfo true "分页获取{{.StructName}}列表"
+// @Param data body request.PageInfo true "分页获取{{.StructName}}列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
 // @Router /{{.Abbreviation}}/get{{.StructName}}List [post]
 func Get{{.StructName}}List(c *gin.Context) {
-	var pageInfo model.PageInfo
+	var pageInfo request.PageInfo
 	_ = c.ShouldBindJSON(&pageInfo)
 	err, list, total := new({{.PackageName}}.{{.StructName}}).GetInfoList(pageInfo)
 	if err != nil {

+ 5 - 5
server/router/exp_customer.go

@@ -9,10 +9,10 @@ import (
 func InitCustomerRouter(Router *gin.RouterGroup) {
 	ApiRouter := Router.Group("customer").Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
 	{
-		ApiRouter.POST("createExaCustomer", v1.CreateExaCustomer)   // 创建客户
-		ApiRouter.POST("updateExaCustomer", v1.UpdateExaCustomer)   // 更新客户
-		ApiRouter.POST("deleteExaCustomer", v1.DeleteExaCustomer)   // 删除客户
-		ApiRouter.POST("getExaCustomer", v1.GetExaCustomer)         // 获取单一客户信息
-		ApiRouter.POST("getExaCustomerList", v1.GetExaCustomerList) // 获取客户列表
+		ApiRouter.POST("customer", v1.CreateExaCustomer)   // 创建客户
+		ApiRouter.PUT("customer", v1.UpdateExaCustomer)   // 更新客户
+		ApiRouter.DELETE("customer", v1.DeleteExaCustomer)   // 删除客户
+		ApiRouter.GET("customer", v1.GetExaCustomer)         // 获取单一客户信息
+		ApiRouter.GET("customerList", v1.GetExaCustomerList) // 获取客户列表
 	}
 }

+ 2 - 0
server/router/sys_authority.go

@@ -11,6 +11,8 @@ func InitAuthorityRouter(Router *gin.RouterGroup) {
 	{
 		AuthorityRouter.POST("createAuthority", v1.CreateAuthority)   //创建角色
 		AuthorityRouter.POST("deleteAuthority", v1.DeleteAuthority)   //删除角色
+		AuthorityRouter.PUT("updateAuthority", v1.UpdateAuthority)    //更新角色
+		AuthorityRouter.POST("copyAuthority", v1.CopyAuthority)       //更新角色
 		AuthorityRouter.POST("getAuthorityList", v1.GetAuthorityList) //获取角色列表
 		AuthorityRouter.POST("setDataAuthority", v1.SetDataAuthority) //设置角色资源权限
 	}

+ 1 - 0
server/router/sys_user.go

@@ -13,5 +13,6 @@ func InitUserRouter(Router *gin.RouterGroup) {
 		UserRouter.POST("uploadHeaderImg", v1.UploadHeaderImg)   //上传头像
 		UserRouter.POST("getUserList", v1.GetUserList)           // 分页获取用户列表
 		UserRouter.POST("setUserAuthority", v1.SetUserAuthority) //设置用户权限
+		UserRouter.DELETE("deleteUser", v1.DeleteUser)           //删除用户
 	}
 }

+ 29 - 25
server/service/exa_breakpoint_continue.go

@@ -8,20 +8,21 @@ import (
 // @title         FindOrCreateFile
 // @description   Check your file if it does not exist, or return current slice of the file
 // 上传文件时检测当前文件属性,如果没有文件则创建,有则返回文件的当前切片
-// @auth                     (2020/04/05  20:22 
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     ChunkTotal      int
+// @auth                     (2020/04/05  20:22)
+// @param     fileMd5         string
+// @param     fileName        string
+// @param     chunkTotal      int
 // @return    err             error
 // @return    file            ExaFile
-func  FindOrCreateFile(FileMd5 string, FileName string, ChunkTotal int) (err error, file model.ExaFile) {
+
+func FindOrCreateFile(fileMd5 string, fileName string, chunkTotal int) (err error, file model.ExaFile) {
 	var cfile model.ExaFile
-	cfile.FileMd5 = FileMd5
-	cfile.FileName = FileName
-	cfile.ChunkTotal = ChunkTotal
-	notHaveSameMd5Finish := global.GVA_DB.Where("file_md5 = ? AND is_finish = ?", FileMd5, true).First(&file).RecordNotFound()
+	cfile.FileMd5 = fileMd5
+	cfile.FileName = fileName
+	cfile.ChunkTotal = chunkTotal
+	notHaveSameMd5Finish := global.GVA_DB.Where("file_md5 = ? AND is_finish = ?", fileMd5, true).First(&file).RecordNotFound()
 	if notHaveSameMd5Finish {
-		err = global.GVA_DB.Where("file_md5 = ? AND file_name = ?", FileMd5, FileName).Preload("ExaFileChunk").FirstOrCreate(&file, cfile).Error
+		err = global.GVA_DB.Where("file_md5 = ? AND file_name = ?", fileMd5, fileName).Preload("ExaFileChunk").FirstOrCreate(&file, cfile).Error
 		return err, file
 	} else {
 		cfile.IsFinish = true
@@ -31,45 +32,48 @@ func  FindOrCreateFile(FileMd5 string, FileName string, ChunkTotal int) (err err
 	}
 }
 
-
 // @title    CreateFileChunk
 // @description   create a chunk of the file, 创建文件切片记录
-// @auth                       (2020/04/05  20:22 )
-// @param     FileChunkPath     string
-// @param     FileChunkNumber   int
+// @auth                       (2020/04/05  20:22)
+// @param     id                unit
+// @param     fileChunkPath     string
+// @param     fileChunkNumber   int
 // @return                      error
-func CreateFileChunk(id uint, FileChunkPath string, FileChunkNumber int) error {
+
+func CreateFileChunk(id uint, fileChunkPath string, fileChunkNumber int) error {
 	var chunk model.ExaFileChunk
-	chunk.FileChunkPath = FileChunkPath
+	chunk.FileChunkPath = fileChunkPath
 	chunk.ExaFileId = id
-	chunk.FileChunkNumber = FileChunkNumber
+	chunk.FileChunkNumber = fileChunkNumber
 	err := global.GVA_DB.Create(&chunk).Error
 	return err
 }
 
 // @title         FileCreateComplete
 // @description   file creation, 文件合成完成
-// @auth                     (2020/04/05  20:22 
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     fileMd5         string
+// @param     fileName        string
+// @param     filePath        string
 // @return                    error
-func FileCreateComplete(FileMd5 string, FileName string, FilePath string) error {
+
+func FileCreateComplete(fileMd5 string, fileName string, filePath string) error {
 	var file model.ExaFile
 	upDateFile := make(map[string]interface{})
-	upDateFile["FilePath"] = FilePath
+	upDateFile["FilePath"] = filePath
 	upDateFile["IsFinish"] = true
-	err := global.GVA_DB.Where("file_md5 = ? AND file_name = ?", FileMd5, FileName).First(&file).Updates(upDateFile).Error
+	err := global.GVA_DB.Where("file_md5 = ? AND file_name = ?", fileMd5, fileName).First(&file).Updates(upDateFile).Error
 	return err
 }
 
 // @title    DeleteFileChunk
 // @description   delete a chuck of the file, 删除文件切片记录
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     FileMd5         string
 // @param     FileName        string
 // @param     FilePath        string
 // @return                    error
+
 func DeleteFileChunk(fileMd5 string, fileName string, filePath string) error {
 	var chunks []model.ExaFileChunk
 	var file model.ExaFile

+ 31 - 25
server/service/exa_customer.go

@@ -8,26 +8,32 @@ import (
 
 // @title    CreateExaCustomer
 // @description   create a customer, 创建用户
-// @auth                     (2020/04/05  20:22 )
+// @param     e               model.ExaCustomer
+// @auth                     (2020/04/05  20:22)
 // @return    err             error
+
 func CreateExaCustomer(e model.ExaCustomer) (err error) {
-	err = global.GVA_DB.Create(e).Error
+	err = global.GVA_DB.Create(&e).Error
 	return err
 }
 
 // @title    DeleteFileChunk
 // @description   delete a customer, 删除用户
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     e               *model.ExaCustomer
 // @return                    error
-func  DeleteExaCustomer(e model.ExaCustomer) (err error) {
+
+func DeleteExaCustomer(e model.ExaCustomer) (err error) {
 	err = global.GVA_DB.Delete(e).Error
 	return err
 }
 
 // @title    UpdateExaCustomer
 // @description   update a customer, 更新用户
-// @auth                     (2020/04/05  20:22 )
+// @param     e               *model.ExaCustomer
+// @auth                     (2020/04/05  20:22)
 // @return                    error
+
 func UpdateExaCustomer(e *model.ExaCustomer) (err error) {
 	err = global.GVA_DB.Save(e).Error
 	return err
@@ -35,40 +41,40 @@ func UpdateExaCustomer(e *model.ExaCustomer) (err error) {
 
 // @title    GetExaCustomer
 // @description   get the info of a costumer , 获取用户信息
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     id              uint
 // @return                    error
 // @return    customer        ExaCustomer
+
 func GetExaCustomer(id uint) (err error, customer model.ExaCustomer) {
-	err = global.GVA_DB.Where("id = ?",id).First(&customer).Error
+	err = global.GVA_DB.Where("id = ?", id).First(&customer).Error
 	return
 }
 
 // @title    GetCustomerInfoList
 // @description   get customer list by pagination, 分页获取用户列表
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     sysUserAuthorityID              string
 // @param     info            PageInfo
 // @return                    error
-func  GetCustomerInfoList(sysUserAuthorityID string, info request.PageInfo) (err error, list interface{}, total int) {
+
+func GetCustomerInfoList(sysUserAuthorityID string, info request.PageInfo) (err error, list interface{}, total int) {
 	limit := info.PageSize
 	offset := info.PageSize * (info.Page - 1)
 	db := global.GVA_DB
+	var a model.SysAuthority
+	a.AuthorityId = sysUserAuthorityID
+	err, auth := GetAuthorityInfo(a)
+	var dataId []string
+	for _, v := range auth.DataAuthorityId {
+		dataId = append(dataId, v.AuthorityId)
+	}
+	var CustomerList []model.ExaCustomer
+	err = db.Where("sys_user_authority_id in (?)", dataId).Find(&CustomerList).Count(&total).Error
 	if err != nil {
-		return
-	} else {
-		var a model.SysAuthority
-		a.AuthorityId = sysUserAuthorityID
-		err, auth :=GetAuthorityInfo(a)
-		var dataId []string
-		for _, v := range auth.DataAuthorityId {
-			dataId = append(dataId, v.AuthorityId)
-		}
-		var CustomerList []model.ExaCustomer
-		err = db.Where("sys_user_authority_id in (?)", dataId).Find(&CustomerList).Count(&total).Error
-		if err != nil {
-			return err, CustomerList, total
-		} else {
-			err = db.Limit(limit).Offset(offset).Preload("SysUser").Where("sys_user_authority_id in (?)", dataId).Find(&CustomerList).Error
-		}
 		return err, CustomerList, total
+	} else {
+		err = db.Limit(limit).Offset(offset).Preload("SysUser").Where("sys_user_authority_id in (?)", dataId).Find(&CustomerList).Error
 	}
+	return err, CustomerList, total
 }

+ 19 - 15
server/service/exa_file_upload_download.go

@@ -8,17 +8,21 @@ import (
 
 // @title    Upload
 // @description   创建文件上传记录
-// @auth                     (2020/04/05  20:22 )
+// @param     file            model.ExaFileUploadAndDownload
+// @auth                     (2020/04/05  20:22)
 // @return                    error
-func Upload(f model.ExaFileUploadAndDownload) error {
-	err := global.GVA_DB.Create(f).Error
+
+func Upload(file model.ExaFileUploadAndDownload) error {
+	err := global.GVA_DB.Create(&file).Error
 	return err
 }
 
 // @title    FindFile
 // @description   删除文件切片记录
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     id              uint
 // @return                    error
+
 func FindFile(id uint) (error, model.ExaFileUploadAndDownload) {
 	var file model.ExaFileUploadAndDownload
 	err := global.GVA_DB.Where("id = ?", id).First(&file).Error
@@ -27,29 +31,29 @@ func FindFile(id uint) (error, model.ExaFileUploadAndDownload) {
 
 // @title    DeleteFile
 // @description   删除文件记录
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     file            model.ExaFileUploadAndDownload
 // @return                    error
-func DeleteFile(f model.ExaFileUploadAndDownload) error {
-	err := global.GVA_DB.Where("id = ?", f.ID).Unscoped().Delete(f).Error
+
+func DeleteFile(file model.ExaFileUploadAndDownload) error {
+	err := global.GVA_DB.Where("id = ?", file.ID).Unscoped().Delete(file).Error
 	return err
 }
 
 // @title    GetFileRecordInfoList
 // @description   分页获取数据
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     info            PageInfo
 // @return    err             error
 // @return    list            error
 // @return    total           error
+
 func GetFileRecordInfoList(info request.PageInfo) (err error, list interface{}, total int) {
 	limit := info.PageSize
 	offset := info.PageSize * (info.Page - 1)
 	db := global.GVA_DB
-	if err != nil {
-		return
-	} else {
-		var fileLists []model.ExaFileUploadAndDownload
-		err = db.Limit(limit).Offset(offset).Order("updated_at desc").Find(&fileLists).Error
-		return err, fileLists, total
-	}
+	var fileLists []model.ExaFileUploadAndDownload
+	err = db.Find(&fileLists).Count(&total).Error
+	err = db.Limit(limit).Offset(offset).Order("updated_at desc").Find(&fileLists).Error
+	return err, fileLists, total
 }

+ 23 - 16
server/service/jwt_black_list.go

@@ -7,40 +7,47 @@ import (
 
 // @title    JsonInBlacklist
 // @description   create jwt blacklist
-// @auth                     (2020/04/05  20:22 )
+// @param     jwtList         model.JwtBlacklist
+// @auth                     (2020/04/05  20:22)
 // @return    err             error
-func JsonInBlacklist(j *model.JwtBlacklist) (err error) {
-	err = global.GVA_DB.Create(j).Error
+
+func JsonInBlacklist(jwtList model.JwtBlacklist) (err error) {
+	err = global.GVA_DB.Create(&jwtList).Error
 	return
 }
 
 // @title    IsBlacklist
 // @description   check if the Jwt is in the blacklist or not, 判断JWT是否在黑名单内部
-// @auth                     (2020/04/05  20:22 )
-// @param     newPassword     string
+// @auth                     (2020/04/05  20:22)
+// @param     jwt             string
+// @param     jwtList         model.JwtBlacklist
 // @return    err             error
-func IsBlacklist(Jwt string, j model.JwtBlacklist) bool {
-	isNotFound := global.GVA_DB.Where("jwt = ?", Jwt).First(j).RecordNotFound()
+
+func IsBlacklist(jwt string, jwtList model.JwtBlacklist) bool {
+	isNotFound := global.GVA_DB.Where("jwt = ?", jwt).First(&jwtList).RecordNotFound()
 	return !isNotFound
 }
 
 // @title    GetRedisJWT
 // @description   Get user info in redis
-// @auth                     (2020/04/05  20:22 
-// @param     newPassword     string
+// @auth                     (2020/04/05  20:22)
+// @param     userName        string
 // @return    err             error
-func GetRedisJWT(userName string) (err error, RedisJWT string) {
-	RedisJWT, err = global.GVA_REDIS.Get(userName).Result()
-	return err, RedisJWT
+// @return    redisJWT        string
+
+func GetRedisJWT(userName string) (err error, redisJWT string) {
+	redisJWT, err = global.GVA_REDIS.Get(userName).Result()
+	return err, redisJWT
 }
 
 // @title    SetRedisJWT
 // @description   set jwt into the Redis
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     jwtList         model.JwtBlacklist
 // @param     userName        string
 // @return    err             error
-func SetRedisJWT(j model.JwtBlacklist, userName string) (err error) {
-	err = global.GVA_REDIS.Set(userName, j.Jwt, 1000*1000*1000*60*60*24*7).Err()
+
+func SetRedisJWT(jwtList model.JwtBlacklist, userName string) (err error) {
+	err = global.GVA_REDIS.Set(userName, jwtList.Jwt, 1000*1000*1000*60*60*24*7).Err()
 	return err
 }
-

+ 66 - 53
server/service/sys_api.go

@@ -9,87 +9,92 @@ import (
 
 // @title    CreateApi
 // @description   create base apis, 新增基础api
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     api             model.SysApi
 // @return                    error
-func CreateApi(a model.SysApi) (err error) {
-	findOne := global.GVA_DB.Where("path = ?", a.Path).Find(&model.SysApi{}).Error
+
+func CreateApi(api model.SysApi) (err error) {
+	findOne := global.GVA_DB.Where("path = ? AND method = ?", api.Path, api.Method).Find(&model.SysApi{}).Error
 	if findOne == nil {
 		return errors.New("存在相同api")
 	} else {
-		err = global.GVA_DB.Create(a).Error
+		err = global.GVA_DB.Create(&api).Error
 	}
 	return err
 }
 
 // @title    DeleteApi
-// @description   delete base apis, 删除基础api
-// @auth                     (2020/04/05  20:22 )
+// @description   delete a base api, 删除基础api
+// @param     api             model.SysApi
+// @auth                     (2020/04/05  20:22)
 // @return                    error
-func DeleteApi(a model.SysApi) (err error) {
-	err = global.GVA_DB.Delete(a).Error
-	ClearCasbin(1, a.Path)
+
+func DeleteApi(api model.SysApi) (err error) {
+	err = global.GVA_DB.Delete(api).Error
+	ClearCasbin(1, api.Path, api.Method)
 	return err
 }
 
 // @title    GetInfoList
 // @description   get apis by pagination, 分页获取数据
-// @auth                     (2020/04/05  20:22 )
-// @param     info            PageInfo
+// @auth                     (2020/04/05  20:22)
+// @param     api             model.SysApi
+// @param     info            request.PageInfo
+// @param     order           string
+// @param     desc            bool
 // @return    err             error
 // @return    list            interface{}
 // @return    total           int
-func GetAPIInfoList(a model.SysApi, info request.PageInfo, Order string, Desc bool) (err error, list interface{}, total int) {
+
+func GetAPIInfoList(api model.SysApi, info request.PageInfo, order string, desc bool) (err error, list interface{}, total int) {
 	limit := info.PageSize
 	offset := info.PageSize * (info.Page - 1)
 	db := global.GVA_DB
+	var apiList []model.SysApi
 
-	if err != nil {
-		return
-	} else {
-		var apiList []model.SysApi
+	if api.Path != "" {
+		db = db.Where("path LIKE ?", "%"+api.Path+"%")
+	}
 
-		if a.Path != "" {
-			db = db.Where("path LIKE ?", "%"+a.Path+"%")
-		}
+	if api.Description != "" {
+		db = db.Where("description LIKE ?", "%"+api.Description+"%")
+	}
 
-		if a.Description != "" {
-			db = db.Where("description LIKE ?", "%"+a.Description+"%")
-		}
+	if api.Method != "" {
+		db = db.Where("method = ?", api.Method)
+	}
 
-		if a.Method != "" {
-			db = db.Where("method = ?", a.Method)
-		}
+	if api.ApiGroup != "" {
+		db = db.Where("api_group = ?", api.ApiGroup)
+	}
 
-		err = db.Find(&apiList).Count(&total).Error
+	err = db.Find(&apiList).Count(&total).Error
 
-		if err != nil {
-			return err, apiList, total
-		} else {
-			db = db.Limit(limit).Offset(offset)
-			if Order != "" {
-				var OrderStr string
-				if Desc {
-					OrderStr = Order + " desc"
-				} else {
-					OrderStr = Order
-				}
-				err = db.Order(OrderStr, true).Find(&apiList).Error
+	if err != nil {
+		return err, apiList, total
+	} else {
+		db = db.Limit(limit).Offset(offset)
+		if order != "" {
+			var OrderStr string
+			if desc {
+				OrderStr = order + " desc"
 			} else {
-				err = db.Order("api_group", true).Find(&apiList).Error
+				OrderStr = order
 			}
+			err = db.Order(OrderStr, true).Find(&apiList).Error
+		} else {
+			err = db.Order("api_group", true).Find(&apiList).Error
 		}
-		return err, apiList, total
 	}
+	return err, apiList, total
 }
 
 // @title    GetAllApis
 // @description   get all apis, 获取所有的api
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @return       err          error
 // @return       apis         []SysApi
+
 func GetAllApis() (err error, apis []model.SysApi) {
 	err = global.GVA_DB.Find(&apis).Error
 	return
@@ -97,9 +102,11 @@ func GetAllApis() (err error, apis []model.SysApi) {
 
 // @title    GetApiById
 // @description   根据id获取api
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     api             model.SysApi
 // @param     id              float64
 // @return                    error
+
 func GetApiById(id float64) (err error, api model.SysApi) {
 	err = global.GVA_DB.Where("id = ?", id).First(&api).Error
 	return
@@ -107,23 +114,29 @@ func GetApiById(id float64) (err error, api model.SysApi) {
 
 // @title    UpdateApi
 // @description   update a base api, update api
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     api             model.SysApi
 // @return                    error
-func  UpdateApi(a model.SysApi) (err error) {
+
+func UpdateApi(api model.SysApi) (err error) {
 	var oldA model.SysApi
-	flag := global.GVA_DB.Where("path = ?", a.Path).Find(&model.SysApi{}).RecordNotFound()
-	if !flag {
-		return errors.New("存在相同api路径")
+
+	err = global.GVA_DB.Where("id = ?", api.ID).First(&oldA).Error
+
+	if oldA.Path != api.Path || oldA.Method != api.Method {
+		flag := global.GVA_DB.Where("path = ? AND method = ?", api.Path, api.Method).Find(&model.SysApi{}).RecordNotFound()
+		if !flag {
+			return errors.New("存在相同api路径")
+		}
 	}
-	err = global.GVA_DB.Where("id = ?", a.ID).First(&oldA).Error
 	if err != nil {
 		return err
 	} else {
-		err = UpdateCasbinApi(oldA.Path, a.Path)
+		err = UpdateCasbinApi(oldA.Path, api.Path, oldA.Method, api.Method)
 		if err != nil {
 			return err
 		} else {
-			err = global.GVA_DB.Save(a).Error
+			err = global.GVA_DB.Save(&api).Error
 		}
 	}
 	return err

+ 98 - 57
server/service/sys_authority.go

@@ -5,123 +5,164 @@ import (
 	"gin-vue-admin/global"
 	"gin-vue-admin/model"
 	"gin-vue-admin/model/request"
+	"gin-vue-admin/model/response"
+	"strconv"
 )
 
 // @title    CreateAuthority
 // @description   创建一个角色
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     auth            model.SysAuthority
 // @return                    error
-func CreateAuthority(a *model.SysAuthority) (err error, authority *model.SysAuthority) {
-	err = global.GVA_DB.Create(a).Error
-	return err, a
+// @return    authority       model.SysAuthority
+
+func CreateAuthority(auth model.SysAuthority) (err error, authority model.SysAuthority) {
+	var authorityBox model.SysAuthority
+	notHas := global.GVA_DB.Where("authority_id = ?", auth.AuthorityId).Find(&authorityBox).RecordNotFound()
+	if !notHas {
+		return errors.New("存在相同角色id"), auth
+	}
+	err = global.GVA_DB.Create(&auth).Error
+	return err, auth
+}
+
+// @title    CopyAuthority
+// @description   复制一个角色
+// @auth                     (2020/04/05  20:22)
+// @param     copyInfo        response.SysAuthorityCopyResponse
+// @return                    error
+// @return    authority       model.SysAuthority
+
+func CopyAuthority(copyInfo response.SysAuthorityCopyResponse) (err error, authority model.SysAuthority) {
+	var authorityBox model.SysAuthority
+	notHas := global.GVA_DB.Where("authority_id = ?", copyInfo.Authority.AuthorityId).Find(&authorityBox).RecordNotFound()
+	if !notHas {
+		return errors.New("存在相同角色id"), authority
+	}
+	copyInfo.Authority.Children = []model.SysAuthority{}
+	err, menus := GetMenuAuthority(copyInfo.OldAuthorityId)
+	var baseMenu []model.SysBaseMenu
+	for _, v := range menus {
+		intNum, _ := strconv.Atoi(v.MenuId)
+		v.SysBaseMenu.ID = uint(intNum)
+		baseMenu = append(baseMenu, v.SysBaseMenu)
+	}
+	copyInfo.Authority.SysBaseMenus = baseMenu
+	err = global.GVA_DB.Create(&copyInfo.Authority).Error
+
+	paths := GetPolicyPathByAuthorityId(copyInfo.OldAuthorityId)
+	err = UpdateCasbin(copyInfo.Authority.AuthorityId, paths)
+	if err != nil {
+		_ = DeleteAuthority(&copyInfo.Authority)
+	}
+	return err, copyInfo.Authority
+}
+
+// @title    UpdateAuthority
+// @description   更改一个角色
+// @auth                     (2020/04/05  20:22)
+// @param     auth            model.SysAuthority
+// @return                    error
+// @return    authority       model.SysAuthority
+
+func UpdateAuthority(auth model.SysAuthority) (err error, authority model.SysAuthority) {
+	err = global.GVA_DB.Where("authority_id = ?", auth.AuthorityId).First(&model.SysAuthority{}).Updates(&auth).Error
+	return err, auth
 }
 
 // @title    DeleteAuthority
 // @description   删除角色
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     auth            model.SysAuthority
 // @return                    error
 // 删除角色
-func DeleteAuthority(a model.SysAuthority) (err error) {
-	err = global.GVA_DB.Where("authority_id = ?", a.AuthorityId).Find(&model.SysUser{}).Error
+
+func DeleteAuthority(auth *model.SysAuthority) (err error) {
+	err = global.GVA_DB.Where("authority_id = ?", auth.AuthorityId).Find(&model.SysUser{}).Error
 	if err == nil {
 		err = errors.New("此角色有用户正在使用禁止删除")
 		return
 	}
-	err = global.GVA_DB.Where("parent_id = ?", a.AuthorityId).Find(&model.SysAuthority{}).Error
+	err = global.GVA_DB.Where("parent_id = ?", auth.AuthorityId).Find(&model.SysAuthority{}).Error
 	if err == nil {
 		err = errors.New("此角色存在子角色不允许删除")
 		return
 	}
-	db := global.GVA_DB.Preload("SysBaseMenus").Where("authority_id = ?", a.AuthorityId).First(a).Unscoped().Delete(a)
-	if len(a.SysBaseMenus) > 0 {
-		err = db.Association("SysBaseMenus").Delete(a.SysBaseMenus).Error
+	db := global.GVA_DB.Preload("SysBaseMenus").Where("authority_id = ?", auth.AuthorityId).First(auth).Unscoped().Delete(auth)
+	if len(auth.SysBaseMenus) > 0 {
+		err = db.Association("SysBaseMenus").Delete(auth.SysBaseMenus).Error
 	} else {
 		err = db.Error
 	}
-	ClearCasbin(0, a.AuthorityId)
+	ClearCasbin(0, auth.AuthorityId)
 	return err
 }
 
 // @title    GetInfoList
 // @description   删除文件切片记录
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     info            request.PaveInfo
 // @return                    error
 // 分页获取数据
+
 func GetAuthorityInfoList(info request.PageInfo) (err error, list interface{}, total int) {
 	limit := info.PageSize
 	offset := info.PageSize * (info.Page - 1)
 	db := global.GVA_DB
-	if err != nil {
-		return
-	} else {
-		var authority []model.SysAuthority
-		err = db.Limit(limit).Offset(offset).Preload("DataAuthorityId").Where("parent_id = 0").Find(&authority).Error
-		if len(authority) > 0 {
-			for k, _ := range authority {
-				err = findChildrenAuthority(&authority[k])
-			}
+	var authority []model.SysAuthority
+	err = db.Limit(limit).Offset(offset).Preload("DataAuthorityId").Where("parent_id = 0").Find(&authority).Error
+	if len(authority) > 0 {
+		for k, _ := range authority {
+			err = findChildrenAuthority(&authority[k])
 		}
-		return err, authority, total
 	}
+	return err, authority, total
 }
 
 // @title    GetAuthorityInfo
 // @description   获取所有角色信息
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     auth            model.SysAuthority
 // @return                    error
-func  GetAuthorityInfo(a model.SysAuthority) (err error, sa model.SysAuthority) {
-	err = global.GVA_DB.Preload("DataAuthorityId").Where("authority_id = ?", a.AuthorityId).First(&sa).Error
+// @param     authority       model.SysAuthority
+
+func GetAuthorityInfo(auth model.SysAuthority) (err error, sa model.SysAuthority) {
+	err = global.GVA_DB.Preload("DataAuthorityId").Where("authority_id = ?", auth.AuthorityId).First(&sa).Error
 	return err, sa
 }
 
-
 // @title    SetDataAuthority
 // @description   设置角色资源权限
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     auth            model.SysAuthority
 // @return                    error
-func SetDataAuthority(a model.SysAuthority) error {
+
+func SetDataAuthority(auth model.SysAuthority) error {
 	var s model.SysAuthority
-	global.GVA_DB.Preload("DataAuthorityId").First(&s, "authority_id = ?", a.AuthorityId)
-	err := global.GVA_DB.Model(&s).Association("DataAuthorityId").Replace(&a.DataAuthorityId).Error
+	global.GVA_DB.Preload("DataAuthorityId").First(&s, "authority_id = ?", auth.AuthorityId)
+	err := global.GVA_DB.Model(&s).Association("DataAuthorityId").Replace(&auth.DataAuthorityId).Error
 	return err
 }
 
 // @title    SetMenuAuthority
 // @description   菜单与角色绑定
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     auth            *model.SysAuthority
 // @return                    error
-func  SetMenuAuthority(a *model.SysAuthority) error {
+
+func SetMenuAuthority(auth *model.SysAuthority) error {
 	var s model.SysAuthority
-	global.GVA_DB.Preload("SysBaseMenus").First(&s, "authority_id = ?", a.AuthorityId)
-	err := global.GVA_DB.Model(&s).Association("SysBaseMenus").Replace(&a.SysBaseMenus).Error
+	global.GVA_DB.Preload("SysBaseMenus").First(&s, "authority_id = ?", auth.AuthorityId)
+	err := global.GVA_DB.Model(&s).Association("SysBaseMenus").Replace(&auth.SysBaseMenus).Error
 	return err
 }
 
 // @title    findChildrenAuthority
 // @description   查询子角色
-// @auth                     (2020/04/05  20:22 )
-// @param     FileMd5         string
-// @param     FileName        string
-// @param     FilePath        string
+// @auth                     (2020/04/05  20:22)
+// @param     auth            *model.SysAuthority
 // @return                    error
+
 func findChildrenAuthority(authority *model.SysAuthority) (err error) {
 	err = global.GVA_DB.Preload("DataAuthorityId").Where("parent_id = ?", authority.AuthorityId).Find(&authority.Children).Error
 	if len(authority.Children) > 0 {

+ 23 - 21
server/service/sys_auto_code.go

@@ -9,9 +9,11 @@ import (
 
 // @title    CreateTemp
 // @description   函数的详细描述
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     autoCode        model.AutoCodeStruct
 // @return    err             error
-func CreateTemp(a model.AutoCodeStruct) (err error) {
+
+func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
 	basePath := "./resource/template"
 	modelTmpl, err := template.ParseFiles(basePath + "/te/model.go.tpl")
 	if err != nil {
@@ -37,31 +39,31 @@ func CreateTemp(a model.AutoCodeStruct) (err error) {
 	_autoCode := "./autoCode/"
 	//自动化后台代码目录
 	_te := "./autoCode/te/"
-	_dir := _te + a.PackageName
-	_modeldir := _te + a.PackageName + "/model"
-	_apidir := _te + a.PackageName + "/api"
-	_routerdir := _te + a.PackageName + "/router"
+	_dir := _te + autoCode.PackageName
+	_modeldir := _te + autoCode.PackageName + "/model"
+	_apidir := _te + autoCode.PackageName + "/api"
+	_routerdir := _te + autoCode.PackageName + "/router"
 	//自动化前台代码目录
 	_fe := "./autoCode/fe/"
-	_fe_dir := _fe + a.PackageName
-	_fe_apidir := _fe + a.PackageName + "/api"
+	_fe_dir := _fe + autoCode.PackageName
+	_fe_apidir := _fe + autoCode.PackageName + "/api"
 	err = utils.CreateDir(_autoCode, _te, _dir, _modeldir, _apidir, _routerdir, _fe, _fe_dir, _fe_apidir)
 	if err != nil {
 		return err
 	}
-	model, err := os.OpenFile(_te+a.PackageName+"/model/model.go", os.O_CREATE|os.O_WRONLY, 0755)
+	model, err := os.OpenFile(_te+autoCode.PackageName+"/model/model.go", os.O_CREATE|os.O_WRONLY, 0755)
 	if err != nil {
 		return err
 	}
-	api, err := os.OpenFile(_te+a.PackageName+"/api/api.go", os.O_CREATE|os.O_WRONLY, 0755)
+	api, err := os.OpenFile(_te+autoCode.PackageName+"/api/api.go", os.O_CREATE|os.O_WRONLY, 0755)
 	if err != nil {
 		return err
 	}
-	router, err := os.OpenFile(_te+a.PackageName+"/router/router.go", os.O_CREATE|os.O_WRONLY, 0755)
+	router, err := os.OpenFile(_te+autoCode.PackageName+"/router/router.go", os.O_CREATE|os.O_WRONLY, 0755)
 	if err != nil {
 		return err
 	}
-	feapi, err := os.OpenFile(_fe+a.PackageName+"/api/api.js", os.O_CREATE|os.O_WRONLY, 0755)
+	feapi, err := os.OpenFile(_fe+autoCode.PackageName+"/api/api.js", os.O_CREATE|os.O_WRONLY, 0755)
 	if err != nil {
 		return err
 	}
@@ -71,23 +73,23 @@ func CreateTemp(a model.AutoCodeStruct) (err error) {
 	}
 	// 生成代码
 	{
-		err = modelTmpl.Execute(model, a)
+		err = modelTmpl.Execute(model, autoCode)
 		if err != nil {
 			return err
 		}
-		err = apiTmpl.Execute(api, a)
+		err = apiTmpl.Execute(api, autoCode)
 		if err != nil {
 			return err
 		}
-		err = routerTmpl.Execute(router, a)
+		err = routerTmpl.Execute(router, autoCode)
 		if err != nil {
 			return err
 		}
-		err = feapiTmpl.Execute(feapi, a)
+		err = feapiTmpl.Execute(feapi, autoCode)
 		if err != nil {
 			return err
 		}
-		err = readmeTmpl.Execute(readme, a)
+		err = readmeTmpl.Execute(readme, autoCode)
 		if err != nil {
 			return err
 		}
@@ -98,10 +100,10 @@ func CreateTemp(a model.AutoCodeStruct) (err error) {
 	_ = feapi.Close()
 	_ = readme.Close()
 	fileList := []string{
-		_te + a.PackageName + "/model/model.go",
-		_te + a.PackageName + "/api/api.go",
-		_te + a.PackageName + "/router/router.go",
-		_fe + a.PackageName + "/api/api.js",
+		_te + autoCode.PackageName + "/model/model.go",
+		_te + autoCode.PackageName + "/api/api.go",
+		_te + autoCode.PackageName + "/router/router.go",
+		_fe + autoCode.PackageName + "/api/api.js",
 		_autoCode + "readme.txt",
 	}
 	err = utils.ZipFiles("./ginvueadmin.zip", fileList, ".", ".")

+ 24 - 10
server/service/sys_base_menu.go

@@ -8,10 +8,11 @@ import (
 
 // @title    DeleteBaseMenu
 // @description   删除基础路由
-// @auth                     (2020/04/05  20:22 
-// @param     newPassword     string
+// @auth                     (2020/04/05  20:22)
+// @param     id              float64
 // @return    err             error
-func  DeleteBaseMenu(id float64) (err error) {
+
+func DeleteBaseMenu(id float64) (err error) {
 	err = global.GVA_DB.Where("parent_id = ?", id).First(&model.SysBaseMenu{}).Error
 	if err != nil {
 		var menu model.SysBaseMenu
@@ -29,11 +30,15 @@ func  DeleteBaseMenu(id float64) (err error) {
 
 // @title    UpdateBaseMenu
 // @description   更新路由
-// @auth                     (2020/04/05  20:22 )
-// @param     newPassword     string
-// @return    err             error
-func  UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
+// @auth                     (2020/04/05  20:22)
+// @param     menu            model.SysBaseMenu
+// @return    err             errorgetMenu
+
+func UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
+	var oldMenu model.SysBaseMenu
 	upDateMap := make(map[string]interface{})
+	upDateMap["keep_alive"] = menu.KeepAlive
+	upDateMap["default_menu"] = menu.DefaultMenu
 	upDateMap["parent_id"] = menu.ParentId
 	upDateMap["path"] = menu.Path
 	upDateMap["name"] = menu.Name
@@ -42,16 +47,25 @@ func  UpdateBaseMenu(menu model.SysBaseMenu) (err error) {
 	upDateMap["title"] = menu.Title
 	upDateMap["icon"] = menu.Icon
 	upDateMap["sort"] = menu.Sort
-	err = global.GVA_DB.Where("id = ?", menu.ID).Find(&model.SysBaseMenu{}).Updates(upDateMap).Error
+	db := global.GVA_DB.Where("id = ?", menu.ID).Find(&oldMenu)
+	if oldMenu.Name != menu.Name {
+		notSame := global.GVA_DB.Where("id <> ? AND name = ?", menu.ID, menu.Name).First(&model.SysBaseMenu{}).RecordNotFound()
+		if !notSame {
+			global.GVA_LOG.Debug("存在相同name修改失败")
+			return errors.New("存在相同name修改失败")
+		}
+	}
+	err = db.Updates(upDateMap).Error
 	global.GVA_LOG.Debug("菜单修改时候,关联菜单err:%v", err)
 	return err
 }
 
 // @title    GetBaseMenuById
 // @description   get current menus, 返回当前选中menu
-// @auth                     (2020/04/05  20:22 )
-// @param     newPassword     string
+// @auth                     (2020/04/05  20:22)
+// @param     id              float64
 // @return    err             error
+
 func GetBaseMenuById(id float64) (err error, menu model.SysBaseMenu) {
 	err = global.GVA_DB.Where("id = ?", id).First(&menu).Error
 	return

+ 35 - 20
server/service/sys_casbin.go

@@ -13,11 +13,12 @@ import (
 
 // @title    UpdateCasbin
 // @description   update casbin authority, 更新casbin权限
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     authorityId      string
 // @param     casbinInfos      []CasbinInfo
 // @return                     error
-func  UpdateCasbin(authorityId string, casbinInfos []request.CasbinInfo) error {
+
+func UpdateCasbin(authorityId string, casbinInfos []request.CasbinInfo) error {
 	ClearCasbin(0, authorityId)
 	for _, v := range casbinInfos {
 		cm := model.CasbinModel{
@@ -37,56 +38,68 @@ func  UpdateCasbin(authorityId string, casbinInfos []request.CasbinInfo) error {
 
 // @title    AddCasbin
 // @description   add casbin authority, 添加权限
-// @auth                     (2020/04/05  20:22 
-// @param     cm              CasbinModel
+// @auth                     (2020/04/05  20:22)
+// @param     cm              model.CasbinModel
 // @return                    bool
-func  AddCasbin(cm model.CasbinModel) bool {
+
+func AddCasbin(cm model.CasbinModel) bool {
 	e := Casbin()
 	return e.AddPolicy(cm.AuthorityId, cm.Path, cm.Method)
 }
 
 // @title    UpdateCasbinApi
 // @description   update casbin apis, API更新随动
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     oldPath          string
 // @param     newPath          string
+// @param     oldMethod        string
+// @param     newMethod        string
 // @return                     error
-func  UpdateCasbinApi(oldPath string, newPath string) error {
+
+func UpdateCasbinApi(oldPath string, newPath string, oldMethod string, newMethod string) error {
 	var cs []model.CasbinModel
-	err := global.GVA_DB.Table("casbin_rule").Where("v1 = ?", oldPath).Find(&cs).Update("v1", newPath).Error
+	err := global.GVA_DB.Table("casbin_rule").Where("v1 = ? AND v2 = ?", oldPath, oldMethod).Find(&cs).Updates(map[string]string{
+		"v1": newPath,
+		"v2": newMethod,
+	}).Error
 	return err
 }
 
 // @title    GetPolicyPathByAuthorityId
 // @description   get policy path by authorityId, 获取权限列表
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     authorityId     string
 // @return                    []string
-func  GetPolicyPathByAuthorityId(authorityId string) []string {
+
+func GetPolicyPathByAuthorityId(authorityId string) (pathMaps []request.CasbinInfo) {
 	e := Casbin()
-	var pathList []string
 	list := e.GetFilteredPolicy(0, authorityId)
 	for _, v := range list {
-		pathList = append(pathList, v[1])
+		pathMaps = append(pathMaps, request.CasbinInfo{
+			Path:   v[1],
+			Method: v[2],
+		})
 	}
-	return pathList
+	return pathMaps
 }
 
 // @title    ClearCasbin
 // @description   清除匹配的权限
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     v               int
 // @param     p               string
 // @return                    bool
-func  ClearCasbin(v int, p string) bool {
+
+func ClearCasbin(v int, p ...string) bool {
 	e := Casbin()
-	return e.RemoveFilteredPolicy(v, p)
+	return e.RemoveFilteredPolicy(v, p...)
 
 }
 
 // @title    Casbin
 // @description   store to DB, 持久化到数据库  引入自定义规则
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+
 func Casbin() *casbin.Enforcer {
 	a := gormadapter.NewAdapterByDB(global.GVA_DB)
 	e := casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a)
@@ -97,10 +110,11 @@ func Casbin() *casbin.Enforcer {
 
 // @title    ParamsMatch
 // @description   customized rule, 自定义规则函数
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     fullNameKey1    string
 // @param     key2            string
 // @return                    bool
+
 func ParamsMatch(fullNameKey1 string, key2 string) bool {
 	key1 := strings.Split(fullNameKey1, "?")[0]
 	//剥离路径后再使用casbin的keyMatch2
@@ -109,13 +123,14 @@ func ParamsMatch(fullNameKey1 string, key2 string) bool {
 
 // @title    ParamsMatchFunc
 // @description   customized function, 自定义规则函数
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     args            ...interface{}
 // @return                    interface{}
 // @return                    error
+
 func ParamsMatchFunc(args ...interface{}) (interface{}, error) {
 	name1 := args[0].(string)
 	name2 := args[1].(string)
 
 	return (bool)(ParamsMatch(name1, name2)), nil
-}
+}

+ 38 - 35
server/service/sys_menu.go

@@ -9,13 +9,13 @@ import (
 
 // @title    GetMenuTree
 // @description   获取动态菜单树
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     authorityId     string
 // @return    err             error
-// @return    menus           []SysMenu
-func GetMenuTree(authorityId string) (err error, menus []model.SysMenu) {
-	sql := "SELECT authority_menu.created_at,authority_menu.updated_at,authority_menu.deleted_at,authority_menu.menu_level,authority_menu.parent_id,authority_menu.path,authority_menu.`name`,authority_menu.hidden,authority_menu.component,authority_menu.title,authority_menu.icon,authority_menu.sort,authority_menu.menu_id,authority_menu.authority_id FROM authority_menu WHERE authority_menu.authority_id = ? AND authority_menu.parent_id = ?"
+// @return    menus           []model.SysMenu
 
+func GetMenuTree(authorityId string) (err error, menus []model.SysMenu) {
+	sql := "SELECT authority_menu.keep_alive,authority_menu.default_menu,authority_menu.created_at,authority_menu.updated_at,authority_menu.deleted_at,authority_menu.menu_level,authority_menu.parent_id,authority_menu.path,authority_menu.`name`,authority_menu.hidden,authority_menu.component,authority_menu.title,authority_menu.icon,authority_menu.sort,authority_menu.menu_id,authority_menu.authority_id FROM authority_menu WHERE authority_menu.authority_id = ? AND authority_menu.parent_id = ? ORDER BY authority_menu.sort ASC"
 	err = global.GVA_DB.Raw(sql, authorityId, 0).Scan(&menus).Error
 	for i := 0; i < len(menus); i++ {
 		err = getChildrenList(&menus[i], sql)
@@ -25,10 +25,11 @@ func GetMenuTree(authorityId string) (err error, menus []model.SysMenu) {
 
 // @title    getChildrenList
 // @description   获取子菜单
-// @auth                     (2020/04/05  20:22 
-// @param     menu            *SysMenu
-// @param     SQLstatement    string
+// @auth                     (2020/04/05  20:22)
+// @param     menu            *model.SysMenu
+// @param     sql             string
 // @return    err             error
+
 func getChildrenList(menu *model.SysMenu, sql string) (err error) {
 	err = global.GVA_DB.Raw(sql, menu.AuthorityId, menu.MenuId).Scan(&menu.Children).Error
 	for i := 0; i < len(menu.Children); i++ {
@@ -39,30 +40,30 @@ func getChildrenList(menu *model.SysMenu, sql string) (err error) {
 
 // @title    GetInfoList
 // @description   获取路由分页
-// @auth                     (2020/04/05  20:22 
-// @param     newPassword     string
+// @auth                     (2020/04/05  20:22)
+// @param     info            request.PageInfo
 // @return    err             error
+// @return    list            interface{}
+// @return    total           int
+
 func GetInfoList(info request.PageInfo) (err error, list interface{}, total int) {
 	limit := info.PageSize
 	offset := info.PageSize * (info.Page - 1)
 	db := global.GVA_DB
-	if err != nil {
-		return
-	} else {
-		var menuList []model.SysBaseMenu
-		err = db.Limit(limit).Offset(offset).Where("parent_id = 0").Order("sort", true).Find(&menuList).Error
-		for i := 0; i < len(menuList); i++ {
-			err = getBaseChildrenList(&menuList[i])
-		}
-		return err, menuList, total
+	var menuList []model.SysBaseMenu
+	err = db.Limit(limit).Offset(offset).Where("parent_id = 0").Order("sort", true).Find(&menuList).Error
+	for i := 0; i < len(menuList); i++ {
+		err = getBaseChildrenList(&menuList[i])
 	}
+	return err, menuList, total
 }
 
 // @title    getBaseChildrenList
 // @description   get children of menu, 获取菜单的子菜单
-// @auth                     (2020/04/05  20:22 
-// @param     menu            *SysBaseMenu
+// @auth                     (2020/04/05  20:22)
+// @param     menu            *model.SysBaseMenu
 // @return    err             error
+
 func getBaseChildrenList(menu *model.SysBaseMenu) (err error) {
 	err = global.GVA_DB.Where("parent_id = ?", menu.ID).Order("sort", true).Find(&menu.Children).Error
 	for i := 0; i < len(menu.Children); i++ {
@@ -73,27 +74,28 @@ func getBaseChildrenList(menu *model.SysBaseMenu) (err error) {
 
 // @title    AddBaseMenu
 // @description   函数的详细描述
-// @auth                     (2020/04/05  20:22 
-// @param     newPassword     string
+// @auth                     (2020/04/05  20:22)
+// @param     menu            *model.SysBaseMenu
 // @return    err             error
 //增加基础路由
-func  AddBaseMenu(menu model.SysBaseMenu) (err error) {
+
+func AddBaseMenu(menu model.SysBaseMenu) (err error) {
 	findOne := global.GVA_DB.Where("name = ?", menu.Name).Find(&model.SysBaseMenu{}).Error
 	if findOne != nil {
-		err = global.GVA_DB.Create(menu).Error
+		err = global.GVA_DB.Create(&menu).Error
 	} else {
 		err = errors.New("存在重复name,请修改name")
 	}
 	return err
 }
 
-
 // @title    GetBaseMenuTree
 // @description   获取基础路由树
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @return    err              error
 // @return    menus            []SysBaseMenu
-func  GetBaseMenuTree() (err error, menus []model.SysBaseMenu) {
+
+func GetBaseMenuTree() (err error, menus []model.SysBaseMenu) {
 	err = global.GVA_DB.Where(" parent_id = ?", 0).Order("sort", true).Find(&menus).Error
 	for i := 0; i < len(menus); i++ {
 		err = getBaseChildrenList(&menus[i])
@@ -103,11 +105,12 @@ func  GetBaseMenuTree() (err error, menus []model.SysBaseMenu) {
 
 // @title    AddMenuAuthority
 // @description   为角色增加menu树
-// @auth                     (2020/04/05  20:22 
-// @param     menus           []SysBaseMenu
+// @auth                     (2020/04/05  20:22)
+// @param     menus           []model.SysBaseMenu
 // @param     authorityId     string
 // @return                    error
-func  AddMenuAuthority(menus []model.SysBaseMenu, authorityId string) (err error) {
+
+func AddMenuAuthority(menus []model.SysBaseMenu, authorityId string) (err error) {
 	var auth model.SysAuthority
 	auth.AuthorityId = authorityId
 	auth.SysBaseMenus = menus
@@ -115,15 +118,15 @@ func  AddMenuAuthority(menus []model.SysBaseMenu, authorityId string) (err error
 	return err
 }
 
-
 // @title    GetMenuAuthority
 // @description   查看当前角色树
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     authorityId     string
 // @return    err             error
 // @return    menus           []SysBaseMenu
-func  GetMenuAuthority(authorityId string) (err error, menus []model.SysMenu) {
-	sql := "SELECT authority_menu.created_at,authority_menu.updated_at,authority_menu.deleted_at,authority_menu.menu_level,authority_menu.parent_id,authority_menu.path,authority_menu.`name`,authority_menu.hidden,authority_menu.component,authority_menu.title,authority_menu.icon,authority_menu.sort,authority_menu.menu_id,authority_menu.authority_id FROM authority_menu WHERE authority_menu.authority_id = ?"
+
+func GetMenuAuthority(authorityId string) (err error, menus []model.SysMenu) {
+	sql := "SELECT authority_menu.keep_alive,authority_menu.default_menu,authority_menu.created_at,authority_menu.updated_at,authority_menu.deleted_at,authority_menu.menu_level,authority_menu.parent_id,authority_menu.path,authority_menu.`name`,authority_menu.hidden,authority_menu.component,authority_menu.title,authority_menu.icon,authority_menu.sort,authority_menu.menu_id,authority_menu.authority_id FROM authority_menu WHERE authority_menu.authority_id = ? ORDER BY authority_menu.sort ASC"
 	err = global.GVA_DB.Raw(sql, authorityId).Scan(&menus).Error
 	return err, menus
-}
+}

+ 8 - 6
server/service/sys_system.go

@@ -9,23 +9,25 @@ import (
 
 // @title    GetSystemConfig
 // @description   读取配置文件
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @return    err             error
 // @return    conf            Server
+
 func GetSystemConfig() (err error, conf config.Server) {
 	return nil, global.GVA_CONFIG
 }
 
-
 // @title    SetSystemConfig
 // @description   set system config, 设置配置文件
-// @auth                    (2020/04/05  20:22 )
+// @auth                    (2020/04/05  20:22)
+// @param     system         model.System
 // @return    err            error
-func SetSystemConfig(s model.System) (err error) {
-	cs := utils.StructToMap(s.Config)
+
+func SetSystemConfig(system model.System) (err error) {
+	cs := utils.StructToMap(system.Config)
 	for k, v := range cs {
 		global.GVA_VP.Set(k, v)
 	}
 	err = global.GVA_VP.WriteConfig()
 	return err
-}
+}

+ 38 - 20
server/service/sys_user.go

@@ -11,30 +11,34 @@ import (
 
 // @title    Register
 // @description   register, 用户注册
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     u               model.SysUser
 // @return    err             error
 // @return    userInter       *SysUser
-func  Register(u *model.SysUser) (err error, userInter *model.SysUser) {
+
+func Register(u model.SysUser) (err error, userInter model.SysUser) {
 	var user model.SysUser
 	//判断用户名是否注册
 	notRegister := global.GVA_DB.Where("username = ?", u.Username).First(&user).RecordNotFound()
 	//notRegister为false表明读取到了 不能注册
 	if !notRegister {
-		return errors.New("用户名已注册"), nil
+		return errors.New("用户名已注册"), userInter
 	} else {
 		// 否则 附加uuid 密码md5简单加密 注册
 		u.Password = utils.MD5V([]byte(u.Password))
 		u.UUID = uuid.NewV4()
-		err = global.GVA_DB.Create(u).Error
+		err = global.GVA_DB.Create(&u).Error
 	}
 	return err, u
 }
 
 // @title    Login
 // @description   login, 用户登录
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     u               *model.SysUser
 // @return    err             error
 // @return    userInter       *SysUser
+
 func Login(u *model.SysUser) (err error, userInter *model.SysUser) {
 	var user model.SysUser
 	u.Password = utils.MD5V([]byte(u.Password))
@@ -48,11 +52,13 @@ func Login(u *model.SysUser) (err error, userInter *model.SysUser) {
 
 // @title    ChangePassword
 // @description   change the password of a certain user, 修改用户密码
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     u               *model.SysUser
 // @param     newPassword     string
 // @return    err             error
 // @return    userInter       *SysUser
-func  ChangePassword(u *model.SysUser, newPassword string) (err error, userInter *model.SysUser) {
+
+func ChangePassword(u *model.SysUser, newPassword string) (err error, userInter *model.SysUser) {
 	var user model.SysUser
 	//后期修改jwt+password模式
 	u.Password = utils.MD5V([]byte(u.Password))
@@ -62,45 +68,57 @@ func  ChangePassword(u *model.SysUser, newPassword string) (err error, userInter
 
 // @title    GetInfoList
 // @description   get user list by pagination, 分页获取数据
-// @auth                      (2020/04/05  20:22 
-// @param     PageInfo         int
+// @auth                      (2020/04/05  20:22)
+// @param     info             request.PageInfo
 // @return    err              error
 // @return    list             interface{}
 // @return    total            int
+
 func GetUserInfoList(info request.PageInfo) (err error, list interface{}, total int) {
 	limit := info.PageSize
 	offset := info.PageSize * (info.Page - 1)
 	db := global.GVA_DB
-	if err != nil {
-		return
-	} else {
-		var userList []model.SysUser
-		err = db.Limit(limit).Offset(offset).Preload("Authority").Find(&userList).Error
-		return err, userList, total
-	}
+	var userList []model.SysUser
+	err = db.Find(&userList).Count(&total).Error
+	err = db.Limit(limit).Offset(offset).Preload("Authority").Find(&userList).Error
+	return err, userList, total
 }
 
 // @title    SetUserAuthority
 // @description   set the authority of a certain user, 设置一个用户的权限
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     uuid            UUID
 // @param     authorityId     string
 // @return    err             error
-func  SetUserAuthority(uuid uuid.UUID, authorityId string) (err error) {
+
+func SetUserAuthority(uuid uuid.UUID, authorityId string) (err error) {
 	err = global.GVA_DB.Where("uuid = ?", uuid).First(&model.SysUser{}).Update("authority_id", authorityId).Error
 	return err
 }
 
+// @title    SetUserAuthority
+// @description   set the authority of a certain user, 设置一个用户的权限
+// @auth                     (2020/04/05  20:22)
+// @param     uuid            UUID
+// @param     authorityId     string
+// @return    err             error
+
+func DeleteUser(id float64) (err error) {
+	var user model.SysUser
+	err = global.GVA_DB.Where("id = ?", id).Delete(&user).Error
+	return err
+}
+
 // @title    UploadHeaderImg
 // @description   upload avatar, 用户头像上传更新地址
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
 // @param     uuid            UUID
 // @param     filePath        string
 // @return    err             error
 // @return    userInter       *SysUser
+
 func UploadHeaderImg(uuid uuid.UUID, filePath string) (err error, userInter *model.SysUser) {
 	var user model.SysUser
 	err = global.GVA_DB.Where("uuid = ?", uuid).First(&user).Update("header_img", filePath).First(&user).Error
 	return err, &user
 }
-

+ 3 - 1
server/service/sys_workflow.go

@@ -7,8 +7,10 @@ import (
 
 // @title    Create
 // @description   create a workflow, 创建工作流
-// @auth                     (2020/04/05  20:22 )
+// @auth                     (2020/04/05  20:22)
+// @param     wk              model.SysWorkflow
 // @return                    error
+
 func Create(wk model.SysWorkflow) error {
 	err := global.GVA_DB.Create(&wk).Error
 	return err

+ 20 - 3
server/utils/directory.go

@@ -1,12 +1,16 @@
 package utils
 
-import "os"
+import (
+	"os"
+	"path/filepath"
+)
 
 // @title    PathExists
 // @description   文件目录是否存在
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     path            string
 // @return    err             error
+
 func PathExists(path string) (bool, error) {
 	_, err := os.Stat(path)
 	if err == nil {
@@ -20,9 +24,10 @@ func PathExists(path string) (bool, error) {
 
 // @title    createDir
 // @description   批量创建文件夹
-// @auth                     (2020/04/05  20:22 
+// @auth                     (2020/04/05  20:22)
 // @param     dirs            string
 // @return    err             error
+
 func CreateDir(dirs ...string) (err error) {
 	for _, v := range dirs {
 		exist, err := PathExists(v)
@@ -45,3 +50,15 @@ func CreateDir(dirs ...string) (err error) {
 	}
 	return err
 }
+
+// @title cwd
+// @description 获取当前工作目录
+// @return string
+
+func CWD() string {
+	path, err := os.Executable()
+	if err != nil {
+		return ""
+	}
+	return filepath.Dir(path)
+}

+ 36 - 3
web/package-lock.json

@@ -870,6 +870,14 @@
                 "postcss": "^7.0.0"
             }
         },
+        "@moefe/vue-aplayer": {
+            "version": "2.0.0-beta.5",
+            "resolved": "https://registry.npmjs.org/@moefe/vue-aplayer/-/vue-aplayer-2.0.0-beta.5.tgz",
+            "integrity": "sha512-ytzp4GStzjftuh7H1rIS/ziqwV1FO67iTLSkDxgN0J2bqlO+rBgDDr83Y+pZKBIgRUc30uu/UZHqmE4QiBHHeg==",
+            "requires": {
+                "vue": "^2.5.17"
+            }
+        },
         "@mrmlnc/readdir-enhanced": {
             "version": "2.2.1",
             "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz",
@@ -1280,7 +1288,7 @@
                 "@vue/component-compiler-utils": "^3.0.0",
                 "@vue/preload-webpack-plugin": "^1.1.0",
                 "@vue/web-component-wrapper": "^1.2.0",
-                "acorn": "^6.4.1",
+                "acorn": "^6.1.1",
                 "acorn-walk": "^6.1.1",
                 "address": "^1.0.3",
                 "autoprefixer": "^9.5.1",
@@ -1310,7 +1318,7 @@
                 "lodash.mapvalues": "^4.6.0",
                 "lodash.transform": "^4.6.0",
                 "mini-css-extract-plugin": "^0.6.0",
-                "minimist": "^1.2.3",
+                "minimist": "^1.2.0",
                 "ora": "^3.4.0",
                 "portfinder": "^1.0.20",
                 "postcss-loader": "^3.0.0",
@@ -1331,6 +1339,18 @@
                 "webpack-merge": "^4.2.1"
             },
             "dependencies": {
+                "acorn": {
+                    "version": "6.4.1",
+                    "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+                    "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+                    "dev": true
+                },
+                "minimist": {
+                    "version": "1.2.5",
+                    "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+                    "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+                    "dev": true
+                },
                 "semver": {
                     "version": "6.3.0",
                     "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
@@ -4059,6 +4079,14 @@
                 "safer-buffer": "^2.1.0"
             }
         },
+        "echarts": {
+            "version": "4.7.0",
+            "resolved": "https://registry.npmjs.org/echarts/-/echarts-4.7.0.tgz",
+            "integrity": "sha512-NlOTdUcAsIyCCG+N4uh0ZEvXtrPW2jvcuqf03RyqYeCKzyPbiOQ4I3MdKXMhxG3lBdqQNdNXVT71SB4KTQjN0A==",
+            "requires": {
+                "zrender": "4.3.0"
+            }
+        },
         "ee-first": {
             "version": "1.1.1",
             "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
@@ -12379,6 +12407,11 @@
                     "dev": true
                 }
             }
+        },
+        "zrender": {
+            "version": "4.3.0",
+            "resolved": "https://registry.npmjs.org/zrender/-/zrender-4.3.0.tgz",
+            "integrity": "sha512-Dii6j2bDsPkxQayuVf2DXJeruIB/mKVxxcGRZQ9GExiBd4c3w7+oBuvo1O/JGHeFeA1nCmSDVDs/S7yKZG1nrA=="
         }
     }
-}
+}

+ 2 - 0
web/package.json

@@ -8,8 +8,10 @@
         "lint": "vue-cli-service lint"
     },
     "dependencies": {
+        "@moefe/vue-aplayer": "^2.0.0-beta.5",
         "axios": "^0.19.0",
         "core-js": "^2.6.5",
+        "echarts": "^4.7.0",
         "element-ui": "^2.12.0",
         "mavon-editor": "^2.7.7",
         "node-sass": "^4.12.0",

+ 31 - 0
web/src/api/authority.js

@@ -46,6 +46,22 @@ export const createAuthority = (data) => {
     })
 }
 
+// @Tags authority
+// @Summary 拷贝角色
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body api.CreateAuthorityPatams true "拷贝角色"
+// @Success 200 {string} json "{"success":true,"data":{},"msg":"拷贝成功"}"
+// @Router /authority/copyAuthority [post]
+export const copyAuthority = (data) => {
+    return service({
+        url: "/authority/copyAuthority",
+        method: 'post',
+        data
+    })
+}
+
 // @Summary 设置角色资源权限
 // @Security ApiKeyAuth
 // @accept application/json
@@ -59,4 +75,19 @@ export const setDataAuthority = (data) => {
         method: 'post',
         data
     })
+}
+
+// @Summary 修改角色
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body model.SysAuthority true "修改角色"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"设置成功"}"
+// @Router /authority/setDataAuthority [post]
+export const updateAuthority = (data) => {
+    return service({
+        url: "/authority/updateAuthority",
+        method: 'put',
+        data
+    })
 }

+ 18 - 18
web/src/api/customer.js

@@ -7,10 +7,10 @@ import service from '@/utils/request'
 // @Produce application/json
 // @Param data body dbModel.ExaCustomer true "删除客户"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/createExaCustomer [post]
+// @Router /customer/customer [post]
 export const createExaCustomer = (data) => {
     return service({
-        url: "/customer/createExaCustomer",
+        url: "/customer/customer",
         method: 'post',
         data
     })
@@ -25,11 +25,11 @@ export const createExaCustomer = (data) => {
 // @Produce application/json
 // @Param data body dbModel.ExaCustomer true "更新客户信息"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/updateExaCustomer [post]
+// @Router /customer/customer [put]
 export const updateExaCustomer = (data) => {
     return service({
-        url: "/customer/updateExaCustomer",
-        method: 'post',
+        url: "/customer/customer",
+        method: 'put',
         data
     })
 }
@@ -42,11 +42,11 @@ export const updateExaCustomer = (data) => {
 // @Produce application/json
 // @Param data body dbModel.ExaCustomer true "创建客户"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/deleteExaCustomer [post]
+// @Router /customer/customer [delete]
 export const deleteExaCustomer = (data) => {
     return service({
-        url: "/customer/deleteExaCustomer",
-        method: 'post',
+        url: "/customer/customer",
+        method: 'delete',
         data
     })
 }
@@ -59,12 +59,12 @@ export const deleteExaCustomer = (data) => {
 // @Produce application/json
 // @Param data body dbModel.ExaCustomer true "获取单一客户信息"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/getExaCustomer [post]
-export const getExaCustomer = (data) => {
+// @Router /customer/customer [get]
+export const getExaCustomer = (params) => {
     return service({
-        url: "/customer/getExaCustomer",
-        method: 'post',
-        data
+        url: "/customer/customer",
+        method: 'get',
+        params
     })
 }
 
@@ -76,11 +76,11 @@ export const getExaCustomer = (data) => {
 // @Produce application/json
 // @Param data body modelInterface.PageInfo true "获取权限客户列表"
 // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
-// @Router /customer/createExaCustomer [post]
-export const getExaCustomerList = (data) => {
+// @Router /customer/customerList [get]
+export const getExaCustomerList = (params) => {
     return service({
-        url: "/customer/getExaCustomerList",
-        method: 'post',
-        data
+        url: "/customer/customerList",
+        method: 'get',
+        params
     })
 }

+ 17 - 0
web/src/api/user.js

@@ -77,4 +77,21 @@ export const setUserAuthority = (data) => {
         method: 'post',
         data: data
     })
+}
+
+
+// @Tags SysUser
+// @Summary 删除用户
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Param data body request.SetUserAuth true "删除用户"
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"修改成功"}"
+// @Router /user/deleteUser [delete]
+export const deleteUser = (data) => {
+    return service({
+        url: "/user/deleteUser",
+        method: 'delete',
+        data: data
+    })
 }

+ 0 - 4
web/src/components/mixins/infoList.js

@@ -24,9 +24,5 @@ export default {
             this.page = table.data.page
             this.pageSize = table.data.pageSize
         }
-    },
-    mounted() {
-        this.getTableData()
     }
-
 }

+ 17 - 1
web/src/main.js

@@ -35,8 +35,24 @@ Vue.config.productionTip = false
 // 路由守卫
 import Bus from '@/utils/bus.js'
 Vue.use(Bus)
+
+import APlayer from '@moefe/vue-aplayer';
+
+Vue.use(APlayer, {
+    defaultCover: 'https://github.com/u3u.png',
+    productionTip: true,
+});
+
+
 new Vue({
     render: h => h(App),
     router,
     store
-}).$mount('#app')
+}).$mount('#app')
+
+//引入echarts
+import echarts from 'echarts'
+Vue.prototype.$echarts = echarts;
+
+
+

+ 162 - 159
web/src/style/main.scss

@@ -530,11 +530,12 @@ ol,
 li {
     list-style-type: none;
 }
-.el-table__body-wrapper{
-    tr{
-        td{
-            .cell{
-                .el-button+.el-button{
+
+.el-table__body-wrapper {
+    tr {
+        td {
+            .cell {
+                .el-button+.el-button {
                     margin-left: 0;
                 }
             }
@@ -542,210 +543,204 @@ li {
     }
 }
 
-
 // navbar
-.aside{
-.el-scrollbar {
-    .el-scrollbar__view {
-      .el-menu-vertical{
-    background-color: #001529;
-      }
-      .el-menu-item:hover i,
-      .el-menu-item:hover span{
-        color:#fff;
-      }
-      li{
-         background-color: #001529;
-        
-        ul{
-          .el-menu-item{
-             background-color: #000408;
-             height: 44px;
-             line-height: 44px;
-          }
-         
-          .is-active{
-           background-color:#1890ff;
-         }
-        }
-      }
-      .el-submenu__title:hover{
-         background-color: #001529;
-      }
-      .el-submenu__title:hover i,
-      .el-submenu__title:hover span{
-        color:#fff;
-      }
-
-      .el-menu--inline{
-          border-left: 5px solid #2c3b41;
-      }
-    }
-  }
-}
-
-//   layout
-    .layout-cont{
-        .main-cont{
-            position: relative;
-            &.el-main {
-                background-color: #ecf0f5;
-                padding: 0;
+.aside {
+    .el-scrollbar {
+        .el-scrollbar__view {
+            .el-menu-vertical {
+                background-color: #001529;
             }
-            .breadcrumb{
-                background-color: #fff;
-                padding: 0 0 15px 15px;
+            .el-menu-item:hover i,
+            .el-menu-item:hover span {
+                color: #fff;
+            }
+            li {
+                background-color: #001529;
+                ul {
+                    .el-menu-item {
+                        background-color: #000408;
+                        height: 44px;
+                        line-height: 44px;
+                    }
+                    .is-active {
+                        background-color: #1890ff;
+                    }
+                }
+            }
+            .el-submenu__title:hover {
+                background-color: #001529;
+            }
+            .el-submenu__title:hover i,
+            .el-submenu__title:hover span {
+                color: #fff;
+            }
+            .el-menu--inline {
+                border-left: 5px solid #2c3b41;
             }
         }
     }
+}
 
-    .admin-box {
-        padding: 15px 20px;
-        .el-button{
-            padding: 7px 10px;
-        }
-        .el-input__inner{
-            height: 30px;
-            line-height: 30px;
+//   layout
+.layout-cont {
+    .main-cont {
+        position: relative;
+        &.el-main {
+            background-color: #ecf0f5;
+            padding: 0;
         }
-        .el-input__icon{
-            line-height: 30px;
+        .breadcrumb {
+            background-color: #fff;
+            padding: 0 0 15px 15px;
         }
     }
-    .button-box{
-        background: #fff;
-        border: 1px solid #ebeef5;
-        border-bottom: none;
+}
 
+.admin-box {
+    padding: 15px 20px;
+    .el-button {
+        padding: 7px 10px;
     }
-    
-    .search-term{
-        background: #fff;
-        padding: 0 15px;
-        border-left: 1px solid #ebeef5;
-        border-right: 1px solid #ebeef5;
+    .el-input__inner {
+        height: 30px;
+        line-height: 30px;
+    }
+    .el-input__icon {
+        line-height: 30px;
     }
-       
+}
 
+.button-box {
+    background: #fff;
+    border: 1px solid #ebeef5;
+    border-bottom: none;
+}
+
+.search-term {
+    background: #fff;
+    padding: 0 15px;
+    border-left: 1px solid #ebeef5;
+    border-right: 1px solid #ebeef5;
+}
 
 // table
-.has-gutter{
-    tr{
-        th{
+.has-gutter {
+    tr {
+        th {
             background-color: #fafafa;
         }
     }
 }
-.el-table--striped{
-    .el-table__body{
-        tr.el-table__row--striped{
-            td{
+
+.el-table--striped {
+    .el-table__body {
+        tr.el-table__row--striped {
+            td {
                 background: #fff!important;
             }
         }
     }
-}  
-.el-table th, .el-table tr{
+}
+
+.el-table th,
+.el-table tr {
     background-color: #fafafa;
 }
-.el-pagination{
+
+.el-pagination {
     .btn-prev,
-    .btn-next{
+    .btn-next {
         border: 1px solid #ddd;
         border-radius: 4px;
     }
-    .el-pager{
-        
-        
-        li{
+    .el-pager {
+        li {
             color: #666;
             font-size: 12px;
             margin: 0 5px;
             border: 1px solid #ddd;
             border-radius: 4px;
         }
-    } 
+    }
 }
 
-
-
 // el-form
-.el-form{
+.el-form {
     background-color: #fff;
     padding: 10px 0;
 }
-.el-row{
+
+.el-row {
     padding: 10px 0;
-    .el-col>label{
-       
-            line-height: 30px;
-            text-align: right;
-            width: 80%;
-            padding-right: 15px;
-            display: inline-block;
-       
+    .el-col>label {
+        line-height: 30px;
+        text-align: right;
+        width: 80%;
+        padding-right: 15px;
+        display: inline-block;
     }
-    
-    .line{
+    .line {
         line-height: 30px;
         text-align: center;
     }
 }
+
 // edit_container
-.edit_container{
+.edit_container {
     background-color: #fff;
     padding: 15px;
     .el-button {
         margin: 15px 0;
     }
 }
-.edit{
+
+.edit {
     background-color: #fff;
-    padding: 15px; 
+    padding: 15px;
     .el-button {
         margin: 15px 0;
     }
 }
+
 // upload-demo
 .upload-demo,
-.upload{
+.upload {
     background-color: #fff;
-    padding: 15px; 
-    .el-upload-list__item-status-label{
+    padding: 15px;
+    .el-upload-list__item-status-label {
         right: 0;
         left: 120px;
     }
-    .el-upload__tip{
+    .el-upload__tip {
         margin: 10px 0;
-       }
+    }
 }
 
 // system
-.system{
+.system {
     padding: 15px;
-    .el-input__inner{
+    .el-input__inner {
         width: 80%;
     }
 }
 
 // 导航
 #app {
-    .el-container{
+    .el-container {
         position: relative;
         height: 100%;
         width: 100%;
-       
     }
     .el-container.mobile.openside {
         position: fixed;
         top: 0;
     }
-    .hideside{
-        .aside{
+    .hideside {
+        .aside {
             width: 54px!important;
         }
     }
-    .el-aside{
+    .el-aside {
         -webkit-transition: width .2s;
         transition: width .2s;
         width: 220px;
@@ -759,66 +754,57 @@ li {
         z-index: 1001;
         overflow: hidden;
     }
-
-    .mobile.hideside{
-        .el-aside{
+    .mobile.hideside {
+        .el-aside {
             // pointer-events: none;
             -webkit-transition-duration: .2s;
             transition-duration: .2s;
-            -webkit-transform: translate3d(-210px,0,0);
-            transform: translate3d(-220px,0,0);
+            -webkit-transform: translate3d(-210px, 0, 0);
+            transform: translate3d(-220px, 0, 0);
         }
-      
     }
- 
-    .mobile{
-        .el-aside{
+    .mobile {
+        .el-aside {
             -webkit-transition: -webkit-transform .28s;
             transition: -webkit-transform .28s;
             transition: transform .28s;
-            transition: transform .28s,-webkit-transform .28s;
+            transition: transform .28s, -webkit-transform .28s;
             width: 210px!important
         }
     }
-    
-   
-    .el-container{
+    .el-container {
         position: relative;
         height: 100%;
         width: 100%;
-        .el-aside{
+        .el-aside {
             // transition: none;
-          .aside {
+            .aside {
                 background: #000;
-                .el-menu{
+                .el-menu {
                     border-right: none;
                 }
             }
         }
     }
-  
-    .main-cont.el-main{
+    .main-cont.el-main {
         min-height: 100%;
         -webkit-transition: margin-left .28s;
         transition: margin-left .28s;
         margin-left: 220px;
         position: relative;
     }
-   
-
-    .hideside{
-        .main-cont.el-main{
+    .hideside {
+        .main-cont.el-main {
             margin-left: 54px;
         }
     }
-  .mobile {
-        .main-cont.el-main{
+    .mobile {
+        .main-cont.el-main {
             margin-left: 0px;
         }
-       
     }
-    .openside.mobile{
-        .shadowBg{
+    .openside.mobile {
+        .shadowBg {
             background: #000;
             opacity: .3;
             width: 100%;
@@ -829,22 +815,39 @@ li {
             left: 0;
         }
     }
-    
 }
-.el-menu--vertical{
-    .el-menu{
+
+.el-menu .el-menu--inline {
+    background: #2c3b41;
+}
+
+.el-submenu .el-submenu {
+    background-color: #000408 !important;
+}
+
+.aside .el-scrollbar .el-scrollbar__view .el-submenu__title:hover {
+    background-color: #000408 !important;
+}
+
+.el-submenu {
+    .aside .el-scrollbar .el-scrollbar__view .el-submenu__title:hover {
+        background-color: #000408 !important;
+    }
+}
+
+.el-menu--vertical {
+    .el-menu {
         margin-left: -8px;
-        background-color:rgb(48,65,86);
-        .el-menu-item{
-            background-color:rgb(48,65,86);
+        background-color: rgb(48, 65, 86);
+        .el-menu-item {
+            background-color: rgb(48, 65, 86);
         }
-        .el-menu-item:focus, 
-        .el-menu-item:hover{
+        .el-menu-item:focus,
+        .el-menu-item:hover {
             background-color: #263445;
             color: #fff;
         }
     }
 }
-// 导航*****
-
 
+// 导航*****

+ 120 - 0
web/src/view/dashboard/component/RaddarChart.vue

@@ -0,0 +1,120 @@
+<template>
+    <div :class="className" :style="{height:height,width:width}" />
+</template>
+
+<script>
+    import echarts from 'echarts'
+    require('echarts/theme/macarons') // echarts theme
+
+    const animationDuration = 3000
+
+    export default {
+        name:'RaddarChart',
+        props: {
+            className: {
+                type: String,
+                default: 'chart'
+            },
+            width: {
+                type: String,
+                default: '100%'
+            },
+            height: {
+                type: String,
+                default: '300px'
+            }
+        },
+        data() {
+            return {
+                chart: null
+            }
+        },
+        mounted() {
+            this.initChart()
+           /* this.__resizeHandler = debounce(() => {
+                if (this.chart) {
+                    this.chart.resize()
+                }
+            }, 100)
+            window.addEventListener('resize', this.__resizeHandler)*/
+        },
+        beforeDestroy() {
+            if (!this.chart) {
+                return
+            }
+            // window.removeEventListener('resize', this.__resizeHandler)
+            this.chart.dispose()
+            this.chart = null
+        },
+        methods: {
+            initChart() {
+                this.chart = echarts.init(this.$el, 'light')
+
+                this.chart.setOption({
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: { // 坐标轴指示器,坐标轴触发有效
+                            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
+                        }
+                    },
+                    radar: {
+                        radius: '66%',
+                        center: ['50%', '42%'],
+                        splitNumber: 8,
+                        splitArea: {
+                            areaStyle: {
+                                color: 'rgba(255,192,203,.3)',
+                                opacity: 1,
+                                shadowBlur: 45,
+                                shadowColor: 'rgba(0,0,0,.5)',
+                                shadowOffsetX: 0,
+                                shadowOffsetY: 15
+                            }
+                        },
+                        indicator: [
+                            { name: 'Sales', max: 10000 },
+                            { name: 'Administration', max: 20000 },
+                            { name: 'Information Techology', max: 20000 },
+                            { name: 'Customer Support', max: 20000 },
+                            { name: 'Development', max: 20000 },
+                            { name: 'Marketing', max: 20000 }
+                        ]
+                    },
+                    legend: {
+                        left: 'center',
+                        bottom: '10',
+                        data: ['Allocated Budget', 'Expected Spending', 'Actual Spending']
+                    },
+                    series: [{
+                        type: 'radar',
+                        symbolSize: 0,
+                        areaStyle: {
+                            normal: {
+                                shadowBlur: 13,
+                                shadowColor: 'rgba(0,0,0,.2)',
+                                shadowOffsetX: 0,
+                                shadowOffsetY: 10,
+                                opacity: 1
+                            }
+                        },
+                        data: [
+                            {
+                                value: [5000, 7000, 12000, 11000, 15000, 14000],
+                                name: 'Allocated Budget'
+                            },
+                            {
+                                value: [4000, 9000, 15000, 15000, 13000, 11000],
+                                name: 'Expected Spending'
+                            },
+                            {
+                                value: [5500, 11000, 12000, 15000, 12000, 12000],
+                                name: 'Actual Spending'
+                            }
+                        ],
+                        animationDuration: animationDuration
+                    }]
+                })
+            }
+        }
+    }
+</script>

+ 391 - 0
web/src/view/dashboard/component/Sunburst.vue

@@ -0,0 +1,391 @@
+<template>
+    <div :class="className" :style="{height:height,width:width}" />
+</template>
+
+<script>
+    import echarts from 'echarts'
+    require('echarts/theme/macarons') // echarts theme
+
+    const animationDuration = 3000
+
+    export default {
+        name: "Sunburst",
+        props: {
+            className: {
+                type: String,
+                default: 'chart'
+            },
+            width: {
+                type: String,
+                default: '100%'
+            },
+            height: {
+                type: String,
+                default: '300px'
+            }
+        },
+        data() {
+            return {
+                chart: null,
+                datas:[
+                    {
+                    name: 'Flora',
+                    itemStyle: {
+                        color: '#da0d68'
+                    },
+                    children: [{
+                        name: 'Black Tea',
+                        value: 1,
+                        itemStyle: {
+                            color: '#975e6d'
+                        }
+                    }, {
+                        name: 'Floral',
+                        itemStyle: {
+                            color: '#e0719c'
+                        },
+                        children: [{
+                            name: 'Chamomile',
+                            value: 1,
+                            itemStyle: {
+                                color: '#f99e1c'
+                            }
+                        }, {
+                            name: 'Rose',
+                            value: 1,
+                            itemStyle: {
+                                color: '#ef5a78'
+                            }
+                        }, {
+                            name: 'Jasmine',
+                            value: 1,
+                            itemStyle: {
+                                color: '#f7f1bd'
+                            }
+                        }]
+                    }]
+                },
+                    {
+                    name: 'Fruity',
+                    itemStyle: {
+                        color: '#da1d23'
+                    },
+                    children: [{
+                        name: 'Berry',
+                        itemStyle: {
+                            color: '#dd4c51'
+                        },
+                        children: [{
+                            name: 'Blackberry',
+                            value: 1,
+                            itemStyle: {
+                                color: '#3e0317'
+                            }
+                        }, {
+                            name: 'Raspberry',
+                            value: 1,
+                            itemStyle: {
+                                color: '#e62969'
+                            }
+                        }, {
+                            name: 'Blueberry',
+                            value: 1,
+                            itemStyle: {
+                                color: '#6569b0'
+                            }
+                        }, {
+                            name: 'Strawberry',
+                            value: 1,
+                            itemStyle: {
+                                color: '#ef2d36'
+                            }
+                        }]
+                    }, {
+                        name: 'Dried Fruit',
+                        itemStyle: {
+                            color: '#c94a44'
+                        },
+                        children: [{
+                            name: 'Raisin',
+                            value: 1,
+                            itemStyle: {
+                                color: '#b53b54'
+                            }
+                        }, {
+                            name: 'Prune',
+                            value: 1,
+                            itemStyle: {
+                                color: '#a5446f'
+                            }
+                        }]
+                    }, {
+                        name: 'Other Fruit',
+                        itemStyle: {
+                            color: '#dd4c51'
+                        },
+                        children: [{
+                            name: 'Coconut',
+                            value: 1,
+                            itemStyle: {
+                                color: '#f2684b'
+                            }
+                        }, {
+                            name: 'Cherry',
+                            value: 1,
+                            itemStyle: {
+                                color: '#e73451'
+                            }
+                        }, {
+                            name: 'Pomegranate',
+                            value: 1,
+                            itemStyle: {
+                                color: '#e65656'
+                            }
+                        }, {
+                            name: 'Pineapple',
+                            value: 1,
+                            itemStyle: {
+                                color: '#f89a1c'
+                            }
+                        }, {
+                            name: 'Grape',
+                            value: 1,
+                            itemStyle: {
+                                color: '#aeb92c'
+                            }
+                        }, {
+                            name: 'Apple',
+                            value: 1,
+                            itemStyle: {
+                                color: '#4eb849'
+                            }
+                        }, {
+                            name: 'Peach',
+                            value: 1,
+                            itemStyle: {
+                                color: '#f68a5c'
+                            }
+                        }, {
+                            name: 'Pear',
+                            value: 1,
+                            itemStyle: {
+                                color: '#baa635'
+                            }
+                        }]
+                    }, {
+                        name: 'Citrus Fruit',
+                        itemStyle: {
+                            color: '#f7a128'
+                        },
+                        children: [{
+                            name: 'Grapefruit',
+                            value: 1,
+                            itemStyle: {
+                                color: '#f26355'
+                            }
+                        }, {
+                            name: 'Orange',
+                            value: 1,
+                            itemStyle: {
+                                color: '#e2631e'
+                            }
+                        }, {
+                            name: 'Lemon',
+                            value: 1,
+                            itemStyle: {
+                                color: '#fde404'
+                            }
+                        }, {
+                            name: 'Lime',
+                            value: 1,
+                            itemStyle: {
+                                color: '#7eb138'
+                            }
+                        }]
+                    }]
+                },
+                    {
+                    name: 'Other',
+                    itemStyle: {
+                        color: '#0aa3b5'
+                    },
+                    children: [{
+                        name: 'Papery/Musty',
+                        itemStyle: {
+                            color: '#9db2b7'
+                        },
+                        children: [{
+                            name: 'Stale',
+                            value: 1,
+                            itemStyle: {
+                                color: '#8b8c90'
+                            }
+                        }, {
+                            name: 'Cardboard',
+                            value: 1,
+                            itemStyle: {
+                                color: '#beb276'
+                            }
+                        }, {
+                            name: 'Papery',
+                            value: 1,
+                            itemStyle: {
+                                color: '#fefef4'
+                            }
+                        }, {
+                            name: 'Woody',
+                            value: 1,
+                            itemStyle: {
+                                color: '#744e03'
+                            }
+                        }, {
+                            name: 'Moldy/Damp',
+                            value: 1,
+                            itemStyle: {
+                                color: '#a3a36f'
+                            }
+                        }, {
+                            name: 'Musty/Dusty',
+                            value: 1,
+                            itemStyle: {
+                                color: '#c9b583'
+                            }
+                        }, {
+                            name: 'Musty/Earthy',
+                            value: 1,
+                            itemStyle: {
+                                color: '#978847'
+                            }
+                        }, {
+                            name: 'Animalic',
+                            value: 1,
+                            itemStyle: {
+                                color: '#9d977f'
+                            }
+                        }, {
+                            name: 'Meaty Brothy',
+                            value: 1,
+                            itemStyle: {
+                                color: '#cc7b6a'
+                            }
+                        }, {
+                            name: 'Phenolic',
+                            value: 1,
+                            itemStyle: {
+                                color: '#db646a'
+                            }
+                        }]
+                    }, {
+                        name: 'Chemical',
+                        itemStyle: {
+                            color: '#76c0cb'
+                        },
+                        children: [{
+                            name: 'Bitter',
+                            value: 1,
+                            itemStyle: {
+                                color: '#80a89d'
+                            }
+                        }, {
+                            name: 'Salty',
+                            value: 1,
+                            itemStyle: {
+                                color: '#def2fd'
+                            }
+                        }, {
+                            name: 'Medicinal',
+                            value: 1,
+                            itemStyle: {
+                                color: '#7a9bae'
+                            }
+                        }, {
+                            name: 'Petroleum',
+                            value: 1,
+                            itemStyle: {
+                                color: '#039fb8'
+                            }
+                        }, {
+                            name: 'Skunky',
+                            value: 1,
+                            itemStyle: {
+                                color: '#5e777b'
+                            }
+                        }, {
+                            name: 'Rubber',
+                            value: 1,
+                            itemStyle: {
+                                color: '#120c0c'
+                            }
+                        }]
+                    }]
+                },
+                ]
+            }
+        },
+        mounted() {
+            this.initChart()
+            /* this.__resizeHandler = debounce(() => {
+                 if (this.chart) {
+                     this.chart.resize()
+                 }
+             }, 100)
+             window.addEventListener('resize', this.__resizeHandler)*/
+        },
+        beforeDestroy() {
+            if (!this.chart) {
+                return
+            }
+            // window.removeEventListener('resize', this.__resizeHandler)
+            this.chart.dispose()
+            this.chart = null
+        },
+        methods: {
+            initChart() {
+                this.chart = echarts.init(this.$el, 'macarons')
+
+                this.chart.setOption({
+
+                        series: {
+                            type: 'sunburst',
+                            highlightPolicy: 'ancestor',
+                            data: this.datas,
+                            radius: [0, '95%'],
+                            sort: null,
+                            levels: [{}, {
+                                r0: '15%',
+                                r: '35%',
+                                itemStyle: {
+                                    borderWidth: 2
+                                },
+                                label: {
+                                    rotate: 'tangential'
+                                }
+                            }, {
+                                r0: '35%',
+                                r: '70%',
+                                label: {
+                                    align: 'right'
+                                }
+                            }, {
+                                r0: '70%',
+                                r: '72%',
+                                label: {
+                                    position: 'outside',
+                                    padding: 3,
+                                    silent: false
+                                },
+                                itemStyle: {
+                                    borderWidth: 3
+                                }
+                            }]
+                        },
+                animationDuration: animationDuration
+                })
+            }
+        }
+    }
+</script>
+
+<style scoped>
+
+</style>

+ 48 - 0
web/src/view/dashboard/component/musicPlayer.vue

@@ -0,0 +1,48 @@
+<template>
+    <div>
+        <div style="width: 100%">
+            <APlayer :audio="audio"></APlayer>
+        </div>
+    </div>
+</template>
+
+<script>
+    import { APlayer } from '@moefe/vue-aplayer';
+    export default {
+        name: "musicPlayer",
+        components:{
+            APlayer
+        },
+        data(){
+            return {
+                audio :[
+                    {
+                        name: '东西(Cover:林俊呈)',
+                        artist: '纳豆',
+                        url: 'https://cdn.moefe.org/music/mp3/thing.mp3',
+                        cover: 'https://p1.music.126.net/5zs7IvmLv7KahY3BFzUmrg==/109951163635241613.jpg?param=300y300', // prettier-ignore
+                        lrc: 'https://cdn.moefe.org/music/lrc/thing.lrc',
+                    },
+                    {
+                        name: '响喜乱舞(Cover:MARiA)',
+                        artist: '泠鸢yousa',
+                        url: 'https://cdn.moefe.org/music/mp3/kyoukiranbu.mp3',
+                        cover: 'https://p1.music.126.net/AUGVPQ_rVrngDH9ocQrn3Q==/109951163613037822.jpg?param=300y300', // prettier-ignore
+                        lrc: 'https://cdn.moefe.org/music/lrc/kyoukiranbu.lrc',
+                    },
+                    {
+                        name: '啵唧',
+                        artist: 'Hanser',
+                        url: 'https://cdn.moefe.org/music/mp3/kiss.mp3',
+                        cover: 'https://p1.music.126.net/K0-IPcIQ9QFvA0jXTBqoWQ==/109951163636756693.jpg?param=300y300', // prettier-ignore
+                        lrc: 'https://cdn.moefe.org/music/lrc/kiss.lrc',
+                    },
+                ]
+            }
+        }
+    }
+</script>
+
+<style scoped>
+
+</style>

+ 167 - 0
web/src/view/dashboard/component/stackMap.vue

@@ -0,0 +1,167 @@
+<template>
+    <div :class="className" :style="{height:height,width:width}" />
+</template>
+
+<script>
+    import echarts from 'echarts'
+    require('echarts/theme/macarons') // echarts theme
+
+    const animationDuration = 3000
+
+    export default {
+        name: "stackMap",
+        props: {
+            className: {
+                type: String,
+                default: 'chart'
+            },
+            width: {
+                type: String,
+                default: '100%'
+            },
+            height: {
+                type: String,
+                default: '300px'
+            }
+        },
+        data() {
+            return {
+                chart: null
+            }
+        },
+        mounted() {
+            this.initChart()
+            /* this.__resizeHandler = debounce(() => {
+                 if (this.chart) {
+                     this.chart.resize()
+                 }
+             }, 100)
+             window.addEventListener('resize', this.__resizeHandler)*/
+        },
+        beforeDestroy() {
+            if (!this.chart) {
+                return
+            }
+            // window.removeEventListener('resize', this.__resizeHandler)
+            this.chart.dispose()
+            this.chart = null
+        },
+        methods: {
+            initChart() {
+                this.chart = echarts.init(this.$el, 'light')
+
+                this.chart.setOption({
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {            // 坐标轴指示器,坐标轴触发有效
+                            type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
+                        }
+                    },
+                    legend: {
+                        data: ['Javascript', 'Java', 'Python', 'Ruby', 'PHP']
+                    },
+                    grid: {
+                        left: '3%',
+                        right: '4%',
+                        bottom: '3%',
+                        containLabel: true
+                    },
+                    xAxis: {
+                        type: 'value',
+                        axisLabel: {
+                            show: true,
+                            textStyle: {
+                                color: 'rgb(192,192,192)',  //更改坐标轴文字颜色
+                                fontSize : 12     //更改坐标轴文字大小
+                            }
+                        },
+                        axisTick: {
+                            show: false
+                        },
+                        axisLine:{
+                            lineStyle:{
+                                color:'rgb(192,192,192)' //更改坐标轴颜色
+                            }
+                        },
+                    },
+                    yAxis: {
+                        type: 'category',
+                        data: ['Mon', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat', 'Sun'],
+                        axisLabel: {
+                            show: true,
+                            textStyle: {
+                                color: 'rgb(192,192,192)',  //更改坐标轴文字颜色
+                                fontSize: 12     //更改坐标轴文字大小
+                            }
+                        },
+                        axisTick: {
+                            show: false
+                        },
+                        axisLine: {
+                            lineStyle: {
+                                color: 'rgb(192,192,192)' //更改坐标轴颜色
+                            }
+                        }
+                    },
+                    series: [
+                        {
+                            name: 'Javascript',
+                            type: 'bar',
+                            stack: '总量',
+                            label: {
+                                show: true,
+                                position: 'insideRight'
+                            },
+                            data: [320, 302, 301, 334, 390, 330, 320]
+                        },
+                        {
+                            name: 'Java',
+                            type: 'bar',
+                            stack: '总量',
+                            label: {
+                                show: true,
+                                position: 'insideRight'
+                            },
+                            data: [120, 132, 101, 134, 90, 230, 210]
+                        },
+                        {
+                            name: 'Python',
+                            type: 'bar',
+                            stack: '总量',
+                            label: {
+                                show: true,
+                                position: 'insideRight'
+                            },
+                            data: [220, 182, 191, 234, 290, 330, 310]
+                        },
+                        {
+                            name: 'Ruby',
+                            type: 'bar',
+                            stack: '总量',
+                            label: {
+                                show: true,
+                                position: 'insideRight'
+                            },
+                            data: [150, 212, 201, 154, 190, 330, 410]
+                        },
+                        {
+                            name: 'PHP',
+                            type: 'bar',
+                            stack: '总量',
+                            label: {
+                                show: true,
+                                position: 'insideRight'
+                            },
+                            data: [820, 832, 901, 934, 1290, 1330, 1320]
+                        }
+                    ],
+                    animationDuration: animationDuration
+                })
+            }
+        }
+    }
+</script>
+
+<style scoped>
+
+</style>

+ 81 - 0
web/src/view/dashboard/component/todoList/Todo.vue

@@ -0,0 +1,81 @@
+<template>
+    <li :class="{ completed: todo.done, editing: editing }" class="todo">
+        <div class="view">
+            <input
+                    :checked="todo.done"
+                    class="toggle"
+                    type="checkbox"
+                    @change="toggleTodo( todo)"
+            >
+            <label @dblclick="editing = true" v-text="todo.text" />
+            <button class="destroy" @click="deleteTodo( todo )" />
+        </div>
+        <input
+                v-show="editing"
+                v-focus="editing"
+                :value="todo.text"
+                class="edit"
+                @keyup.enter="doneEdit"
+                @keyup.esc="cancelEdit"
+                @blur="doneEdit"
+        >
+    </li>
+</template>
+
+<script>
+    export default {
+        name: 'Todo',
+        directives: {
+            focus(el, { value }, { context }) {
+                if (value) {
+                    context.$nextTick(() => {
+                        el.focus()
+                    })
+                }
+            }
+        },
+        props: {
+            todo: {
+                type: Object,
+                default: function() {
+                    return {}
+                }
+            }
+        },
+        data() {
+            return {
+                editing: false
+            }
+        },
+        methods: {
+            deleteTodo(todo) {
+                this.$emit('deleteTodo', todo)
+            },
+            editTodo({ todo, value }) {
+                this.$emit('editTodo', { todo, value })
+            },
+            toggleTodo(todo) {
+                this.$emit('toggleTodo', todo)
+            },
+            doneEdit(e) {
+                const value = e.target.value.trim()
+                const { todo } = this
+                if (!value) {
+                    this.deleteTodo({
+                        todo
+                    })
+                } else if (this.editing) {
+                    this.editTodo({
+                        todo,
+                        value
+                    })
+                    this.editing = false
+                }
+            },
+            cancelEdit(e) {
+                e.target.value = this.todo.text
+                this.editing = false
+            }
+        }
+    }
+</script>

+ 320 - 0
web/src/view/dashboard/component/todoList/index.scss

@@ -0,0 +1,320 @@
+.todoapp {
+  font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif;
+  line-height: 1.4em;
+  color: #4d4d4d;
+  min-width: 230px;
+  max-width: 666px;
+  margin: 0 auto ;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-weight: 300;
+  background: #fff;
+  z-index: 1;
+  position: relative;
+  button {
+    margin: 0;
+    padding: 0;
+    border: 0;
+    background: none;
+    font-size: 100%;
+    vertical-align: baseline;
+    font-family: inherit;
+    font-weight: inherit;
+    color: inherit;
+    -webkit-appearance: none;
+    appearance: none;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+  }
+  :focus {
+    outline: 0;
+  }
+  .hidden {
+    display: none;
+  }
+  .todoapp {
+    background: #fff;
+    margin: 130px 0 40px 0;
+    position: relative;
+    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);
+  }
+  .todoapp input::-webkit-input-placeholder {
+    font-style: italic;
+    font-weight: 300;
+    color: #e6e6e6;
+  }
+  .todoapp input::-moz-placeholder {
+    font-style: italic;
+    font-weight: 300;
+    color: #e6e6e6;
+  }
+  .todoapp input::input-placeholder {
+    font-style: italic;
+    font-weight: 300;
+    color: #e6e6e6;
+  }
+  .todoapp h1 {
+    position: absolute;
+    top: -155px;
+    width: 100%;
+    font-size: 100px;
+    font-weight: 100;
+    text-align: center;
+    color: rgba(175, 47, 47, 0.15);
+    -webkit-text-rendering: optimizeLegibility;
+    -moz-text-rendering: optimizeLegibility;
+    text-rendering: optimizeLegibility;
+  }
+  .new-todo,
+  .edit {
+    position: relative;
+    margin: 0;
+    width: 100%;
+    font-size: 18px;
+    font-family: inherit;
+    font-weight: inherit;
+    line-height: 1.4em;
+    border: 0;
+    color: inherit;
+    padding: 6px;
+    border: 1px solid #999;
+    box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
+    box-sizing: border-box;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+  }
+  .new-todo {
+    padding: 10px 16px 16px 60px;
+    border: none;
+    background: rgba(0, 0, 0, 0.003);
+    box-shadow: inset 0 -2px 1px rgba(0, 0, 0, 0.03);
+  }
+  .main {
+    position: relative;
+    z-index: 2;
+    border-top: 1px solid #e6e6e6;
+  }
+  .toggle-all {
+    text-align: center;
+    border: none;
+    /* Mobile Safari */
+    opacity: 0;
+    position: absolute;
+  }
+  .toggle-all+label {
+    width: 60px;
+    height: 34px;
+    font-size: 0;
+    position: absolute;
+    top: -52px;
+    left: -13px;
+    -webkit-transform: rotate(90deg);
+    transform: rotate(90deg);
+  }
+  .toggle-all+label:before {
+    content: '❯';
+    font-size: 22px;
+    color: #e6e6e6;
+    padding: 10px 27px 10px 27px;
+  }
+  .toggle-all:checked+label:before {
+    color: #737373;
+  }
+  .todo-list {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+  }
+  .todo-list li {
+    position: relative;
+    font-size: 24px;
+    border-bottom: 1px solid #ededed;
+  }
+  .todo-list li:last-child {
+    border-bottom: none;
+  }
+  .todo-list li.editing {
+    border-bottom: none;
+    padding: 0;
+  }
+  .todo-list li.editing .edit {
+    display: block;
+    width: 506px;
+    padding: 12px 16px;
+    margin: 0 0 0 43px;
+  }
+  .todo-list li.editing .view {
+    display: none;
+  }
+  .todo-list li .toggle {
+    text-align: center;
+    width: 40px;
+    /* auto, since non-WebKit browsers doesn't support input styling */
+    height: auto;
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    margin: auto 0;
+    border: none;
+    /* Mobile Safari */
+    -webkit-appearance: none;
+    appearance: none;
+  }
+  .todo-list li .toggle {
+    opacity: 0;
+  }
+  .todo-list li .toggle+label {
+    /*
+    Firefox requires `#` to be escaped - https://bugzilla.mozilla.org/show_bug.cgi?id=922433
+    IE and Edge requires *everything* to be escaped to render, so we do that instead of just the `#` - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/
+  */
+    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E');
+    background-repeat: no-repeat;
+    background-position: center left;
+    background-size: 36px;
+  }
+  .todo-list li .toggle:checked+label {
+    background-size: 36px;
+    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E');
+  }
+  .todo-list li label {
+    word-break: break-all;
+    padding: 15px 15px 15px 50px;
+    display: block;
+    line-height: 1.0;
+        font-size: 14px;
+    transition: color 0.4s;
+  }
+  .todo-list li.completed label {
+    color: #d9d9d9;
+    text-decoration: line-through;
+  }
+  .todo-list li .destroy {
+    display: none;
+    position: absolute;
+    top: 0;
+    right: 10px;
+    bottom: 0;
+    width: 40px;
+    height: 40px;
+    margin: auto 0;
+    font-size: 30px;
+    color: #cc9a9a;
+    transition: color 0.2s ease-out;
+    cursor: pointer;
+  }
+  .todo-list li .destroy:hover {
+    color: #af5b5e;
+  }
+  .todo-list li .destroy:after {
+    content: '×';
+  }
+  .todo-list li:hover .destroy {
+    display: block;
+  }
+  .todo-list li .edit {
+    display: none;
+  }
+  .todo-list li.editing:last-child {
+    margin-bottom: -1px;
+  }
+  .footer {
+    color: #777;
+    position: relative;
+    padding: 10px 15px;
+    height: 40px;
+    text-align: center;
+    border-top: 1px solid #e6e6e6;
+  }
+  .footer:before {
+    content: '';
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    height: 40px;
+    overflow: hidden;
+    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 8px 0 -3px #f6f6f6, 0 9px 1px -3px rgba(0, 0, 0, 0.2), 0 16px 0 -6px #f6f6f6, 0 17px 2px -6px rgba(0, 0, 0, 0.2);
+  }
+  .todo-count {
+    float: left;
+    text-align: left;
+  }
+  .todo-count strong {
+    font-weight: 300;
+  }
+  .filters {
+    margin: 0;
+    padding: 0;
+    position: relative;
+    z-index: 1;
+    list-style: none;
+  }
+  .filters li {
+    display: inline;
+  }
+  .filters li a {
+    color: inherit;
+    font-size: 12px;
+    padding: 3px 7px;
+    text-decoration: none;
+    border: 1px solid transparent;
+    border-radius: 3px;
+  }
+  .filters li a:hover {
+    border-color: rgba(175, 47, 47, 0.1);
+  }
+  .filters li a.selected {
+    border-color: rgba(175, 47, 47, 0.2);
+  }
+  .clear-completed,
+  html .clear-completed:active {
+    float: right;
+    position: relative;
+    line-height: 20px;
+    text-decoration: none;
+    cursor: pointer;
+  }
+  .clear-completed:hover {
+    text-decoration: underline;
+  }
+  .info {
+    margin: 65px auto 0;
+    color: #bfbfbf;
+    font-size: 10px;
+    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+    text-align: center;
+  }
+  .info p {
+    line-height: 1;
+  }
+  .info a {
+    color: inherit;
+    text-decoration: none;
+    font-weight: 400;
+  }
+  .info a:hover {
+    text-decoration: underline;
+  }
+  /*
+  Hack to remove background from Mobile Safari.
+  Can't use it globally since it destroys checkboxes in Firefox
+*/
+  @media screen and (-webkit-min-device-pixel-ratio:0) {
+    .toggle-all,
+    .todo-list li .toggle {
+      background: none;
+    }
+    .todo-list li .toggle {
+      height: 40px;
+    }
+  }
+  @media (max-width: 430px) {
+    .footer {
+      height: 50px;
+    }
+    .filters {
+      bottom: 10px;
+    }
+  }
+}

+ 122 - 0
web/src/view/dashboard/component/todoList/index.vue

@@ -0,0 +1,122 @@
+<template>
+    <section class="todoapp">
+        <!-- header -->
+        <header class="header">
+            <input class="new-todo" autocomplete="off" placeholder="Todo List" @keyup.enter="addTodo">
+        </header>
+        <!-- main section -->
+        <section v-show="todos.length" class="main">
+            <input id="toggle-all" :checked="allChecked" class="toggle-all" type="checkbox" @change="toggleAll({ done: !allChecked })">
+            <label for="toggle-all" />
+            <ul class="todo-list">
+                <todo
+                        v-for="(todo, index) in filteredTodos"
+                        :key="index"
+                        :todo="todo"
+                        @toggleTodo="toggleTodo"
+                        @editTodo="editTodo"
+                        @deleteTodo="deleteTodo"
+                />
+            </ul>
+        </section>
+        <!-- footer -->
+        <footer v-show="todos.length" class="footer">
+      <span class="todo-count">
+        <strong>{{ remaining }}</strong>
+        {{ remaining | pluralize('item') }} left
+      </span>
+            <ul class="filters">
+                <li v-for="(val, key) in filters" :key="key">
+                    <a :class="{ selected: visibility === key }" @click.prevent="visibility = key">{{ key | capitalize }}</a>
+                </li>
+            </ul>
+            <!-- <button class="clear-completed" v-show="todos.length > remaining" @click="clearCompleted">
+              Clear completed
+            </button> -->
+        </footer>
+    </section>
+</template>
+
+<script>
+    import Todo from './Todo.vue'
+
+    const STORAGE_KEY = 'todos'
+    const filters = {
+        all: todos => todos,
+        active: todos => todos.filter(todo => !todo.done),
+        completed: todos => todos.filter(todo => todo.done)
+    }
+    const defalutList = [
+        { text: 'star this repository', done: false },
+        { text: 'follow author', done: false },
+        { text: 'vue-element-admin', done: true }
+    ]
+    export default {
+        components: { Todo },
+        filters: {
+            pluralize: (n, w) => n === 1 ? w : w + 's',
+            capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)
+        },
+        data() {
+            return {
+                visibility: 'all',
+                filters,
+                // todos: JSON.parse(window.localStorage.getItem(STORAGE_KEY)) || defalutList
+                todos: defalutList
+            }
+        },
+        computed: {
+            allChecked() {
+                return this.todos.every(todo => todo.done)
+            },
+            filteredTodos() {
+                return filters[this.visibility](this.todos)
+            },
+            remaining() {
+                return this.todos.filter(todo => !todo.done).length
+            }
+        },
+        methods: {
+            setLocalStorage() {
+                window.localStorage.setItem(STORAGE_KEY, JSON.stringify(this.todos))
+            },
+            addTodo(e) {
+                const text = e.target.value
+                if (text.trim()) {
+                    this.todos.push({
+                        text,
+                        done: false
+                    })
+                    this.setLocalStorage()
+                }
+                e.target.value = ''
+            },
+            toggleTodo(val) {
+                val.done = !val.done
+                this.setLocalStorage()
+            },
+            deleteTodo(todo) {
+                this.todos.splice(this.todos.indexOf(todo), 1)
+                this.setLocalStorage()
+            },
+            editTodo({ todo, value }) {
+                todo.text = value
+                this.setLocalStorage()
+            },
+            clearCompleted() {
+                this.todos = this.todos.filter(todo => !todo.done)
+                this.setLocalStorage()
+            },
+            toggleAll({ done }) {
+                this.todos.forEach(todo => {
+                    todo.done = done
+                    this.setLocalStorage()
+                })
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    @import './index.scss';
+</style>

+ 194 - 33
web/src/view/dashboard/index.vue

@@ -1,48 +1,209 @@
 <template>
-  <div>
-    <h2 style="text-align:center">gin-vue-admin by 奇淼 And krank666</h2>
-    <h2 style="text-align:center;margin:15px">点击动画获取联系方式</h2>
-
-    <el-drawer
-      :visible.sync="drawer"
-      title="联系方式"
-    >
-      <div style="text-align:center;margin-top:30px;">
-        <img src="http://qmplusimg.henrongyi.top/yx.jpg" width="180" />
-        <H3>krank666微信</H3>
-      </div>
-      <div style="text-align:center;margin-top:30px;">
-        <img src="http://qmplusimg.henrongyi.top/jjz.jpg" width="180" />
-        <H3>Mr.奇淼微信</H3>
-      </div>
-    </el-drawer>
-    <div @click="drawer = true">
-      <Animition />
-    </div>
-    <h2 style="text-align:right;margin:40px;">
-      当前版本号:v0.1.0
-    </h2>
-  </div>
+ <div class="big">
+     <div class="mid">
+         <el-row :gutter="32">
+             <el-col :xs="24" :sm="24" :lg="8">
+                 <div class="chart-wrapper">
+                     <raddar-chart />
+                 </div>
+             </el-col>
+             <el-col :xs="24" :sm="24" :lg="8">
+                 <div class="chart-wrapper">
+                     <stackMap />
+                 </div>
+             </el-col>
+             <el-col :xs="24" :sm="24" :lg="8">
+                 <div class="chart-wrapper">
+                     <Sunburst/>
+                 </div>
+             </el-col>
+         </el-row>
+     </div>
+     <div class="top">
+         <div id="main" class="chart-container"></div>
+     </div>
+      <div class="bottom">
+         <el-row :gutter="32">
+             <el-col :xs="24" :sm="24" :lg="12">
+                 <div class="chart-player">
+                     <musicPlayer />
+                 </div>
+             </el-col>
+             <el-col :xs="24" :sm="24" :lg="12">
+                 <div  class="chart-player">
+                     <todo-list />
+                 </div>
+             </el-col>
+         </el-row>
+     </div>
+ </div>
+
 </template>
 
 <script>
-import { mapGetters } from 'vuex'
-import Animition from '@/view/dashboard/component/animition.vue'
+import echarts from 'echarts'
+require('echarts/theme/macarons') // echarts theme
+import RaddarChart from "./component/RaddarChart"
+import stackMap from "./component/stackMap"
+import Sunburst from "./component/Sunburst"
+import musicPlayer from "./component/musicPlayer"
+import TodoList from "./component/todoList"
+
 export default {
   name: 'Dashboard',
   data() {
     return {
-      drawer: false
+
     }
   },
-  computed: {
-    ...mapGetters('user', ['userInfo'])
-  },
-  components: {
-    Animition
+    components:{
+        RaddarChart, //雷达图
+        stackMap, //堆叠图
+        Sunburst, //旭日图
+        musicPlayer,  //音乐播放器
+        TodoList //TodoList
+    },
+  mounted() {
+      let myChart = echarts.init(document.getElementById('main'),'macarons');
+      // let stackMap = echarts.init(document.getElementById('stackMap'));
+      let  option = {
+          legend: {},
+          tooltip: {
+              trigger: 'axis',
+              showContent: false
+          },
+          dataset: {
+              source: [
+                  ['product', '2012', '2013', '2014', '2015', '2016', '2017','2018','2019','2020'],
+                  ['Matcha Latte', 41.1, 30.4, 65.1, 53.3, 83.8, 70.0,6.4, 65.2, 82.5],
+                  ['Milk Tea', 86.5, 92.1, 85.7, 83.1, 73.4, 55.1,2, 67.1, 69.2],
+                  ['Cheese Cocoa', 24.1, 67.2, 79.5, 86.4, 65.2, 82.5,65.1, 53.3, 83.8],
+                  ['Walnut Brownie', 55.2, 67.1, 69.2, 72.4, 53.9, 39.1,86.5, 92.1, 85.7]
+              ]
+          },
+          xAxis: {
+              type: 'category',
+              axisLabel: {
+                  show: true,
+                  textStyle: {
+                      color: 'rgb(192,192,192)',  //更改坐标轴文字颜色
+                      fontSize : 14    //更改坐标轴文字大小
+                  }
+              },
+              axisTick: {
+                  show: false
+              },
+              axisLine:{
+                  lineStyle:{
+                      color:'rgb(192,192,192)' //更改坐标轴颜色
+                  }
+              },
+          },
+          yAxis: {
+              gridIndex:0,
+              axisLabel: {
+                  show: true,
+                  textStyle: {
+                      color: 'rgb(192,192,192)',  //更改坐标轴文字颜色
+                      fontSize: 14    //更改坐标轴文字大小
+                  }
+              },
+              axisTick: {
+                  show: false
+              },
+              axisLine: {
+                  lineStyle: {
+                      color: 'rgb(192,192,192)' //更改坐标轴颜色
+                  }
+              }
+          },
+          grid: {top: '55%'},
+          series: [
+              {type: 'line', smooth: true, seriesLayoutBy: 'row'},
+              {type: 'line', smooth: true, seriesLayoutBy: 'row'},
+              {type: 'line', smooth: true, seriesLayoutBy: 'row'},
+              {type: 'line', smooth: true, seriesLayoutBy: 'row'},
+              {
+                  type: 'pie',
+                  id: 'pie',
+                  radius: '30%',
+                  center: ['50%', '25%'],
+                  label: {
+                      formatter: '{b}: {@2012} ({d}%)'
+                  },
+                  encode: {
+                      itemName: 'product',
+                      value: '2012',
+                      tooltip: '2012'
+                  }
+              }
+          ]
+      };
+      //点记标记点时的动效
+      myChart.on('updateAxisPointer', function (event) {
+          var xAxisInfo = event.axesInfo[0];
+          if (xAxisInfo) {
+              var dimension = xAxisInfo.value + 1;
+              myChart.setOption({
+                  series: {
+                      id: 'pie',
+                      label: {
+                          formatter: '{b}: {@[' + dimension + ']} ({d}%)'
+                      },
+                      encode: {
+                          value: dimension,
+                          tooltip: dimension
+                      }
+                  }
+              });
+          }
+      });
+
+      window.addEventListener('resize',function() {myChart.resize()});
+      myChart.setOption(option);
+
   }
 }
 </script>
 
 <style lang="scss" scoped>
-</style>
+    .big{
+        width: 100%;
+        background-color: rgb(243,243,243);;
+        .top{
+            width: 98%;
+            height: 360px;
+            margin-top: 20px;
+            overflow: hidden;
+            .chart-container{
+                position: relative;
+                width: 100%;
+                height: 100%;
+                padding: 20px;
+                background-color: #fff;
+            }
+        }
+        .mid{
+            width: 98%;
+            height: 380px;
+            .chart-wrapper {
+                height: 340px;
+                background: #fff;
+                padding: 16px 16px 0;
+                margin-bottom: 32px;
+            }
+        }
+        .bottom{
+            width: 97%;
+            height: 300px;
+            margin: 20px 0;
+            .chart-player{
+                width: 100%;
+                height: 270px;
+                padding: 10px;
+                background-color: #fff;
+            }
+        }
+    }
+
+</style>

+ 114 - 13
web/src/view/example/breakpoint/breakpoint.vue

@@ -1,17 +1,31 @@
 <template>
   <div class="hello">
-    <form id="fromCont" method="post">
-      <input @change="choseFile" id="file" multiple="multiple" type="file" />
+     <el-divider content-position="left">大文件上传</el-divider>
+    <form id="fromCont" method="post" >
+      <div class="fileUpload">
+        选择文件<input @change="choseFile" id="file" multiple="multiple" type="file"  />
+      </div>
     </form>
-    <el-button @click="getFile">上传</el-button>
-    <span
+     <el-button @click="getFile" :disabled="limitFileSize" type="primary" size="medium" class="uploadBtn">上传文件</el-button>
+    <div class="el-upload__tip">请上传不超过5MB的文件</div>
+    <div class="list">
+      <transition-group name="list" tag="p">
+        <div class="list-item" v-for="item in uploadList" :key="item.name" >
+          <i class="el-icon-document"></i>
+          <span>{{ item.name }}</span>
+          <span v-if="file" class="percentage" >{{percentage}}%</span>
+          <el-progress  :show-text='false' :text-inside="false" :stroke-width="2" :percentage="percentage"></el-progress>
+        </div> 
+      </transition-group>
+   </div>
+    
+    <!-- <span
       v-if="this.file"
-    >{{Math.floor(((this.formDataList.length-this.waitNum)/this.formDataList.length)*100)}}%</span>
-    <h2>此版本为先行体验功能测试版,样式美化和性能优化正在进行中,上传切片文件和合成的完整文件分别再QMPlusserver目录的breakpointDir文件夹和fileDir文件夹</h2>
+    >{{Math.floor(((this.formDataList.length-this.waitNum)/this.formDataList.length)*100)}}%</span> -->
+    <h2 class="tips">此版本为先行体验功能测试版,样式美化和性能优化正在进行中,上传切片文件和合成的完整文件分别再QMPlusserver目录的breakpointDir文件夹和fileDir文件夹</h2>
   </div>
 </template>
 <script>
-
 import SparkMD5 from 'spark-md5'
 import axios from 'axios'
 import {
@@ -27,21 +41,31 @@ export default {
       fileMd5: '',
       formDataList: [],
       waitUpLoad: [],
-      waitNum: 0
+      waitNum: 0,
+      limitFileSize: false,
+      percentage:0,
+      percentageFlage: true,
+      customColor: '#409eff',
+      uploadList:[]
     }
+  },
+  created(){
+   
   },
   methods: {
     // 选中文件的函数
     async choseFile(e) {
       const fileR = new FileReader() // 创建一个reader用来读取文件流
       const file = e.target.files[0] // 获取当前文件
+      const maxSize = 5*1024*1024
       this.file = file // file 丢全局方便后面用 可以改进为func传参形式
+    if(file.size<maxSize){
       fileR.readAsArrayBuffer(file) // 把文件读成ArrayBuffer  主要为了保持跟后端的流一致
       fileR.onload = async e => {
         // 读成arrayBuffer的回调 e 为方法自带参数 相当于 dom的e 流存在e.target.result 中
-        const bolb = e.target.result
+        const blob = e.target.result
         let spark = new SparkMD5.ArrayBuffer() // 创建md5制造工具 (md5用于检测文件一致性 这里不懂就打电话问我)
-        spark.append(bolb) // 文件流丢进工具
+        spark.append(blob) // 文件流丢进工具
         this.fileMd5 = spark.end() // 工具结束 产生一个a 总文件的md5
         const FileSliceCap = 1 * 1024 * 1024 // 分片字节数
         let start = 0 // 定义分片开始切的地方
@@ -83,6 +107,10 @@ export default {
         }
         this.waitNum = this.waitUpLoad.length // 记录长度用于百分比展示
       }
+      } else {
+         this.limitFileSize = true
+         this.$message('请上传小于5M文件')
+      }
     },
     getFile() {
       // 确定按钮
@@ -90,7 +118,14 @@ export default {
         this.$message('请先上传文件')
         return
       }
+      this.percentage = Math.floor(((this.formDataList.length-this.waitNum)/this.formDataList.length)*100)
+      if(this.percentage == 100){
+        this.percentageFlage = false
+      }
       this.sliceFile() // 上传切片
+      if(this.percentage == 100){
+        this.uploadList.push(this.file)
+      }
     },
     sliceFile() {
       this.waitUpLoad &&
@@ -119,7 +154,7 @@ export default {
           fileMd5: this.fileMd5
         }
         const res = await breakpointContinueFinish(params)
-        if (res.code == 0) {
+        if (res.success) {
           // 合成文件过后 删除缓存切片
           const params = {
             fileName: this.file.name,
@@ -134,7 +169,7 @@ export default {
 }
 </script>
 
-<style scoped>
+<style lang='scss' scoped>
 h3 {
   margin: 40px 0 0;
 }
@@ -149,4 +184,70 @@ li {
 a {
   color: #42b983;
 }
-</style>
+#fromCont{
+  display: inline-block;
+}
+.fileUpload{
+    padding: 4px 10px;
+    height: 20px;
+    line-height: 20px;
+    position: relative;
+    cursor: pointer;
+    color: #000;
+    border: 1px solid #c1c1c1;
+    border-radius: 4px;
+    overflow: hidden;
+    display: inline-block;
+  input{
+    position: absolute;
+    font-size: 100px;
+    right: 0;
+    top: 0;
+    opacity: 0;
+    cursor: pointer;
+  }
+ 
+}
+ .fileName{
+    display: inline-block;
+    vertical-align: top;
+    margin: 6px 15px 0 15px;
+  }
+  .uploadBtn{
+    position: relative;
+    top: -10px;
+    margin-left: 15px;
+  }
+  .tips{
+    margin-top: 30px;
+    font-size: 14px;
+    font-weight: 400;
+    color: #606266;
+  }
+  .el-divider{
+    margin: 0 0 30px 0;
+  }
+ 
+ .list{
+   margin-top:15px;
+ }
+ .list-item {
+  display: block;
+  margin-right: 10px;
+  color: #606266;
+  line-height: 25px;
+  margin-bottom: 5px;
+  width: 40%;
+   .percentage{
+          float: right;
+        }
+}
+.list-enter-active, .list-leave-active {
+  transition: all 1s;
+}
+.list-enter, .list-leave-to
+/* .list-leave-active for below version 2.1.8 */ {
+  opacity: 0;
+  transform: translateY(-30px);
+}
+</style>

+ 16 - 6
web/src/view/example/customer/customer.vue

@@ -9,7 +9,6 @@
     </div>
     <el-table
       :data="tableData"
-      @selection-change="handleSelectionChange"
       border
       ref="multipleTable"
       stripe
@@ -29,10 +28,10 @@
           <el-popover
           placement="top"
           width="160"
-          v-model="visible">
+          v-model="scope.row.visible">
           <p>确定要删除吗?</p>
           <div style="text-align: right; margin: 0">
-            <el-button size="mini" type="text" @click="visible = false">取消</el-button>
+            <el-button size="mini" type="text" @click="scope.row.visible = false">取消</el-button>
             <el-button type="primary" size="mini" @click="deleteCustomer(scope.row)">确定</el-button>
           </div>
           <el-button type="text" size="mini" slot="reference">删除</el-button>
@@ -113,7 +112,7 @@ export default {
   },
   methods:{
     async updateCustomer(row){
-      const res = await getExaCustomer(row)
+      const res = await getExaCustomer({ID:row.ID})
       this.type = "update"
       if(res.code == 0){
         this.form = res.data.customer        
@@ -122,11 +121,19 @@ export default {
     },
     closeDialog(){
       this.dialogFormVisible = false
+      this.form = {
+        customerName:"",
+        customerPhoneData:""
+      }
     },
     async deleteCustomer(row){
       this.visible = false
-      const res = await deleteExaCustomer(row)
+      const res = await deleteExaCustomer({ID:row.ID})
       if (res.code == 0){
+        this.$message({
+          type:"success",
+          message:"删除成功"
+        })
          this.getTableData()
       }
     },
@@ -146,7 +153,7 @@ export default {
       }
      
       if(res.code == 0){
-        this.dialogFormVisible = false
+        this.closeDialog()
         this.getTableData()
       }
     },
@@ -154,6 +161,9 @@ export default {
       this.type = "create"
       this.dialogFormVisible = true
     }
+  },
+  created(){
+    this.getTableData()
   }
 }
 </script>

+ 3 - 0
web/src/view/example/upload/upload.vue

@@ -145,6 +145,9 @@ export default {
     downloadFile(row) {
       downloadImage(row.url, row.name)
     }
+  },
+  created(){
+    this.getTableData()
   }
 }
 </script>

+ 1 - 1
web/src/view/layout/aside/asideComponent/index.vue

@@ -14,7 +14,7 @@ export default {
   name: 'AsideComponent',
   computed: {
     menuComponent() {
-      if (this.routerInfo.children.length) {
+      if (this.routerInfo.children.filter(item=>!item.hidden).length) {
         return 'AsyncSubmenu'
       } else {
         return 'MenuItem'

+ 13 - 5
web/src/view/layout/index.vue

@@ -60,14 +60,19 @@
               </div>
             </el-dialog>
           </div>
-      
+
         </el-header>
         <!-- 当前面包屑用路由自动生成可根据需求修改 -->
-        <!-- 
+        <!--
         :to="{ path: item.path }" 暂时注释不用-->
         <HistoryComponent />
         <transition mode="out-in" name="el-fade-in-linear">
-          <router-view class="admin-box"></router-view>
+          <keep-alive>
+            <router-view v-if="$route.meta.keepAlive" class="admin-box"></router-view>
+          </keep-alive>
+        </transition>
+        <transition mode="out-in" name="el-fade-in-linear">
+            <router-view v-if="!$route.meta.keepAlive" class="admin-box"></router-view>
         </transition>
       </el-main>
     </el-container>
@@ -114,7 +119,7 @@ export default {
           }
         ]
       },
-      
+
     }
   },
   components: {
@@ -216,6 +221,9 @@ $mainHight: 100vh;
 .dropdown-group {
   min-width: 100px;
 }
+.admin-box{
+  background-color: rgb(255,255,255);
+}
 .el-scrollbar__wrap {
   padding-bottom: 17px;
 }
@@ -318,4 +326,4 @@ $mainHight: 100vh;
     }
   }
 }
-</style>
+</style>

+ 1 - 1
web/src/view/login/login.vue

@@ -25,7 +25,7 @@
             placeholder="请输入验证码"
             maxlength="10"
           />
-          <img :src="path + picPath" alt="请输入验证码" @click="loginVefify()" class="vPic">
+          <img v-if="picPath" :src="path + picPath" alt="请输入验证码" @click="loginVefify()" class="vPic">
         </el-form-item>
         <el-form-item>
           <el-button @click="submitForm" style="width:100%">登 录</el-button>

+ 41 - 16
web/src/view/superAdmin/api/api.vue

@@ -8,8 +8,11 @@
         <el-form-item label="描述">
           <el-input placeholder="描述" v-model="searchInfo.description"></el-input>
         </el-form-item>
-         <el-form-item label="请求">
-               <el-select placeholder="请选择" clearable v-model="searchInfo.method">
+        <el-form-item label="api组">
+          <el-input placeholder="api组" v-model="searchInfo.apiGroup"></el-input>
+        </el-form-item>
+        <el-form-item label="请求">
+          <el-select clearable placeholder="请选择" v-model="searchInfo.method">
             <el-option
               :key="item.value"
               :label="`${item.label}(${item.value})`"
@@ -26,12 +29,12 @@
         </el-form-item>
       </el-form>
     </div>
-    <el-table @sort-change="sortChange" :data="tableData" border stripe>
-      <el-table-column sortable="custom" label="id" min-width="60" prop="ID"></el-table-column>
-      <el-table-column sortable="custom" label="api路径" min-width="150" prop="path"></el-table-column>
-      <el-table-column sortable="custom" label="api分组" min-width="150" prop="apiGroup"></el-table-column>
-      <el-table-column sortable="custom" label="api简介" min-width="150" prop="description"></el-table-column>
-      <el-table-column sortable="custom" label="请求" min-width="150" prop="method">
+    <el-table :data="tableData" @sort-change="sortChange" border stripe>
+      <el-table-column label="id" min-width="60" prop="ID" sortable="custom"></el-table-column>
+      <el-table-column label="api路径" min-width="150" prop="path" sortable="custom"></el-table-column>
+      <el-table-column label="api分组" min-width="150" prop="apiGroup" sortable="custom"></el-table-column>
+      <el-table-column label="api简介" min-width="150" prop="description" sortable="custom"></el-table-column>
+      <el-table-column label="请求" min-width="150" prop="method" sortable="custom">
         <template slot-scope="scope">
           <div>
             {{scope.row.method}}
@@ -64,7 +67,7 @@
       layout="total, sizes, prev, pager, next, jumper"
     ></el-pagination>
 
-    <el-dialog :before-close="closeDialog" :visible.sync="dialogFormVisible" title="新增Api">
+    <el-dialog :before-close="closeDialog" :title="dialogTitle" :visible.sync="dialogFormVisible">
       <el-form :inline="true" :model="form" :rules="rules" label-width="80px" ref="apiForm">
         <el-form-item label="路径" prop="path">
           <el-input autocomplete="off" v-model="form.path"></el-input>
@@ -107,7 +110,7 @@ import {
   deleteApi
 } from '@/api/api'
 import infoList from '@/components/mixins/infoList'
-import {toSQLLine} from '@/utils/stringFun'
+import { toSQLLine } from '@/utils/stringFun'
 const methodOptions = [
   {
     value: 'POST',
@@ -138,6 +141,7 @@ export default {
     return {
       listApi: getApiList,
       dialogFormVisible: false,
+      dialogTitle: '新增Api',
       form: {
         path: '',
         apiGroup: '',
@@ -148,7 +152,9 @@ export default {
       type: '',
       rules: {
         path: [{ required: true, message: '请输入api路径', trigger: 'blur' }],
-        apiGroup: [{ required: true, message: '请输入组名称', trigger: 'blur' }],
+        apiGroup: [
+          { required: true, message: '请输入组名称', trigger: 'blur' }
+        ],
         method: [
           { required: true, message: '请选择请求方式', trigger: 'blur' }
         ],
@@ -160,12 +166,12 @@ export default {
   },
   methods: {
     // 排序
-    sortChange({prop,order}){
-      if(prop){
+    sortChange({ prop, order }) {
+      if (prop) {
         this.searchInfo.orderKey = toSQLLine(prop)
-        this.searchInfo.desc = order=="descending"
+        this.searchInfo.desc = order == 'descending'
       }
-     this.getTableData()
+      this.getTableData()
     },
     //条件搜索前端看此方法
     onSubmit() {
@@ -175,12 +181,28 @@ export default {
     },
     initForm() {
       this.$refs.apiForm.resetFields()
+      this.form= {
+        path: '',
+        apiGroup: '',
+        method: '',
+        description: ''
+      }
     },
     closeDialog() {
       this.initForm()
       this.dialogFormVisible = false
     },
     openDialog(type) {
+      switch (type) {
+        case 'addApi':
+          this.dialogTitlethis = '新增Api'
+          break
+        case 'edit':
+          this.dialogTitlethis = '编辑Api'
+          break
+        default:
+          break
+      }
       this.type = type
       this.dialogFormVisible = true
     },
@@ -237,7 +259,7 @@ export default {
                 if (res.code == 0) {
                   this.$message({
                     type: 'success',
-                    message: '添加成功',
+                    message: '编辑成功',
                     showClose: true
                   })
                 }
@@ -269,6 +291,9 @@ export default {
       const target = methodOptions.filter(item => item.value === value)[0]
       return target && `${target.type}`
     }
+  },
+  created(){
+    this.getTableData()
   }
 }
 </script>

+ 138 - 15
web/src/view/superAdmin/authority/authority.vue

@@ -16,19 +16,29 @@
       <el-table-column fixed="right" label="操作" min-width="300">
         <template slot-scope="scope">
           <el-button @click="opdendrawer(scope.row)" size="small" type="text">设置权限</el-button>
-          <el-button @click="deleteAuth(scope.row)" size="small" type="text">删除角色</el-button>
           <el-button @click="addAuthority(scope.row.authorityId)" size="small" type="text">新增子角色</el-button>
+          <el-button @click="copyAuthority(scope.row)" size="small" type="text">拷贝角色</el-button>
+          <el-button @click="editAuthority(scope.row)" size="small" type="text">编辑角色</el-button>
+          <el-button @click="deleteAuth(scope.row)" size="small" type="text">删除角色</el-button>
+
         </template>
       </el-table-column>
     </el-table>
     <!-- 新增角色弹窗 -->
-    <el-dialog :visible.sync="dialogFormVisible" title="新增角色">
+    <el-dialog :visible.sync="dialogFormVisible" :title="dialogTitle">
       <el-form :model="form" :rules="rules" ref="authorityForm">
-        <el-form-item label="父级角色ID" prop="parentId">
-          <el-input autocomplete="off" disabled v-model="form.parentId"></el-input>
+        <el-form-item label="父级角色"  prop="parentId">
+           <el-cascader
+              :disabled="dialogType=='add'"
+              v-model="form.parentId"
+              :options="AuthorityOption"
+              :show-all-levels="false"
+              :props="{ checkStrictly: true,label:'authorityName',value:'authorityId',disabled:'disabled',emitPath:false}"
+              filterable>
+              </el-cascader>
         </el-form-item>
         <el-form-item label="角色ID" prop="authorityId">
-          <el-input autocomplete="off" v-model="form.authorityId"></el-input>
+          <el-input autocomplete="off" :disabled="dialogType=='edit'" v-model="form.authorityId"></el-input>
         </el-form-item>
         <el-form-item label="角色姓名" prop="authorityName">
           <el-input autocomplete="off" v-model="form.authorityName"></el-input>
@@ -62,7 +72,9 @@
 import {
   getAuthorityList,
   deleteAuthority,
-  createAuthority
+  createAuthority,
+  updateAuthority,
+  copyAuthority 
 } from '@/api/authority'
 
 import Menus from '@/view/superAdmin/authority/components/menus'
@@ -75,12 +87,19 @@ export default {
   mixins: [infoList],
   data() {
     return {
+      AuthorityOption:[{
+          authorityId:"0",
+          authorityName:"根角色"
+        }],
       listApi: getAuthorityList,
       drawer: false,
+      dialogType:"add",
       activeRow: {},
       activeUserId: 0,
+      dialogTitle:"新增角色",
       dialogFormVisible: false,
       apiDialogFlag: false,
+      copyForm: {},
       form: {
         authorityId: '',
         authorityName: '',
@@ -105,6 +124,17 @@ export default {
     Datas
   },
   methods: {
+    // 拷贝角色
+    copyAuthority(row) {
+      this.setOptions()
+      this.dialogTitle = "拷贝角色"
+      this.dialogType = "copy"
+      for(let k in this.form) {
+        this.form[k] = row[k]
+      }
+      this.copyForm = row
+      this.dialogFormVisible = true;
+    },
     opdendrawer(row) {
       this.drawer = true
       this.activeRow = row
@@ -136,6 +166,11 @@ export default {
     // 初始化表单
     initForm() {
       this.$refs.authorityForm.resetFields()
+      this.form =  {
+        authorityId: '',
+        authorityName: '',
+        parentId: '0'
+      }
     },
     // 关闭窗口
     closeDialog() {
@@ -155,28 +190,116 @@ export default {
       }
       this.$refs.authorityForm.validate(async valid => {
         if (valid) {
-          const res = await createAuthority(this.form)
-          if (res.code == 0) {
-            this.$message({
-              type: 'success',
-              message: '添加成功!'
-            })
-            this.getTableData()
-            this.closeDialog()
+          switch (this.dialogType) {
+            case 'add':
+              {
+                const res = await createAuthority(this.form)
+                if (res.code == 0) {
+                  this.$message({
+                    type: 'success',
+                    message: '添加成功!'
+                  })
+                  this.getTableData()
+                  this.closeDialog()
+                }
+              }
+              break;
+            case 'edit':
+              {
+                const res = await updateAuthority(this.form)
+                if (res.code == 0) {
+                  this.$message({
+                    type: 'success',
+                    message: '添加成功!'
+                  })
+                  this.getTableData()
+                  this.closeDialog()
+                }
+              }
+              break;
+              case 'copy': {
+                const data = {
+                  "authority": {
+                      "authorityId": "string",
+                      "authorityName": "string",
+                      "datauthorityId": [],
+                      "parentId": "string",
+                  },
+                      "oldAuthorityId": 0
+                }
+                data.authority.authorityId = this.form.authorityId
+                data.authority.authorityName = this.form.authorityName
+                data.authority.parentId = this.form.parentId
+                data.authority.dataAuthorityId = this. copyForm.dataAuthorityId
+                data.oldAuthorityId = this.copyForm.authorityId
+                const res = await copyAuthority(data)
+                if(res.code == 0) {
+                  this.$message({
+                    type: 'success',
+                    message: '复制成功!'
+                  })
+                  this.getTableData()
+                }
+              }
           }
+          
           this.initForm()
           this.dialogFormVisible = false
         }
       })
     },
+    setOptions(){
+       this.AuthorityOption = [{
+          authorityId:"0",
+          authorityName:"根角色"
+        }]
+      this.setAuthorityOptions(this.tableData,this.AuthorityOption,false)
+    },
+    setAuthorityOptions(AuthorityData,optionsData,disabled){
+      AuthorityData&&AuthorityData.map(item=>{
+        if(item.children.length){
+          const option = {
+            authorityId:item.authorityId,
+            authorityName:item.authorityName,
+            disabled:disabled||item.authorityId == this.form.authorityId,
+            children:[]
+        }
+          this.setAuthorityOptions(item.children,option.children,disabled||item.authorityId == this.form.authorityId)
+          optionsData.push(option)
+        }else{
+          const option = {
+              authorityId:item.authorityId,
+              authorityName:item.authorityName,
+              disabled:disabled||item.authorityId == this.form.authorityId,
+          }
+          optionsData.push(option)
+        }
+      })
+    },
     // 增加角色
     addAuthority(parentId) {
+      this.dialogTitle = "新增角色"
+      this.dialogType = "add"
       this.form.parentId = parentId
+      this.setOptions()
+      this.dialogFormVisible = true
+      
+    },
+    // 编辑角色
+    editAuthority(row) {
+      this.setOptions()
+      this.dialogTitle = "编辑角色"
+      this.dialogType = "edit"
+      for(let key in this.form){
+        this.form[key] = row[key]
+      }
+      this.setOptions()
       this.dialogFormVisible = true
     }
   },
-  created() {
+  async created() {
     this.pageSize = 999
+    await this.getTableData()
   }
 }
 </script>

+ 7 - 3
web/src/view/superAdmin/authority/components/apis.vue

@@ -9,7 +9,7 @@
       :props="apiDefaultProps"
       default-expand-all
       highlight-current
-      node-key="path"
+      node-key="onlyId"
       ref="apiTree"
       show-checkbox
     ></el-tree>
@@ -44,6 +44,7 @@ export default {
       const apiObj = new Object()
       apis &&
         apis.map(item => {
+        item.onlyId = "p:"+item.path+"m:"+item.method
           if (apiObj.hasOwnProperty(item.apiGroup)) {
             apiObj[item.apiGroup].push(item)
           } else {
@@ -85,13 +86,16 @@ export default {
     // 获取api并整理成树结构
     const res2 = await getAllApis()
     const apis = res2.data.apis
+   
     this.apiTreeData = this.buildApiTree(apis)
-
     const res = await getPolicyPathByAuthorityId({
       authorityId: this.row.authorityId
     })
     this.activeUserId = this.row.authorityId
-    this.apiTreeIds = res.data.paths || []
+    this.apiTreeIds = []
+    res.data.paths&&res.data.paths.map(item=>{
+      this.apiTreeIds.push("p:"+item.path+"m:"+item.method)
+    })
   }
 }
 </script>

Some files were not shown because too many files changed in this diff