这段代码是什么意思if (StringUtils.isNotBlank(name)) { if (name.length() > 15) { BusinessException.throwBusinessException(MsgCodeEnum.USER_NAME_ERR); } String pattern = "[\\u4e00-\\u9fa5]+"; Pattern p = Pattern.compile(pattern); name = name.replaceAll("\\.", ""); name = name.replaceAll("·", ""); Matcher matcher = p.matcher(name); String tmp = matcher.replaceAll(""); if (tmp.length() > 0) { BusinessException.throwBusinessException(MsgCodeEnum.USER_NAME_ERR); } }
时间: 2024-02-14 10:31:15 浏览: 107
这段代码是一个条件判断的逻辑,用于验证用户名的有效性。首先,它检查给定的用户名是否为空或者不为空字符串。如果用户名不为空,那么会进一步进行验证。
在验证过程中,代码会检查用户名的长度是否超过15个字符。如果超过了15个字符,会抛出一个自定义的业务异常(BusinessException),并传递一个错误码(MsgCodeEnum.USER_NAME_ERR)。
接下来,代码使用正则表达式来判断用户名是否包含中文字符。正则表达式 "[\\u4e00-\\u9fa5]+" 表示匹配一个或多个中文字符。然后,代码使用 Matcher 类来对用户名进行匹配操作,并将所有匹配到的中文字符替换为空字符串。
最后,代码检查替换后的字符串是否还有长度大于0的字符。如果有,表示用户名中包含非中文字符,同样会抛出业务异常(BusinessException)并传递相应的错误码(MsgCodeEnum.USER_NAME_ERR)。
这段代码的目的是确保用户名符合一定的规则,即长度不超过15个字符,并且只包含中文字符。如果不符合规则,则会抛出相应的业务异常。
相关问题
private String toString(ConvertstandardExcelDto dto) { String match = dto.getProductsort().trim(); if (StringUtils.isNotBlank(dto.getProductname())) { match = match + dto.getProductname().trim(); } if (StringUtils.isNotBlank(dto.getLongriskflag())) { match = match + dto.getLongriskflag().trim(); } if (StringUtils.isNotBlank(dto.getPayyearterm())) { match = match + dto.getPayyearterm().trim(); } if (StringUtils.isNotBlank(dto.getChannel())) { match = match + dto.getChannel().trim(); } if (StringUtils.isNotBlank(dto.getManagecom())) { match = match + dto.getManagecom().trim(); } return match; }
这是一个 Java 代码段,它接受一个 ConvertstandardExcelDto 对象作为参数,并返回一个字符串。该方法首先将 dto.getProductsort() 的值赋给 match 变量,然后根据其他属性的值修改 match 变量。最后,该方法返回 match 变量的值。
public TableDataInfo list(TAllParam tAllParam) { startPage(); //List<TAllParam> list = tAllParamService.selectTAllParamList(tAllParam); List<TAllParam> list = tAllParamService.selectList(tAllParam); // new LambdaQueryWrapper<TAllParam>().like(StringUtils.isNotBlank(tAllParam.getMsc()),TAllParam::getMsc,StringUtils.isNotBlank(tAllParam.getMsc())?tAllParam.getMsc().toUpperCase():"") // .like(StringUtils.isNotBlank(tAllParam.getClxh()),TAllParam::getClxh,tAllParam.getClxh()) // .like(StringUtils.isNotBlank(tAllParam.getHbpl()),TAllParam::getHbpl,tAllParam.getHbpl()) // .like(StringUtils.isNotBlank(tAllParam.getVehRlzl()),TAllParam::getVehRlzl,tAllParam.getVehRlzl()) // .like(StringUtils.isNotBlank(tAllParam.getClyyxzcbh()),TAllParam::getClyyxzcbh,tAllParam.getClyyxzcbh()) // .like(StringUtils.isNotBlank(tAllParam.getVehZbzl()),TAllParam::getVehZbzl,tAllParam.getVehZbzl()) for (TAllParam param: list) { if (StringUtils.isNotBlank(param.getBlcVin())){ param.setBlc("是"); }else { param.setBlc("否"); } } // 如果查询条件中有blc字段,则按照该字段进行匹配查询 if (StringUtils.isNotBlank(tAllParam.getBlc())) { list = list.stream().filter(param -> tAllParam.getBlc().equals(param.getBlc())).collect(Collectors.toList()); } return getDataTable(list);这样根据查询‘保留车’得到的数据只是第一页的(带了分页的),如何查询出不带分页的
要查询不带分页的数据,可以将 `startPage()` 方法注释掉,这样就不会开启分页功能,查询出的数据就是全部数据,而不是只有第一页的数据。修改后的代码如下:
```
public TableDataInfo list(TAllParam tAllParam) {
//startPage(); // 注释掉该行代码
List<TAllParam> list = tAllParamService.selectList(tAllParam);
for (TAllParam param: list) {
if (StringUtils.isNotBlank(param.getBlc())) {
param.setBlc("是");
} else {
param.setBlc("否");
}
}
if (StringUtils.isNotBlank(tAllParam.getBlc())) {
list = list.stream().filter(param -> tAllParam.getBlc().equals(param.getBlc())).collect(Collectors.toList());
}
return getDataTable(list);
}
```
阅读全文