diff --git a/klp-admin/src/main/java/com/klp/web/controller/system/SysFileController.java b/klp-admin/src/main/java/com/klp/web/controller/system/SysFileController.java index d2c287236..275b0e2b9 100644 --- a/klp-admin/src/main/java/com/klp/web/controller/system/SysFileController.java +++ b/klp-admin/src/main/java/com/klp/web/controller/system/SysFileController.java @@ -98,6 +98,15 @@ public class SysFileController extends BaseController { return toAjax(iSysFileService.deleteWithValidByIds(Arrays.asList(fileIds), true)); } + /** + * 文件浏览次数 +1 + */ + @PutMapping("/incrementView/{fileId}") + public R incrementView(@NotNull(message = "主键不能为空") @PathVariable Long fileId) { + iSysFileService.incrementViewCount(fileId); + return R.ok(); + } + /** * 查询与我相关的文件(私有文件且当前用户在可见用户列表中) */ diff --git a/klp-system/src/main/java/com/klp/system/domain/SysFile.java b/klp-system/src/main/java/com/klp/system/domain/SysFile.java index 708877aec..3401000f1 100644 --- a/klp-system/src/main/java/com/klp/system/domain/SysFile.java +++ b/klp-system/src/main/java/com/klp/system/domain/SysFile.java @@ -60,6 +60,10 @@ public class SysFile extends BaseEntity { * 备注 */ private String remark; + /** + * 浏览次数 + */ + private Long viewCount; /** * 删除标识 0正常 2删除 */ diff --git a/klp-system/src/main/java/com/klp/system/domain/bo/SysFileBo.java b/klp-system/src/main/java/com/klp/system/domain/bo/SysFileBo.java index 4d84f2d1e..05ebcfb45 100644 --- a/klp-system/src/main/java/com/klp/system/domain/bo/SysFileBo.java +++ b/klp-system/src/main/java/com/klp/system/domain/bo/SysFileBo.java @@ -67,5 +67,9 @@ public class SysFileBo extends BaseEntity { */ private String remark; + /** + * 浏览次数 + */ + private Long viewCount; } 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 a9075d43c..66c91baf2 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 @@ -80,5 +80,10 @@ public class SysFileVo extends BaseEntity { @ExcelProperty(value = "备注") private String remark; + /** + * 浏览次数 + */ + @ExcelProperty(value = "浏览次数") + private Long viewCount; } diff --git a/klp-system/src/main/java/com/klp/system/service/ISysFileService.java b/klp-system/src/main/java/com/klp/system/service/ISysFileService.java index 1cd0a32da..134f86493 100644 --- a/klp-system/src/main/java/com/klp/system/service/ISysFileService.java +++ b/klp-system/src/main/java/com/klp/system/service/ISysFileService.java @@ -51,4 +51,9 @@ public interface ISysFileService { * 查询与我相关的文件(私有文件且当前用户在可见用户列表中) */ TableDataInfo queryPageListRelatedToMe(SysFileBo bo, PageQuery pageQuery); + + /** + * 文件浏览次数 +1 + */ + void incrementViewCount(Long fileId); } 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 b06095d64..09b1c2ccf 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 @@ -5,6 +5,7 @@ import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.helper.LoginHelper; import com.klp.common.utils.StringUtils; @@ -124,6 +125,16 @@ public class SysFileServiceImpl implements ISysFileService { return TableDataInfo.build(result); } + /** + * 文件浏览次数 +1 + */ + @Override + public void incrementViewCount(Long fileId) { + baseMapper.update(null, Wrappers.lambdaUpdate() + .setSql("view_count = view_count + 1") + .eq(SysFile::getFileId, fileId)); + } + /** * 保存前的数据校验 */ diff --git a/klp-system/src/main/resources/mapper/system/SysFileMapper.xml b/klp-system/src/main/resources/mapper/system/SysFileMapper.xml index 809b1c040..c987af387 100644 --- a/klp-system/src/main/resources/mapper/system/SysFileMapper.xml +++ b/klp-system/src/main/resources/mapper/system/SysFileMapper.xml @@ -15,6 +15,7 @@ + diff --git a/klp-ui/src/api/system/file.js b/klp-ui/src/api/system/file.js index c184ddda3..f46086350 100644 --- a/klp-ui/src/api/system/file.js +++ b/klp-ui/src/api/system/file.js @@ -52,6 +52,14 @@ export function exportFile(query) { }) } +// 文件浏览次数 +1 +export function incrementView(fileId) { + return request({ + url: '/system/file/incrementView/' + fileId, + method: 'put' + }) +} + // 查询与我相关的文件 export function listRelatedToMe(query) { return request({ diff --git a/klp-ui/src/views/system/file/all.vue b/klp-ui/src/views/system/file/all.vue index bc7233ad5..6e66e7ed7 100644 --- a/klp-ui/src/views/system/file/all.vue +++ b/klp-ui/src/views/system/file/all.vue @@ -152,6 +152,11 @@ {{ parseTime(scope.row.createTime) }} + + + {{ formatFileSize(infoFile.fileSize) }} {{ infoFile.suffix || '-' }} + {{ infoFile.viewCount != null ? infoFile.viewCount : 0 }} 次 {{ infoFile.orderNo || '-' }} {{ infoFile.dept || '-' }} @@ -291,7 +297,7 @@