update 全局替换为 Convert.toStr,优化 null 字符串处理

This commit is contained in:
AprilWind 2025-08-01 15:29:36 +08:00
parent 9683252783
commit acfcdf4d9a
13 changed files with 30 additions and 23 deletions

View File

@ -1,5 +1,6 @@
package org.dromara.common.core.domain.dto; package org.dromara.common.core.domain.dto;
import cn.hutool.core.convert.Convert;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -62,7 +63,7 @@ public class TaskAssigneeDTO implements Serializable {
storageId.apply(item), storageId.apply(item),
handlerCode.apply(item), handlerCode.apply(item),
handlerName.apply(item), handlerName.apply(item),
groupName != null ? String.valueOf(groupName.apply(item)) : null, groupName != null ? Convert.toStr(groupName.apply(item)) : null,
createTimeMapper.apply(item) createTimeMapper.apply(item)
)).collect(Collectors.toList()); )).collect(Collectors.toList());
} }

View File

@ -260,13 +260,13 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
if (s != null) { if (s != null) {
final int len = s.length(); final int len = s.length();
if (s.length() <= size) { if (s.length() <= size) {
sb.append(String.valueOf(c).repeat(size - len)); sb.append(Convert.toStr(c).repeat(size - len));
sb.append(s); sb.append(s);
} else { } else {
return s.substring(len - size, len); return s.substring(len - size, len);
} }
} else { } else {
sb.append(String.valueOf(c).repeat(Math.max(0, size))); sb.append(Convert.toStr(c).repeat(Math.max(0, size)));
} }
return sb.toString(); return sb.toString();
} }

View File

