refactor(wms): 优化用户昵称获取逻辑
- 移除XML映射文件中的冗余用户关联查询 - 在服务层统一处理创建人和更新人昵称填充 - 新增getUserNickname方法通过用户名获取用户昵称 - 优化异常处理,确保获取失败时返回原始用户名 - 减少数据库查询次数,提升接口性能
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询钢卷物料表列表
|
||||
|
||||
Reference in New Issue
Block a user