1,数据库设计:
CREATE TABLE `dc_area_city` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`area_id` int(11) DEFAULT NULL COMMENT '地域ID',
`area_name` varchar(255) DEFAULT NULL COMMENT '地域名称',
`parent_id` int(11) DEFAULT NULL COMMENT '上级ID',
`area_level` int(11) DEFAULT NULL COMMENT '城市级别 0 省 1 市 2 县',
`pin_yin` varchar(255) DEFAULT NULL COMMENT '拼音',
`status` int(2) DEFAULT '1' COMMENT '状态 1 = 启用 2= 停用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3250 DEFAULT CHARSET=utf8
数据:
INSERT INTO `dc_area_city` VALUES ('1', '1', '安徽', '0', '0', 'anhui', '1'), ('2', '2', '北京', '0', '0', 'beijing', '1'), ('3', '3', '福建', '0', '0', 'fujian', '1'), ('4', '4', '甘肃', '0', '0', 'gansu', '1'), ('5', '5', '广东', '0', '0', 'guangdong', '1'), ('6', '6', '广西', '0', '0', 'guangxi', '1'), ('7', '7', '贵州', '0', '0', 'guizhou', '1'), ('8', '8', '海南', '0', '0', 'hainan', '1'), ('9', '9', '河北', '0', '0', 'hebei', '1')
这里只是部分数据
2,sql:
select id, area_id, area_name, parent_id, area_level, pin_yin from dc_area_city
where status =1 and area_level = #{areaLevel,jdbcType=INTEGER} and parent_id = #{parentId,jdbcType=INTEGER}
省:parentId = 0 areaLevel = 0
市:parentId = areaId(选择的省的areaId) areaLevel = 1
区:parentId = areaId(选择的市的areaId) areaLevel = 2
3,编码:
@ApiOperation(value = "地区信息查询接口", notes = "\t 【接口参数:】"
+ "\n\t 1.parentId - 上级ID - 必填"
+ "\n\t 2.areaLevel - 城市级别(0 省 1 市 2 县) - 必填")
@PostMapping("/listAreaCityInfo")
public ResultVo listAreaCityInfo(@RequestBody DcAreaCity dcAreaCity) {
return dcAreaCityService.listAreaCityInfo(dcAreaCity);
}
这样提供给前端一个接口,让前端去玩吧,是不是后台太简单了,前后端分离的好处就体现出来了吧,哈哈。