refactor(wms): 优化用户昵称获取逻辑

- 移除XML映射文件中的冗余用户关联查询
- 在服务层统一处理创建人和更新人昵称填充
- 新增getUserNickname方法通过用户名获取用户昵称
- 优化异常处理,确保获取失败时返回原始用户名
- 减少数据库查询次数,提升接口性能
This commit is contained in:
2025-12-05 09:20:30 +08:00
parent 628074d521
commit 54d2041523
4 changed files with 61 additions and 13 deletions

View File

@@ -286,6 +286,15 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
QueryWrapper<WmsMaterialCoil> qw = buildQueryWrapperPlus(bo);
Page<WmsMaterialCoilVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), qw);
result.getRecords().forEach(item -> {
if (item.getCreateBy() != null) {
item.setCreateByName(getUserNickname(item.getCreateBy()));
}
if (item.getUpdateBy() != null) {
item.setUpdateByName(getUserNickname(item.getUpdateBy()));
}
});
// 从联查结果中构建产品和原材料对象(避免单独查询)
for (WmsMaterialCoilVo vo : result.getRecords()) {
buildItemObjectFromJoin(vo);
@@ -341,7 +350,25 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
qw.orderByDesc("mc.create_time");
return qw;
}
/**
* 根据用户名获取用户昵称
* @param username 用户名
* @return 用户昵称
*/
private String getUserNickname(String username) {
try {
// 通过用户名查找用户
SysUser user = userService.selectUserByUserName(username);
if (user != null) {
return user.getNickName();
}
} catch (Exception e) {
// 出现异常时返回原用户名
return username;
}
// 找不到用户时返回原用户名
return username;
}
/**
* 查询钢卷物料表列表