🐛 扩容用户手机号字段并规范化 OA 多号码同步
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+19
@@ -88,6 +88,8 @@ public interface UserConvert {
|
|||||||
default User person2user(OAPersonResponse person, String defaultPassword) {
|
default User person2user(OAPersonResponse person, String defaultPassword) {
|
||||||
User user = baseConvert(person);
|
User user = baseConvert(person);
|
||||||
user.setAccount(resolveAccount(person));
|
user.setAccount(resolveAccount(person));
|
||||||
|
// OA 可能返回多号(如 133.../137...),只保留首个号码再入库加密
|
||||||
|
user.setPhone(normalizeMobile(user.getPhone()));
|
||||||
// 密码
|
// 密码
|
||||||
user.setPassword(defaultPassword);
|
user.setPassword(defaultPassword);
|
||||||
// 性别
|
// 性别
|
||||||
@@ -103,6 +105,23 @@ public interface UserConvert {
|
|||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规范化手机号:去空白,多号时取第一个
|
||||||
|
*/
|
||||||
|
default String normalizeMobile(String mobile) {
|
||||||
|
if (StringUtils.isBlank(mobile)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
String trimmed = mobile.trim();
|
||||||
|
String[] parts = trimmed.split("[/|,;;,\\s]+");
|
||||||
|
for (String part : parts) {
|
||||||
|
if (StringUtils.isNotBlank(part)) {
|
||||||
|
return part.trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解析本系统登录账号:优先 OA loginid,其次工号,最后手机号
|
* 解析本系统登录账号:优先 OA loginid,其次工号,最后手机号
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1261,7 +1261,7 @@ CREATE TABLE `blade_user` (
|
|||||||
`real_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真名',
|
`real_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真名',
|
||||||
`avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
|
`avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
|
||||||
`email` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
|
`email` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
|
||||||
`phone` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机',
|
`phone` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机',
|
||||||
`birthday` datetime NULL DEFAULT NULL COMMENT '生日',
|
`birthday` datetime NULL DEFAULT NULL COMMENT '生日',
|
||||||
`sex` int NULL DEFAULT NULL COMMENT '性别',
|
`sex` int NULL DEFAULT NULL COMMENT '性别',
|
||||||
`role_id` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色id',
|
`role_id` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色id',
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
-- 用户手机号字段扩容:SM2 加密后 Hex 远超 varchar(45),避免 IAM/OA 同步插入失败
|
||||||
|
-- 部署前先执行本脚本,再发布后端
|
||||||
|
|
||||||
|
ALTER TABLE `blade_user`
|
||||||
|
MODIFY COLUMN `phone` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机';
|
||||||
@@ -5422,7 +5422,7 @@ CREATE TABLE `blade_user` (
|
|||||||
`real_name` varchar(10) DEFAULT NULL COMMENT '真名',
|
`real_name` varchar(10) DEFAULT NULL COMMENT '真名',
|
||||||
`avatar` varchar(500) DEFAULT NULL COMMENT '头像',
|
`avatar` varchar(500) DEFAULT NULL COMMENT '头像',
|
||||||
`email` varchar(45) DEFAULT NULL COMMENT '邮箱',
|
`email` varchar(45) DEFAULT NULL COMMENT '邮箱',
|
||||||
`phone` varchar(45) DEFAULT NULL COMMENT '手机',
|
`phone` varchar(500) DEFAULT NULL COMMENT '手机',
|
||||||
`birthday` datetime DEFAULT NULL COMMENT '生日',
|
`birthday` datetime DEFAULT NULL COMMENT '生日',
|
||||||
`sex` int(11) DEFAULT NULL COMMENT '性别',
|
`sex` int(11) DEFAULT NULL COMMENT '性别',
|
||||||
`role_id` varchar(1000) DEFAULT NULL COMMENT '角色id',
|
`role_id` varchar(1000) DEFAULT NULL COMMENT '角色id',
|
||||||
|
|||||||
Reference in New Issue
Block a user