Commit d43532af authored by 技术部-任文超's avatar 技术部-任文超

正则优化

parent de3974c1
...@@ -146,10 +146,11 @@ public class SyncUserController { ...@@ -146,10 +146,11 @@ public class SyncUserController {
@RequestMapping("/listByUserIds") @RequestMapping("/listByUserIds")
@ApiOperation(httpMethod = "POST", value = "根据用户主键批量获取用户实名信息") @ApiOperation(httpMethod = "POST", value = "根据用户主键批量获取用户实名信息")
public JsonResult listByUserIds(String userIds) { public JsonResult listByUserIds(String userIds) {
// 过滤掉合法的多个数值串间的空白值
userIds = ValidationUtil.filterNumbers(userIds);
if (!ValidationUtil.validateNumbers(userIds)) { if (!ValidationUtil.validateNumbers(userIds)) {
return JsonResult.buildErrorStateResult("参数不正确", null); return JsonResult.buildErrorStateResult("参数不正确", null);
} }
userIds = ValidationUtil.filterNumbers(userIds);
List<Long> userIdList = Arrays.asList(userIds.split(",|;")).stream().map(userId -> Long.valueOf(userId)).collect(Collectors.toList()); List<Long> userIdList = Arrays.asList(userIds.split(",|;")).stream().map(userId -> Long.valueOf(userId)).collect(Collectors.toList());
List<UserDetail> userDetailList = userDetailService.findByUserIdIn(userIdList); List<UserDetail> userDetailList = userDetailService.findByUserIdIn(userIdList);
return JsonResult.buildSuccessResult(null, userDetailList); return JsonResult.buildSuccessResult(null, userDetailList);
......
...@@ -27,7 +27,7 @@ public class ValidationUtil { ...@@ -27,7 +27,7 @@ public class ValidationUtil {
private static final String tokenRegExp = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"; private static final String tokenRegExp = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
public static final String numberRegExp = "^([0-9]+)((,|;)+[0-9]+)+$"; public static final String numberRegExp = "^([0-9]+)((,|;)+[0-9]+)+$";
public static final String numberFilterRegExp = "(,|;)+\\s*(,|;)+"; public static final String numberFilterRegExp = "(\\s*(,|;))+";
private static final Pattern phonePattern = Pattern.compile(phoneRegExp); private static final Pattern phonePattern = Pattern.compile(phoneRegExp);
private static final Pattern chinesePattern = Pattern.compile(chineseNameRegExp); private static final Pattern chinesePattern = Pattern.compile(chineseNameRegExp);
...@@ -138,7 +138,7 @@ public class ValidationUtil { ...@@ -138,7 +138,7 @@ public class ValidationUtil {
* @return * @return
*/ */
public static String filterNumbers(String numbers) { public static String filterNumbers(String numbers) {
if (!validateNumbers(numbers)) { if (StringUtils.isBlank(numbers)) {
return null; return null;
} }
return numbers.replaceAll(numberFilterRegExp, ","); return numbers.replaceAll(numberFilterRegExp, ",");
......
...@@ -18,11 +18,11 @@ public class TestJdk8 { ...@@ -18,11 +18,11 @@ public class TestJdk8 {
@Test @Test
public void testString() { public void testString() {
String userIds = "1,2;3,4;5,,;6"; String userIds = "1,2;3,4;5, , ;6";
log.info("userIds:{}", userIds); log.info("userIds:{}", userIds);
Assert.assertTrue(userIds, ValidationUtil.validateNumbers(userIds));
String formatUserIds = ValidationUtil.filterNumbers(userIds); String formatUserIds = ValidationUtil.filterNumbers(userIds);
log.info("formatUserIds:{}", formatUserIds); log.info("formatUserIds:{}", formatUserIds);
Assert.assertTrue(formatUserIds, ValidationUtil.validateNumbers(formatUserIds));
List<String> userIdStrList = Arrays.asList(formatUserIds.split(",|;")); List<String> userIdStrList = Arrays.asList(formatUserIds.split(",|;"));
log.info("userIdStrList:{}", userIdStrList); log.info("userIdStrList:{}", userIdStrList);
List<Long> userIdList = userIdStrList.stream().map(userId -> Long.valueOf(userId)).collect(Collectors.toList()); List<Long> userIdList = userIdStrList.stream().map(userId -> Long.valueOf(userId)).collect(Collectors.toList());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment