From 312d38098d45ff853a842a7e86d02160ff541488 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 28 Aug 2025 08:29:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../heyu/api/data/dao/vv/VvResourceDao.java | 8 ++ .../heyu/api/data/dto/vv/VVResourceDTO.java | 17 +++ .../api/data/entity/vv/VvResourceEntity.java | 10 +- .../request/mm/resource/ResourceTreeDTO.java | 12 ++ .../resource/VvAdminResourceCopyRequest.java | 21 +++ .../resource/VvAdminResourceSortRequest.java | 2 +- .../mm/AdminResourceController.java | 120 +++++++++++++++++- 7 files changed, 181 insertions(+), 9 deletions(-) create mode 100644 api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVResourceDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/ResourceTreeDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceCopyRequest.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvResourceDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvResourceDao.java index e2589fe..e413ce2 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvResourceDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvResourceDao.java @@ -9,6 +9,7 @@ package com.heyu.api.data.dao.vv; */ import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.data.dto.vv.VVResourceDTO; import com.heyu.api.data.entity.vv.VvResourceEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.lz.mybatis.plugin.annotations.*; @@ -61,4 +62,11 @@ public interface VvResourceDao extends BaseMapper { List selectVvResourceByIds(@IN List id); + + + List selectDtoByParentId(Long parentId); + + + + VVResourceDTO selectDTOById(Long id); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVResourceDTO.java b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVResourceDTO.java new file mode 100644 index 0000000..c38f6d9 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VVResourceDTO.java @@ -0,0 +1,17 @@ +package com.heyu.api.data.dto.vv; + +import com.heyu.api.data.entity.vv.VvResourceEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class VVResourceDTO extends VvResourceEntity { + + + /*** + * 所有的子列表 + */ + private List childList; + +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvResourceEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvResourceEntity.java index 9a7f80d..87d44b6 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvResourceEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvResourceEntity.java @@ -42,18 +42,26 @@ private static final long serialVersionUID = 1L; private Date modifyTime; //资源链接 private String resourceUrl; - //图片或视频, image , video + + //图片或视频, image , video , file 文件夹 + private String type; + //创建时间 private Long createTimestamp; + //资源名称 private String fileName; + //父亲id private Long parentId; + //修改时间 private Long modifyTimestamp; + //默认排序 private Integer defaultSort = 0 ; + /** * * @return diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/ResourceTreeDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/ResourceTreeDTO.java new file mode 100644 index 0000000..5aaf483 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/ResourceTreeDTO.java @@ -0,0 +1,12 @@ +package com.heyu.api.alibaba.request.mm.resource; + +import lombok.Data; + +@Data +public class ResourceTreeDTO { + + /*** + * 资源 + */ + private Long resourceId; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceCopyRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceCopyRequest.java new file mode 100644 index 0000000..55a1bd9 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceCopyRequest.java @@ -0,0 +1,21 @@ +package com.heyu.api.alibaba.request.mm.resource; + + +import lombok.Data; + +import java.util.List; + +@Data +public class VvAdminResourceCopyRequest { + + /*** + * 订单id + */ + private List resourceIds; + + + /*** + * 复制到某个目录下 + */ + private Long parentId; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceSortRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceSortRequest.java index 9271479..11852ce 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceSortRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceSortRequest.java @@ -9,7 +9,7 @@ import java.util.List; public class VvAdminResourceSortRequest { /*** - * 订单id + * 资源 id */ private List resourceIds; } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminResourceController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminResourceController.java index e1aa7fc..d6c8c75 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminResourceController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminResourceController.java @@ -2,10 +2,9 @@ package com.heyu.api.controller.mm; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.heyu.api.alibaba.request.mm.resource.VvAdminResourceDeleteRequest; -import com.heyu.api.alibaba.request.mm.resource.VvAdminResourceRequest; -import com.heyu.api.alibaba.request.mm.resource.VvAdminResourceSortRequest; +import com.heyu.api.alibaba.request.mm.resource.*; import com.heyu.api.data.dao.vv.VvResourceDao; +import com.heyu.api.data.dto.vv.VVResourceDTO; import com.heyu.api.data.entity.vv.VvResourceEntity; import com.heyu.api.data.utils.R; import com.heyu.api.utils.ISelect; @@ -58,6 +57,8 @@ public class AdminResourceController { /*** * test2::test1 * + * 资源新增或修改 + * */ @RequestMapping("/addOrUpdate") public R addOrUpdate(@RequestBody List resourceAddOrUpdateRequests) { @@ -66,13 +67,18 @@ public class AdminResourceController { if (resourceAddOrUpdateRequest.getId() == null) { resourceAddOrUpdateRequest.setCreateTimestamp(System.currentTimeMillis()); } - resourceAddOrUpdateRequest.setModifyTimestamp(System.currentTimeMillis()); vvResourceDao.insertVvResource(resourceAddOrUpdateRequest); } return R.ok("保存成功"); } + + /*** + * 资源排序 + * @param vvAdminResourceSortRequest + * @return + */ @RequestMapping("/sort") public R sort(@RequestBody VvAdminResourceSortRequest vvAdminResourceSortRequest) { List vvResourceEntities = vvResourceDao.selectVvResourceByIds(vvAdminResourceSortRequest.getResourceIds()); @@ -84,6 +90,10 @@ public class AdminResourceController { } + /*** + * 资源删除 + * + */ @RequestMapping("/delete") public R delete(@RequestBody VvAdminResourceDeleteRequest adminResourceDeleteRequest) { for (Long resourceId : adminResourceDeleteRequest.getResourceIds()) { @@ -95,9 +105,10 @@ public class AdminResourceController { return R.ok("删除成功"); } + public void doChildDelete(Long resourceId) { List vvResourceList = new ArrayList<>(); - getChildResourceList(resourceId, vvResourceList); + getAllResourceList(resourceId, vvResourceList); for (VvResourceEntity vvResourceEntity : vvResourceList) { vvResourceDao.deleteVvResourceById(vvResourceEntity.getId()); @@ -105,7 +116,7 @@ public class AdminResourceController { } - public void getChildResourceList(Long parentId, List vvResourceList) { + public void getAllResourceList(Long parentId, List vvResourceList) { List vvResourceEntities = vvResourceDao.selectByParentId(parentId); @@ -118,11 +129,106 @@ public class AdminResourceController { for (VvResourceEntity vvResourceEntity : vvResourceEntities) { - getChildResourceList(vvResourceEntity.getId(), vvResourceList); + getAllResourceList(vvResourceEntity.getId(), vvResourceList); + } + } + + + /*** + * 资源复制 + * + */ + @RequestMapping("/copy") + public R copy(@RequestBody VvAdminResourceCopyRequest vvAdminResourceCopyRequest) { + + + for (Long resourceId : vvAdminResourceCopyRequest.getResourceIds()) { + + doCopy(resourceId, vvAdminResourceCopyRequest.getParentId()); } + return R.ok("复制成功"); + } + + + @RequestMapping("/tree") + public R tree(@RequestBody ResourceTreeDTO resourceTreeDTO) { + + + Long resourceId = resourceTreeDTO.getResourceId(); + + VVResourceDTO vvResourceEntity = vvResourceDao.selectDTOById(resourceId); + + List vvResourceEntities = vvResourceDao.selectDtoByParentId(resourceId); + + getChildResourceList(vvResourceEntities); + + + vvResourceEntity.setChildList(vvResourceEntities); + + + return R.ok().setData(vvResourceEntity); } + public void doCopy(Long resourceId, Long parentId) { + + + VvResourceEntity vvResourceEntity = vvResourceDao.selectVvResourceById(resourceId); + + List vvResourceEntities = vvResourceDao.selectDtoByParentId(resourceId); + + vvResourceEntity.setId(null); + vvResourceEntity.setParentId(parentId); + vvResourceDao.insertVvResource(vvResourceEntity); + + getChildResourceList(vvResourceEntities); + + + doAddChild(vvResourceEntity.getId(), vvResourceEntities); + + + + + + } + + public void doAddChild(Long parentId, List vvResourceEntities) { + + for (VVResourceDTO vvResourceEntity : vvResourceEntities) { + + vvResourceEntity.setId(null); + + vvResourceEntity.setParentId(parentId); + + vvResourceDao.insertVvResource(vvResourceEntity); + + if (CollectionUtils.isEmpty(vvResourceEntity.getChildList())) { + + continue; + } + + doAddChild(vvResourceEntity.getId(), vvResourceEntity.getChildList()); + } + } + + + public void getChildResourceList(List vvResourceList) { + for (VVResourceDTO vvResourceDTO : vvResourceList) { + + List vvResourceEntities = vvResourceDao.selectDtoByParentId(vvResourceDTO.getId()); + + if (CollectionUtils.isEmpty(vvResourceEntities)) { + + continue; + } + + vvResourceDTO.setChildList(vvResourceEntities); + + getChildResourceList(vvResourceEntities); + + } + } + }