From ad6ca564c512753929382621c538ae996e79c37c Mon Sep 17 00:00:00 2001 From: Diyu0904 <1819728964@qq.com> Date: Wed, 12 Mar 2025 11:27:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EPC=E7=AB=AF=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/CollectController.java | 8 +++++ .../domain/response/ResponseModelProduct.java | 7 ++++ .../domain/response/ResponseWorkFlow.java | 9 ++++- .../com/mcwl/resource/domain/vo/PageVo.java | 3 ++ .../resource/mapper/ModelVersionMapper.java | 2 ++ .../mapper/WorkFlowVersionMapper.java | 2 ++ .../service/impl/ModelServiceImpl.java | 33 ++++++++++++++++--- .../service/impl/WorkFlowServiceImpl.java | 33 ++++++++++++++++--- .../mapper/resource/ModelVersionMapper.xml | 4 +++ .../mapper/resource/WorkFlowMapper.xml | 2 +- .../mapper/resource/WorkFlowVersionMapper.xml | 4 +++ 11 files changed, 97 insertions(+), 10 deletions(-) diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/CollectController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/CollectController.java index f8e7841..c5d088f 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/CollectController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/resource/CollectController.java @@ -2,6 +2,7 @@ package com.mcwl.web.controller.resource; import com.mcwl.common.core.domain.R; import com.mcwl.resource.domain.Collect; +import com.mcwl.resource.domain.vo.PageVo; import com.mcwl.resource.service.impl.CollectServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -41,4 +42,11 @@ public class CollectController { } + + public R selectCollect(@RequestBody PageVo pageVo){ + + + return R.ok(); + } + } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseModelProduct.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseModelProduct.java index 5d1e35b..ec3c5e9 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseModelProduct.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseModelProduct.java @@ -1,6 +1,7 @@ package com.mcwl.resource.domain.response; import com.baomidou.mybatisplus.annotation.TableId; +import com.mcwl.resource.domain.ModelVersion; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; @@ -80,4 +81,10 @@ public class ResponseModelProduct { @ApiModelProperty(value = "发布人头像") private String avatar; + /** + * 版本对象 + */ + @ApiModelProperty(value = "版本对象") + private ModelVersion modelVersion; + } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseWorkFlow.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseWorkFlow.java index 164db5e..385d579 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseWorkFlow.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/response/ResponseWorkFlow.java @@ -1,6 +1,7 @@ package com.mcwl.resource.domain.response; import com.baomidou.mybatisplus.annotation.TableId; +import com.mcwl.resource.domain.WorkFlowVersion; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; @@ -67,7 +68,7 @@ public class ResponseWorkFlow { * 作品点赞数量 */ @ApiModelProperty(value = "作品点赞数量") - private Integer likeCount = 0; + private Integer likeNum = 0; /** * 作品发布人 @@ -80,4 +81,10 @@ public class ResponseWorkFlow { */ @ApiModelProperty(value = "发布人头像") private String avatar; + + /** + * 工作流版本 + */ + @ApiModelProperty(value = "工作流版本") + private WorkFlowVersion workFlowVersion; } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/PageVo.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/PageVo.java index df22804..80a0aef 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/PageVo.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/PageVo.java @@ -32,4 +32,7 @@ public class PageVo { private Integer order; @ApiModelProperty(value = "条件过滤") private Long type; + + @ApiModelProperty("0查询 1不查询 是否收藏/下载") + private Integer isCollect; } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/mapper/ModelVersionMapper.java b/mcwl-resource/src/main/java/com/mcwl/resource/mapper/ModelVersionMapper.java index 85376e8..e60d92b 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/mapper/ModelVersionMapper.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/mapper/ModelVersionMapper.java @@ -25,4 +25,6 @@ public interface ModelVersionMapper extends BaseMapper { ModelVersion selectByHash(@Param("hashCode") String hashCode); + ModelVersion selectByProductId(@Param("id") Long id); + } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/mapper/WorkFlowVersionMapper.java b/mcwl-resource/src/main/java/com/mcwl/resource/mapper/WorkFlowVersionMapper.java index 1e3dd5a..15213a9 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/mapper/WorkFlowVersionMapper.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/mapper/WorkFlowVersionMapper.java @@ -28,4 +28,6 @@ public interface WorkFlowVersionMapper extends BaseMapper { WorkFlowVersion selectByHash(@Param("hashCode") String hashCode); + WorkFlowVersion selectByWorkFlowId(@Param("id") Long id); + } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/ModelServiceImpl.java b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/ModelServiceImpl.java index 80027e7..92dc137 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/ModelServiceImpl.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/ModelServiceImpl.java @@ -17,10 +17,7 @@ import com.mcwl.common.core.page.TableDataInfo; import com.mcwl.common.utils.SecurityUtils; import com.mcwl.common.utils.StringUtils; import com.mcwl.common.utils.baidu.BaiduCensor; -import com.mcwl.resource.domain.ModelProduct; -import com.mcwl.resource.domain.ModelVersion; -import com.mcwl.resource.domain.SysUserAttention; -import com.mcwl.resource.domain.WorkFlowLike; +import com.mcwl.resource.domain.*; import com.mcwl.resource.domain.dto.ModelImagePageRes; import com.mcwl.resource.domain.request.RequestModel; import com.mcwl.resource.domain.response.ResponseModelProduct; @@ -67,6 +64,7 @@ public class ModelServiceImpl extends ServiceImpl impl @Autowired private ISysUserService sysUserService; + @Autowired private ThreadPoolTaskExecutor threadPoolTaskExecutor; @@ -76,6 +74,9 @@ public class ModelServiceImpl extends ServiceImpl impl @Autowired private ModelLikeMapper modelLikeMapper; + @Autowired + private CollectServiceImpl collectService; + /** * 设置模型置顶状态 * @@ -104,12 +105,36 @@ public class ModelServiceImpl extends ServiceImpl impl page.setPageNum(pageVo.getPageNumber()); page.setPages(pageVo.getPageSize()); + Long userIdMax = SecurityUtils.getUserIdMax(); List responseModelProductList = postMapper.modelSquare(pageVo); for (ResponseModelProduct responseModelProduct : responseModelProductList) { if (responseModelProduct.getModelType() != null){ responseModelProduct.setType(DictInit.getDictValue(DictConstants.MODEL_TYPE,responseModelProduct.getModelType()+"")); } + + //查询该模型第一个版本信息 + if (pageVo.getIsCollect() == 0){ + + ModelVersion modelVersion = modelVersionMapper.selectByProductId(responseModelProduct.getId()); + + if (userIdMax == 0){ + //收藏为空 + modelVersion.setIsCollect(0); + }else { + //查询是否收藏 + Collect collect = collectService.selectCollectById(modelVersion.getId(), userIdMax, 0); + + if (collect == null){ + + modelVersion.setIsCollect(0); + } + modelVersion.setIsCollect(1); + } + + responseModelProduct.setModelVersion(modelVersion); + } + } return new PageInfo(responseModelProductList); 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 79a76c1..1ada5ad 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 @@ -19,10 +19,7 @@ import com.mcwl.common.core.page.TableDataInfo; import com.mcwl.common.utils.SecurityUtils; import com.mcwl.common.utils.StringUtils; import com.mcwl.common.utils.baidu.BaiduCensor; -import com.mcwl.resource.domain.SysUserAttention; -import com.mcwl.resource.domain.WorkFlow; -import com.mcwl.resource.domain.WorkFlowLike; -import com.mcwl.resource.domain.WorkFlowVersion; +import com.mcwl.resource.domain.*; import com.mcwl.resource.domain.dto.AddRequestWorkFlow; import com.mcwl.resource.domain.dto.ModelImagePageRes; import com.mcwl.resource.domain.request.RequestWorkFlow; @@ -60,6 +57,9 @@ public class WorkFlowServiceImpl extends ServiceImpl i @Autowired private WorkFlowMapper flowMapper; + @Autowired + private CollectServiceImpl collectService; + @Autowired private WorkFlowVersionMapper workFlowVersionMapper; @@ -492,11 +492,36 @@ public class WorkFlowServiceImpl extends ServiceImpl i List responseWorkFlowList = baseMapper.workFlowList(pageVo); + Long userIdMax = SecurityUtils.getUserIdMax(); + for (ResponseWorkFlow responseWorkFlow : responseWorkFlowList) { responseWorkFlow.setType(DictInit.getDictValue(DictConstants.WORK_FLOW_TYPE_CHILD, responseWorkFlow.getType())); + //查询工作流型第一个版本信息 + if (pageVo.getIsCollect() == 0){ + + WorkFlowVersion workFlowVersion = workFlowVersionMapper.selectByWorkFlowId(responseWorkFlow.getId()); + + if (userIdMax == 0){ + //收藏为空 + workFlowVersion.setIsCollect(0); + }else { + //查询是否收藏 + Collect collect = collectService.selectCollectById(workFlowVersion.getId(), userIdMax, 1); + + if (collect == null){ + + workFlowVersion.setIsCollect(0); + } + workFlowVersion.setIsCollect(1); + } + + responseWorkFlow.setWorkFlowVersion(workFlowVersion); + } + } + return new PageInfo(responseWorkFlowList); } diff --git a/mcwl-resource/src/main/resources/mapper/resource/ModelVersionMapper.xml b/mcwl-resource/src/main/resources/mapper/resource/ModelVersionMapper.xml index a6ec866..7894cc5 100644 --- a/mcwl-resource/src/main/resources/mapper/resource/ModelVersionMapper.xml +++ b/mcwl-resource/src/main/resources/mapper/resource/ModelVersionMapper.xml @@ -55,4 +55,8 @@ select * from model_version where file_hash = #{hashCode} + + diff --git a/mcwl-resource/src/main/resources/mapper/resource/WorkFlowMapper.xml b/mcwl-resource/src/main/resources/mapper/resource/WorkFlowMapper.xml index 2d96f8e..65afa65 100644 --- a/mcwl-resource/src/main/resources/mapper/resource/WorkFlowMapper.xml +++ b/mcwl-resource/src/main/resources/mapper/resource/WorkFlowMapper.xml @@ -44,7 +44,7 @@ select * from work_flow_version where file_hash = #{hashCode} + +