diff --git a/klp-system/src/main/java/com/klp/system/domain/vo/SysFileVo.java b/klp-system/src/main/java/com/klp/system/domain/vo/SysFileVo.java index 66c91baf2..ff1dbc629 100644 --- a/klp-system/src/main/java/com/klp/system/domain/vo/SysFileVo.java +++ b/klp-system/src/main/java/com/klp/system/domain/vo/SysFileVo.java @@ -86,4 +86,10 @@ public class SysFileVo extends BaseEntity { @ExcelProperty(value = "浏览次数") private Long viewCount; + /** + * 创建者昵称 + */ + @ExcelProperty(value = "创建者昵称") + private String createByName; + } diff --git a/klp-system/src/main/java/com/klp/system/service/impl/SysFileServiceImpl.java b/klp-system/src/main/java/com/klp/system/service/impl/SysFileServiceImpl.java index 09b1c2ccf..306c1bde6 100644 --- a/klp-system/src/main/java/com/klp/system/service/impl/SysFileServiceImpl.java +++ b/klp-system/src/main/java/com/klp/system/service/impl/SysFileServiceImpl.java @@ -17,12 +17,15 @@ import com.klp.system.domain.SysFile; import com.klp.system.domain.SysFileVisibleUser; import com.klp.system.mapper.SysFileMapper; import com.klp.system.mapper.SysFileVisibleUserMapper; +import com.klp.system.mapper.SysUserMapper; import com.klp.system.service.ISysFileService; +import com.klp.common.core.domain.entity.SysUser; import java.util.List; import java.util.Map; import java.util.Collection; import java.util.stream.Collectors; +import java.util.Optional; /** * 文件主信息Service业务层处理 @@ -36,6 +39,7 @@ public class SysFileServiceImpl implements ISysFileService { private final SysFileMapper baseMapper; private final SysFileVisibleUserMapper visibleUserMapper; + private final SysUserMapper userMapper; /** * 查询文件主信息 @@ -52,6 +56,7 @@ public class SysFileServiceImpl implements ISysFileService { public TableDataInfo queryPageList(SysFileBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + fillCreateByName(result.getRecords()); return TableDataInfo.build(result); } @@ -61,7 +66,9 @@ public class SysFileServiceImpl implements ISysFileService { @Override public List queryList(SysFileBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + fillCreateByName(list); + return list; } private LambdaQueryWrapper buildQueryWrapper(SysFileBo bo) { @@ -122,6 +129,7 @@ public class SysFileServiceImpl implements ISysFileService { LambdaQueryWrapper lqw = buildQueryWrapper(bo); lqw.in(SysFile::getFileId, fileIds); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + fillCreateByName(result.getRecords()); return TableDataInfo.build(result); } @@ -135,6 +143,35 @@ public class SysFileServiceImpl implements ISysFileService { .eq(SysFile::getFileId, fileId)); } + /** + * 根据 createBy(登录名)批量填充 createByName(用户昵称) + */ + private void fillCreateByName(List list) { + if (list == null || list.isEmpty()) { + return; + } + // 收集所有不重复的 createBy + List userNames = list.stream() + .map(SysFileVo::getCreateBy) + .filter(StringUtils::isNotBlank) + .distinct() + .collect(Collectors.toList()); + if (userNames.isEmpty()) { + return; + } + // 批量查询用户 + List users = userMapper.selectUserList( + Wrappers.lambdaQuery().in(SysUser::getUserName, userNames)); + Map nickNameMap = users.stream() + .collect(Collectors.toMap(SysUser::getUserName, SysUser::getNickName, (a, b) -> a)); + // 赋值 + for (SysFileVo vo : list) { + if (StringUtils.isNotBlank(vo.getCreateBy())) { + vo.setCreateByName(nickNameMap.get(vo.getCreateBy())); + } + } + } + /** * 保存前的数据校验 */ diff --git a/klp-ui/src/views/system/file/all.vue b/klp-ui/src/views/system/file/all.vue index dac9f1592..09e3762e0 100644 --- a/klp-ui/src/views/system/file/all.vue +++ b/klp-ui/src/views/system/file/all.vue @@ -119,7 +119,7 @@ {{ scope.row.fileName }} - + @@ -253,7 +253,7 @@ {{ infoFile.scopeType === 1 ? '公开' : '私有' }} - {{ infoFile.createBy }} + {{ infoFile.createByName || infoFile.createBy }} {{ parseTime(infoFile.createTime) }} {{ infoFile.remark || '-' }} diff --git a/klp-ui/src/views/system/file/index.vue b/klp-ui/src/views/system/file/index.vue index 30bcebfcd..45469eef7 100644 --- a/klp-ui/src/views/system/file/index.vue +++ b/klp-ui/src/views/system/file/index.vue @@ -95,7 +95,7 @@ {{ scope.row.fileName }} - + @@ -229,7 +229,7 @@ {{ infoFile.scopeType === 1 ? '公开' : '私有' }} - {{ infoFile.createBy }} + {{ infoFile.createByName || infoFile.createBy }} {{ parseTime(infoFile.createTime) }} {{ infoFile.remark || '-' }}