@ -1,5 +1,6 @@
package org.dromara.common.excel.core; package org.dromara.common.excel.core;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -65,7 +66,7 @@ public class DropDownOptions {
StringBuilder stringBuffer = new StringBuilder(); StringBuilder stringBuffer = new StringBuilder();
String regex = "^[\\S\\d\\u4e00-\\u9fa5]+$"; String regex = "^[\\S\\d\\u4e00-\\u9fa5]+$";
for (int i = 0; i < vars.length; i++) { for (int i = 0; i < vars.length; i++) {
String var = StrUtil.trimToEmpty(String.valueOf(vars[i])); String var = StrUtil.trimToEmpty(Convert.toStr(vars[i]));
if (!var.matches(regex)) { if (!var.matches(regex)) {
throw new ServiceException("选项数据不符合规则,仅允许使用中英文字符以及数字"); throw new ServiceException("选项数据不符合规则,仅允许使用中英文字符以及数字");
} }

View File

@ -1,5 +1,6 @@
package org.dromara.common.redis.utils; package org.dromara.common.redis.utils;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -119,7 +120,7 @@ public class SequenceUtils {
* @return 唯一id * @return 唯一id
*/ */
public static String getNextIdString(String key, Duration expireTime, long initValue, long stepValue) { public static String getNextIdString(String key, Duration expireTime, long initValue, long stepValue) {
return String.valueOf(getNextId(key, expireTime, initValue, stepValue)); return Convert.toStr(getNextId(key, expireTime, initValue, stepValue));
} }
/** /**
@ -130,7 +131,7 @@ public class SequenceUtils {
* @return 唯一id * @return 唯一id
*/ */
public static String getNextIdString(String key, Duration expireTime) { public static String getNextIdString(String key, Duration expireTime) {
return String.valueOf(getNextId(key, expireTime)); return Convert.toStr(getNextId(key, expireTime));
} }
/** /**

View File

@ -1,5 +1,6 @@
package org.dromara.common.sensitive.core; package org.dromara.common.sensitive.core;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.DesensitizedUtil; import cn.hutool.core.util.DesensitizedUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -52,7 +53,7 @@ public enum SensitiveStrategy {
/** /**
* 用户ID * 用户ID
*/ */
USER_ID(s -> String.valueOf(DesensitizedUtil.userId())), USER_ID(s -> Convert.toStr(DesensitizedUtil.userId())),
/** /**
* 密码 * 密码

View File

@ -1,5 +1,6 @@
package org.dromara.job.snailjob; package org.dromara.job.snailjob;
import cn.hutool.core.convert.Convert;
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor; import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
import com.aizuda.snailjob.client.job.core.dto.JobArgs; import com.aizuda.snailjob.client.job.core.dto.JobArgs;
import com.aizuda.snailjob.client.model.ExecuteResult; import com.aizuda.snailjob.client.model.ExecuteResult;
@ -17,7 +18,7 @@ import org.springframework.stereotype.Component;
public class TestStaticShardingJob { public class TestStaticShardingJob {
public ExecuteResult jobExecute(JobArgs jobArgs) { public ExecuteResult jobExecute(JobArgs jobArgs) {
String jobParams = String.valueOf(jobArgs.getJobParams()); String jobParams = Convert.toStr(jobArgs.getJobParams());
SnailJobLog.LOCAL.info("开始执行分片任务,参数:{}", jobParams); SnailJobLog.LOCAL.info("开始执行分片任务,参数:{}", jobParams);
// 获得jobArgs 中传入的开始id和结束id // 获得jobArgs 中传入的开始id和结束id
String[] split = jobParams.split(","); String[] split = jobParams.split(",");

View File

@ -59,7 +59,7 @@ public class SysTaskAssigneeServiceImpl implements TaskAssigneeService {
TableDataInfo<SysRoleVo> page = roleService.selectPageRoleList(bo, pageQuery); TableDataInfo<SysRoleVo> page = roleService.selectPageRoleList(bo, pageQuery);
// 使用封装的字段映射方法进行转换 // 使用封装的字段映射方法进行转换
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(), List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(),
item -> String.valueOf(item.getRoleId()), SysRoleVo::getRoleKey, SysRoleVo::getRoleName, null, SysRoleVo::getCreateTime); item -> Convert.toStr(item.getRoleId()), SysRoleVo::getRoleKey, SysRoleVo::getRoleName, null, SysRoleVo::getCreateTime);
return new TaskAssigneeDTO(page.getTotal(), handlers); return new TaskAssigneeDTO(page.getTotal(), handlers);
} }
@ -83,7 +83,7 @@ public class SysTaskAssigneeServiceImpl implements TaskAssigneeService {
TableDataInfo<SysPostVo> page = postService.selectPagePostList(bo, pageQuery); TableDataInfo<SysPostVo> page = postService.selectPagePostList(bo, pageQuery);
// 使用封装的字段映射方法进行转换 // 使用封装的字段映射方法进行转换
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(), List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(),
p -> String.valueOf(p.getPostId()), SysPostVo::getPostCategory, SysPostVo::getPostName, SysPostVo::getDeptId, SysPostVo::getCreateTime); p -> Convert.toStr(p.getPostId()), SysPostVo::getPostCategory, SysPostVo::getPostName, SysPostVo::getDeptId, SysPostVo::getCreateTime);
return new TaskAssigneeDTO(page.getTotal(), handlers); return new TaskAssigneeDTO(page.getTotal(), handlers);
} }
@ -107,7 +107,7 @@ public class SysTaskAssigneeServiceImpl implements TaskAssigneeService {
TableDataInfo<SysDeptVo> page = deptService.selectPageDeptList(bo, pageQuery); TableDataInfo<SysDeptVo> page = deptService.selectPageDeptList(bo, pageQuery);
// 使用封装的字段映射方法进行转换 // 使用封装的字段映射方法进行转换
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(), List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(),
d -> String.valueOf(d.getDeptId()), SysDeptVo::getDeptCategory, SysDeptVo::getDeptName, SysDeptVo::getParentId, SysDeptVo::getCreateTime); d -> Convert.toStr(d.getDeptId()), SysDeptVo::getDeptCategory, SysDeptVo::getDeptName, SysDeptVo::getParentId, SysDeptVo::getCreateTime);
return new TaskAssigneeDTO(page.getTotal(), handlers); return new TaskAssigneeDTO(page.getTotal(), handlers);
} }
@ -131,7 +131,7 @@ public class SysTaskAssigneeServiceImpl implements TaskAssigneeService {
TableDataInfo<SysUserVo> page = userService.selectPageUserList(bo, pageQuery); TableDataInfo<SysUserVo> page = userService.selectPageUserList(bo, pageQuery);
// 使用封装的字段映射方法进行转换 // 使用封装的字段映射方法进行转换
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(), List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRows(),
u -> String.valueOf(u.getUserId()), SysUserVo::getUserName, SysUserVo::getNickName, SysUserVo::getDeptId, SysUserVo::getCreateTime); u -> Convert.toStr(u.getUserId()), SysUserVo::getUserName, SysUserVo::getNickName, SysUserVo::getDeptId, SysUserVo::getCreateTime);
return new TaskAssigneeDTO(page.getTotal(), handlers); return new TaskAssigneeDTO(page.getTotal(), handlers);
} }

View File

@ -1,6 +1,7 @@
package org.dromara.workflow.handler; package org.dromara.workflow.handler;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.domain.dto.UserDTO;
@ -59,6 +60,6 @@ public class WorkflowPermissionHandler implements PermissionHandler {
} }
String storageIds = CollUtil.join(permissions, StringUtils.SEPARATOR); String storageIds = CollUtil.join(permissions, StringUtils.SEPARATOR);
List<UserDTO> users = flwTaskAssigneeService.fetchUsersByStorageIds(storageIds); List<UserDTO> users = flwTaskAssigneeService.fetchUsersByStorageIds(storageIds);
return StreamUtils.toList(users, userDTO -> String.valueOf(userDTO.getUserId())); return StreamUtils.toList(users, userDTO -> Convert.toStr(userDTO.getUserId()));
} }
} }

View File

@ -1,6 +1,7 @@
package org.dromara.workflow.service.impl; package org.dromara.workflow.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -97,11 +98,11 @@ public class FlwCategoryServiceImpl implements IFlwCategoryService {
} }
return TreeBuildUtils.buildMultiRoot( return TreeBuildUtils.buildMultiRoot(
categoryList, categoryList,
node -> String.valueOf(node.getCategoryId()), node -> Convert.toStr(node.getCategoryId()),
node -> String.valueOf(node.getParentId()), node -> Convert.toStr(node.getParentId()),
(node, treeNode) -> treeNode (node, treeNode) -> treeNode
.setId(String.valueOf(node.getCategoryId())) .setId(Convert.toStr(node.getCategoryId()))
.setParentId(String.valueOf(node.getParentId())) .setParentId(Convert.toStr(node.getParentId()))
.setName(node.getCategoryName()) .setName(node.getCategoryName())
.setWeight(node.getOrderNum()) .setWeight(node.getOrderNum())
); );

View File

@ -231,7 +231,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
flowDefinition.setId(null); flowDefinition.setId(null);
flowDefinition.setTenantId(tenantId); flowDefinition.setTenantId(tenantId);
flowDefinition.setIsPublish(0); flowDefinition.setIsPublish(0);
flowDefinition.setCategory(String.valueOf(flowCategory.getCategoryId())); flowDefinition.setCategory(Convert.toStr(flowCategory.getCategoryId()));
int insert = flowDefinitionMapper.insert(flowDefinition); int insert = flowDefinitionMapper.insert(flowDefinition);
if (insert <= 0) { if (insert <= 0) {
log.info("同步流程定义【{}】失败!", definition.getFlowCode()); log.info("同步流程定义【{}】失败!", definition.getFlowCode());

View File

@ -110,7 +110,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
*/ */
@Override @Override
public FlowInstanceVo queryByBusinessId(Long businessId) { public FlowInstanceVo queryByBusinessId(Long businessId) {
FlowInstance instance = this.selectInstByBusinessId(String.valueOf(businessId)); FlowInstance instance = this.selectInstByBusinessId(Convert.toStr(businessId));
FlowInstanceVo instanceVo = BeanUtil.toBean(instance, FlowInstanceVo.class); FlowInstanceVo instanceVo = BeanUtil.toBean(instance, FlowInstanceVo.class);
Definition definition = defService.getById(instanceVo.getDefinitionId()); Definition definition = defService.getById(instanceVo.getDefinitionId());
instanceVo.setFlowName(definition.getFlowName()); instanceVo.setFlowName(definition.getFlowName());

View File

@ -149,9 +149,9 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
*/ */
private TreeFunDto<DeptDTO> buildDeptTree(List<DeptDTO> depts) { private TreeFunDto<DeptDTO> buildDeptTree(List<DeptDTO> depts) {
return new TreeFunDto<>(depts) return new TreeFunDto<>(depts)
.setId(dept -> String.valueOf(dept.getDeptId())) .setId(dept -> Convert.toStr(dept.getDeptId()))
.setName(DeptDTO::getDeptName) .setName(DeptDTO::getDeptName)
.setParentId(dept -> String.valueOf(dept.getParentId())); .setParentId(dept -> Convert.toStr(dept.getParentId()));
} }
/** /**

View File

@ -303,7 +303,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
List<User> userList = StreamUtils.toList(flowCopyList, x -> List<User> userList = StreamUtils.toList(flowCopyList, x ->
new FlowUser() new FlowUser()
.setType(TaskAssigneeType.COPY.getCode()) .setType(TaskAssigneeType.COPY.getCode())
.setProcessedBy(String.valueOf(x.getUserId())) .setProcessedBy(Convert.toStr(x.getUserId()))
.setAssociated(taskId)); .setAssociated(taskId));
// 批量保存抄送人员 // 批量保存抄送人员
FlowEngine.userService().saveBatch(userList); FlowEngine.userService().saveBatch(userList);
@ -589,7 +589,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
if (ObjectUtil.isNotNull(first) && CollUtil.isNotEmpty(first.getPermissionList())) { if (ObjectUtil.isNotNull(first) && CollUtil.isNotEmpty(first.getPermissionList())) {
List<UserDTO> users = flwTaskAssigneeService.fetchUsersByStorageIds(String.join(StringUtils.SEPARATOR, first.getPermissionList())); List<UserDTO> users = flwTaskAssigneeService.fetchUsersByStorageIds(String.join(StringUtils.SEPARATOR, first.getPermissionList()));
if (CollUtil.isNotEmpty(users)) { if (CollUtil.isNotEmpty(users)) {
flowNode.setPermissionFlag(StreamUtils.join(users, e -> String.valueOf(e.getUserId()))); flowNode.setPermissionFlag(StreamUtils.join(users, e -> Convert.toStr(e.getUserId())));
} }
} }