## 地區信息
#### 商城應用
在亞米商城系統里,用戶在填寫收貨地址的時候都需要用到地區信息。那么為系統提供一套**公用的地區信息**就非常有必要。例如:

在后臺中,可以對地區進行管理。


一般情況下,我們可以將地區進行分級:
1. 省份
2. 城市
3. 縣區
4. 街道
對于大多數系統,一般整理到**區縣級別**即可
#### 數據庫設計
##### 整體實體類關系如下圖:

##### model實體類:
```java
@Data
@TableName("tz_area")
public class Area implements Serializable {
private static final long serialVersionUID = -6013320537436191451L;
@TableId
@ApiModelProperty(value = "地區id",required=true)
private Long areaId;
@ApiModelProperty(value = "地區名稱",required=true)
private String areaName;
@ApiModelProperty(value = "地區上級id",required=true)
private Long parentId;
@ApiModelProperty(value = "地區層級",required=true)
private Integer level;
@TableField(exist=false)
private List<Area> areas;
}
```
- `areaId` ,地區id
- `areaName`,地區名稱
- `level`,級別,根據上面所說的地區枚舉
- `parentId` ,地區上級id
##### 數據來源:
在添加數據時,我們可以根據 [worldArea](https://github.com/chency147/worldArea) 開源項目,導入對應的數據mysql 數據庫腳本,包含世界各地區的地區編碼以及中文名稱。或者通過淘寶進行獲取。地區庫是十分重要的,且定義好后,不方便輕易調整。所以需要慎重添加地區庫。
##### 注意:
1. 國家地區不是一成不變的,不斷的會有地區和地區之間的合并,又或者是地區的分拆。因此,建議可以以淘寶的地區庫為準,及時對地區庫經行更新。
2. 地區的分級只是大體的**分級**,實際上,會存在鎮級市、縣級市等等。
3. 如果**對接其他公司的服務**,地區編號可能存在不同,需要做好對應映射關系。
4. 如果有基于**微信公眾號**的產品,一些用戶設置所在地為國外,可以基于自己產品的情況,保存用戶信息可以存儲成中國。
- 開發環境準備
- 基本開發手冊
- 項目目錄結構
- 權限管理
- 通用分頁表格
- Swagger文檔
- undertow容器
- 對xss攻擊的防御
- 分布式鎖
- 統一的系統日志
- 統一驗證
- 統一異常處理
- 文件上傳下載
- 一對多、多對多分頁
- 認證與授權
- 從授權開始看源碼
- 自己寫個授權的方法-開源版
- 商城表設計
- 商品信息
- 商品分組
- 購物車
- 訂單
- 地區管理
- 運費模板
- 接口設計
- 必讀
- 購物車的設計
- 訂單設計-確認訂單
- 訂單設計-提交訂單
- 訂單設計-支付
- 生產環境
- nginx安裝與跨域配置
- 安裝mysql
- 安裝redis
- 傳統方式部署項目
- docker
- 使用docker部署商城
- centos jdk安裝
- docker centos 安裝
- Docker Compose 安裝與卸載
- docker 鏡像的基本操作
- docker 容器的基本操作
- 通過yum安裝maven
- 常見問題