From 7cc8cf3c0395b451de03c6168cf5f41c35071042 Mon Sep 17 00:00:00 2001 From: Diyu0904 <1819728964@qq.com> Date: Thu, 15 May 2025 13:23:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E6=97=B6?= =?UTF-8?q?=E5=80=99=E4=B8=8B=E8=BD=BDbug=20=E6=96=B0=E5=A2=9E=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E6=96=87=E4=BB=B6=E5=90=8D=E5=88=A0=E9=99=A4=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/DownloadRecordController.java | 9 +++++++ .../mcwl/resource/domain/DownloadRecord.java | 2 +- .../mcwl/resource/domain/WorkFlowVersion.java | 7 ++++++ .../service/DownloadRecordService.java | 2 ++ .../impl/DownloadRecordServiceImpl.java | 24 +++++++++++++++++++ .../service/impl/WorkFlowServiceImpl.java | 7 ++++++ .../mapper/resource/DownloadRecordMapper.xml | 3 ++- 7 files changed, 52 insertions(+), 2 deletions(-) diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/DownloadRecordController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/DownloadRecordController.java index 5ae1dda..e12c091 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/DownloadRecordController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/DownloadRecordController.java @@ -1,5 +1,6 @@ package com.mcwl.web.controller.resource; +import com.mcwl.common.annotation.RepeatSubmit; import com.mcwl.common.core.domain.R; import com.mcwl.resource.domain.DownloadRecord; import com.mcwl.resource.domain.request.RequestDownload; @@ -36,6 +37,7 @@ public class DownloadRecordController { * @return */ @ApiOperation(value = "新增下载记录") + @RepeatSubmit(interval = 1000) @PostMapping("/addDownloadRecord") public R addDownloadRecord(@RequestBody DownloadRecord downloadRecord){ @@ -85,4 +87,11 @@ public class DownloadRecordController { return downloadRecordService.selectByFileName(requestDownload); } + @ApiOperation(value = "根据文件名删除数据") + @PostMapping("/deleteDownloadRecordByFileName") + public R deleteDownloadRecordByFileName(@RequestBody DownloadRecord downloadRecord){ + + return downloadRecordService.deleteDownloadRecordByFileName(downloadRecord); + } + } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/DownloadRecord.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/DownloadRecord.java index 77544db..7ecc9d5 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/DownloadRecord.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/DownloadRecord.java @@ -47,7 +47,7 @@ public class DownloadRecord { /** * 作品类型(0模型 1工作流) */ - @ApiModelProperty(value = "作品类型(0模型 1工作流)") + @ApiModelProperty(value = "作品类型") private Long productType; /** diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/WorkFlowVersion.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/WorkFlowVersion.java index 535db6b..661978e 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/WorkFlowVersion.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/WorkFlowVersion.java @@ -113,4 +113,11 @@ public class WorkFlowVersion { */ @ApiModelProperty(value = "文件hash") private String fileHash; + + /** + * 是否下载 + */ + @ApiModelProperty(value = "是否下载") + @TableField(exist = false) + private Integer isDownload; } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/service/DownloadRecordService.java b/mcwl-resource/src/main/java/com/mcwl/resource/service/DownloadRecordService.java index babbc46..a88af56 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/service/DownloadRecordService.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/service/DownloadRecordService.java @@ -24,4 +24,6 @@ public interface DownloadRecordService { Integer selectDownloadByUser(Long userIdMax, Long id, int i); R selectByFileName(RequestDownload requestDownload); + + R deleteDownloadRecordByFileName(DownloadRecord downloadRecord); } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/DownloadRecordServiceImpl.java b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/DownloadRecordServiceImpl.java index 7f0ca1b..2f269ea 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/DownloadRecordServiceImpl.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/DownloadRecordServiceImpl.java @@ -56,6 +56,17 @@ public class DownloadRecordServiceImpl implements DownloadRecordService { downloadRecord.setUserId(SecurityUtils.getUserId()); downloadRecord.setCreateTime(new Date()); + //校验是否存在下载记录 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DownloadRecord::getUserId,SecurityUtils.getUserId()); + wrapper.eq(DownloadRecord::getDownloadType,downloadRecord.getDownloadType()); + wrapper.eq(DownloadRecord::getProductId,downloadRecord.getProductId()); + List downloadRecords = downloadRecordMapper.selectList(wrapper); + if (StringUtils.isNotEmpty(downloadRecords)){ + //记录存在直接返回 + return R.ok(); + } + // //获取作品信息 // if (downloadRecord.getProductType() == 0){ // @@ -178,4 +189,17 @@ public class DownloadRecordServiceImpl implements DownloadRecordService { return R.ok(downloadRecords); } + + @Override + public R deleteDownloadRecordByFileName(DownloadRecord downloadRecord) { + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DownloadRecord::getFileName,downloadRecord.getFileName()); + wrapper.eq(DownloadRecord::getUserId,SecurityUtils.getUserId()); + + downloadRecordMapper.delete(wrapper); + + return R.ok(); + } + } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/WorkFlowServiceImpl.java b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/WorkFlowServiceImpl.java index 709b04a..8bb46f2 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/WorkFlowServiceImpl.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/WorkFlowServiceImpl.java @@ -76,6 +76,9 @@ public class WorkFlowServiceImpl extends ServiceImpl i @Autowired private ThreadPoolTaskExecutor threadPoolTaskExecutor; + @Autowired + private DownloadRecordServiceImpl downloadRecordService; + @Override public R addWorkFlow(AddRequestWorkFlow addRequestWorkFlo) { @@ -530,6 +533,9 @@ public class WorkFlowServiceImpl extends ServiceImpl i if (userIdMax == 0){ //收藏为空 workFlowVersion.setIsCollect(0); + + //下载为空 + workFlowVersion.setIsDownload(0); }else { //查询是否收藏 Collect collect = collectService.selectCollectById(workFlowVersion.getId(), userIdMax, 1); @@ -541,6 +547,7 @@ public class WorkFlowServiceImpl extends ServiceImpl i workFlowVersion.setIsCollect(1); } + workFlowVersion.setIsDownload(downloadRecordService.selectDownloadByUser(userIdMax,workFlowVersion.getWorkFlowId(),1)); } responseWorkFlow.setWorkFlowVersion(workFlowVersion); diff --git a/mcwl-resource/src/main/resources/mapper/resource/DownloadRecordMapper.xml b/mcwl-resource/src/main/resources/mapper/resource/DownloadRecordMapper.xml index 7cc4434..dee9a64 100644 --- a/mcwl-resource/src/main/resources/mapper/resource/DownloadRecordMapper.xml +++ b/mcwl-resource/src/main/resources/mapper/resource/DownloadRecordMapper.xml @@ -15,6 +15,7 @@