fix(address): 强化行政区划及坐标字段非空校验
- 将region_name、longitude、latitude字段设为非空 - 在SQL映射中添加region_code字段支持 - 修改实体类及服务逻辑,新增region_code字段赋值 - 增加对region_name、longitude、latitude字段的非空校验 - 新增region_code长度校验,完善字段长度限制 - 更新数据库表定义,调整相关字段约束
This commit is contained in:
@@ -111,6 +111,7 @@
|
|||||||
code AS site_code,
|
code AS site_code,
|
||||||
name AS address_name,
|
name AS address_name,
|
||||||
CONCAT_WS('', country, city) AS region_name,
|
CONCAT_WS('', country, city) AS region_name,
|
||||||
|
NULL AS region_code,
|
||||||
city AS detail_address,
|
city AS detail_address,
|
||||||
longitude,
|
longitude,
|
||||||
latitude
|
latitude
|
||||||
@@ -124,6 +125,7 @@
|
|||||||
code AS site_code,
|
code AS site_code,
|
||||||
name AS address_name,
|
name AS address_name,
|
||||||
CONCAT_WS('', province_name, city_name) AS region_name,
|
CONCAT_WS('', province_name, city_name) AS region_name,
|
||||||
|
city_code AS region_code,
|
||||||
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
||||||
longitude,
|
longitude,
|
||||||
latitude
|
latitude
|
||||||
@@ -137,6 +139,7 @@
|
|||||||
code AS site_code,
|
code AS site_code,
|
||||||
name AS address_name,
|
name AS address_name,
|
||||||
CONCAT_WS('', province_name, city_name) AS region_name,
|
CONCAT_WS('', province_name, city_name) AS region_name,
|
||||||
|
city_code AS region_code,
|
||||||
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
||||||
longitude,
|
longitude,
|
||||||
latitude
|
latitude
|
||||||
@@ -152,6 +155,7 @@
|
|||||||
code AS site_code,
|
code AS site_code,
|
||||||
name AS address_name,
|
name AS address_name,
|
||||||
CONCAT_WS('', country, city) AS region_name,
|
CONCAT_WS('', country, city) AS region_name,
|
||||||
|
NULL AS region_code,
|
||||||
city AS detail_address,
|
city AS detail_address,
|
||||||
longitude,
|
longitude,
|
||||||
latitude
|
latitude
|
||||||
@@ -170,6 +174,7 @@
|
|||||||
code AS site_code,
|
code AS site_code,
|
||||||
name AS address_name,
|
name AS address_name,
|
||||||
CONCAT_WS('', province_name, city_name) AS region_name,
|
CONCAT_WS('', province_name, city_name) AS region_name,
|
||||||
|
city_code AS region_code,
|
||||||
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
||||||
longitude,
|
longitude,
|
||||||
latitude
|
latitude
|
||||||
@@ -188,6 +193,7 @@
|
|||||||
code AS site_code,
|
code AS site_code,
|
||||||
name AS address_name,
|
name AS address_name,
|
||||||
CONCAT_WS('', province_name, city_name) AS region_name,
|
CONCAT_WS('', province_name, city_name) AS region_name,
|
||||||
|
city_code AS region_code,
|
||||||
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
CONCAT_WS('', province_name, city_name, name) AS detail_address,
|
||||||
longitude,
|
longitude,
|
||||||
latitude
|
latitude
|
||||||
@@ -202,6 +208,7 @@
|
|||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
SELECT NULL AS source_id, NULL AS site_code, NULL AS address_name, NULL AS region_name,
|
SELECT NULL AS source_id, NULL AS site_code, NULL AS address_name, NULL AS region_name,
|
||||||
|
NULL AS region_code,
|
||||||
NULL AS detail_address, NULL AS longitude, NULL AS latitude
|
NULL AS detail_address, NULL AS longitude, NULL AS latitude
|
||||||
WHERE 1 = 0
|
WHERE 1 = 0
|
||||||
</otherwise>
|
</otherwise>
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ public class CommonAddressServiceImpl extends BaseServiceImpl<CommonAddressMappe
|
|||||||
private static final int ADDRESS_CODE_LENGTH = 5;
|
private static final int ADDRESS_CODE_LENGTH = 5;
|
||||||
private static final int NAME_MAX_LENGTH = 100;
|
private static final int NAME_MAX_LENGTH = 100;
|
||||||
private static final int DETAIL_MAX_LENGTH = 255;
|
private static final int DETAIL_MAX_LENGTH = 255;
|
||||||
|
private static final int REGION_CODE_MAX_LENGTH = 32;
|
||||||
private static final int REGION_MAX_LENGTH = 100;
|
private static final int REGION_MAX_LENGTH = 100;
|
||||||
private static final int CONTACT_MAX_LENGTH = 50;
|
private static final int CONTACT_MAX_LENGTH = 50;
|
||||||
private static final int PHONE_MAX_LENGTH = 30;
|
private static final int PHONE_MAX_LENGTH = 30;
|
||||||
@@ -209,6 +210,7 @@ public class CommonAddressServiceImpl extends BaseServiceImpl<CommonAddressMappe
|
|||||||
address.setSourceId(source.getSourceId());
|
address.setSourceId(source.getSourceId());
|
||||||
address.setSiteCode(source.getSiteCode());
|
address.setSiteCode(source.getSiteCode());
|
||||||
address.setDetailAddress(source.getDetailAddress());
|
address.setDetailAddress(source.getDetailAddress());
|
||||||
|
address.setRegionCode(source.getRegionCode());
|
||||||
address.setRegionName(source.getRegionName());
|
address.setRegionName(source.getRegionName());
|
||||||
address.setLongitude(scale(source.getLongitude()));
|
address.setLongitude(scale(source.getLongitude()));
|
||||||
address.setLatitude(scale(source.getLatitude()));
|
address.setLatitude(scale(source.getLatitude()));
|
||||||
@@ -255,8 +257,18 @@ public class CommonAddressServiceImpl extends BaseServiceImpl<CommonAddressMappe
|
|||||||
if (Func.isEmpty(address.getDetailAddress())) {
|
if (Func.isEmpty(address.getDetailAddress())) {
|
||||||
throw new ServiceException("详细地址不能为空");
|
throw new ServiceException("详细地址不能为空");
|
||||||
}
|
}
|
||||||
|
if (Func.isEmpty(address.getRegionName())) {
|
||||||
|
throw new ServiceException("行政区划不能为空");
|
||||||
|
}
|
||||||
|
if (Func.isEmpty(address.getLongitude())) {
|
||||||
|
throw new ServiceException("经度不能为空");
|
||||||
|
}
|
||||||
|
if (Func.isEmpty(address.getLatitude())) {
|
||||||
|
throw new ServiceException("纬度不能为空");
|
||||||
|
}
|
||||||
validateLength(address.getAddressName(), NAME_MAX_LENGTH, "地址名称不能超过100字");
|
validateLength(address.getAddressName(), NAME_MAX_LENGTH, "地址名称不能超过100字");
|
||||||
validateLength(address.getDetailAddress(), DETAIL_MAX_LENGTH, "详细地址不能超过255字");
|
validateLength(address.getDetailAddress(), DETAIL_MAX_LENGTH, "详细地址不能超过255字");
|
||||||
|
validateLength(address.getRegionCode(), REGION_CODE_MAX_LENGTH, "行政区划编码不能超过32字");
|
||||||
validateLength(address.getRegionName(), REGION_MAX_LENGTH, "行政区划不能超过100字");
|
validateLength(address.getRegionName(), REGION_MAX_LENGTH, "行政区划不能超过100字");
|
||||||
validateLength(address.getContactName(), CONTACT_MAX_LENGTH, "联系人不能超过50字");
|
validateLength(address.getContactName(), CONTACT_MAX_LENGTH, "联系人不能超过50字");
|
||||||
validateLength(address.getContactPhone(), PHONE_MAX_LENGTH, "联系方式不能超过30字");
|
validateLength(address.getContactPhone(), PHONE_MAX_LENGTH, "联系方式不能超过30字");
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ CREATE TABLE `blade_common_address` (
|
|||||||
`site_code` varchar(30) DEFAULT NULL COMMENT '站点编码',
|
`site_code` varchar(30) DEFAULT NULL COMMENT '站点编码',
|
||||||
`detail_address` varchar(255) NOT NULL COMMENT '详细地址',
|
`detail_address` varchar(255) NOT NULL COMMENT '详细地址',
|
||||||
`region_code` varchar(32) DEFAULT NULL COMMENT '行政区划编码',
|
`region_code` varchar(32) DEFAULT NULL COMMENT '行政区划编码',
|
||||||
`region_name` varchar(100) DEFAULT NULL COMMENT '行政区划',
|
`region_name` varchar(100) NOT NULL COMMENT '行政区划',
|
||||||
`longitude` decimal(12,6) DEFAULT NULL COMMENT '经度',
|
`longitude` decimal(12,6) NOT NULL COMMENT '经度',
|
||||||
`latitude` decimal(12,6) DEFAULT NULL COMMENT '纬度',
|
`latitude` decimal(12,6) NOT NULL COMMENT '纬度',
|
||||||
`dept_id` bigint(20) NOT NULL COMMENT '所属组织ID',
|
`dept_id` bigint(20) NOT NULL COMMENT '所属组织ID',
|
||||||
`dept_name` varchar(100) NOT NULL COMMENT '所属组织',
|
`dept_name` varchar(100) NOT NULL COMMENT '所属组织',
|
||||||
`contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
|
`contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
|
||||||
|
|||||||
@@ -6002,9 +6002,9 @@ CREATE TABLE `blade_common_address` (
|
|||||||
`site_code` varchar(30) DEFAULT NULL COMMENT '站点编码',
|
`site_code` varchar(30) DEFAULT NULL COMMENT '站点编码',
|
||||||
`detail_address` varchar(255) NOT NULL COMMENT '详细地址',
|
`detail_address` varchar(255) NOT NULL COMMENT '详细地址',
|
||||||
`region_code` varchar(32) DEFAULT NULL COMMENT '行政区划编码',
|
`region_code` varchar(32) DEFAULT NULL COMMENT '行政区划编码',
|
||||||
`region_name` varchar(100) DEFAULT NULL COMMENT '行政区划',
|
`region_name` varchar(100) NOT NULL COMMENT '行政区划',
|
||||||
`longitude` decimal(12,6) DEFAULT NULL COMMENT '经度',
|
`longitude` decimal(12,6) NOT NULL COMMENT '经度',
|
||||||
`latitude` decimal(12,6) DEFAULT NULL COMMENT '纬度',
|
`latitude` decimal(12,6) NOT NULL COMMENT '纬度',
|
||||||
`dept_id` bigint(20) NOT NULL COMMENT '所属组织ID',
|
`dept_id` bigint(20) NOT NULL COMMENT '所属组织ID',
|
||||||
`dept_name` varchar(100) NOT NULL COMMENT '所属组织',
|
`dept_name` varchar(100) NOT NULL COMMENT '所属组织',
|
||||||
`contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
|
`contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
|
||||||
|
|||||||
Reference in New Issue
Block a user