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 9f122a5..e2589fe 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 @@ -11,10 +11,7 @@ package com.heyu.api.data.dao.vv; import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.data.entity.vv.VvResourceEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.lz.mybatis.plugin.annotations.GE; -import com.lz.mybatis.plugin.annotations.IF; -import com.lz.mybatis.plugin.annotations.LE; -import com.lz.mybatis.plugin.annotations.OrderBy; +import com.lz.mybatis.plugin.annotations.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -39,18 +36,29 @@ public interface VvResourceDao extends BaseMapper { int updateCoverVvResourceById(VvResourceEntity vvResource); + @Realy int deleteVvResourceById(@Param("id") Long id); @OrderBy(VvResourceEntity.id_) List selectByCondition(IPage page, - @IF String name , + @IF String fileName, @IF String type, - @IF String status, + @IF Long parentId, @IF @GE Long minCreateTimestamp, @IF @LE Long maxCreateTimestamp, - @IF @OrderBy(VvResourceEntity.create_timestamp) String createTimestampSort + @IF @LE Long minModifyTimestamp, + @IF @GE Long maxModifyTimestamp, + @IF @OrderBy(VvResourceEntity.create_timestamp) String createTimestampSort, + @IF @OrderBy(VvResourceEntity.modify_timestamp) String modifyTimestampSort, + @IF @OrderBy(VvResourceEntity.default_sort) String defaultSort + + ); + List selectByParentId(Long parentId); + + + List selectVvResourceByIds(@IN List id); } \ No newline at end of file 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 d7a0547..23527d8 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 @@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date; /** *资源库 * @author quyixiao -* @since 2025-08-25 +* @since 2025-08-27 */ @Data @@ -27,9 +27,11 @@ private static final long serialVersionUID = 1L; public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间 public final static String resource_url = CLASS_NAME + "resource_url"; // 资源链接 public final static String type_ = CLASS_NAME + "type"; // 图片或视频, image , video - public final static String status_ = CLASS_NAME + "status"; // 状态,online 在线状态 ,delete ,删除状态 public final static String create_timestamp = CLASS_NAME + "create_timestamp"; // 创建时间 - public final static String name_ = CLASS_NAME + "name"; // 资源名称 + public final static String file_name = CLASS_NAME + "file_name"; // 资源名称 + public final static String parent_id = CLASS_NAME + "parent_id"; // 父亲id + public final static String modify_timestamp = CLASS_NAME + "modify_timestamp"; // 修改时间 + public final static String default_sort = CLASS_NAME + "default_sort"; // 默认排序 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -43,12 +45,16 @@ private static final long serialVersionUID = 1L; private String resourceUrl; //图片或视频, image , video private String type; - //状态,online 在线状态 ,delete ,删除状态 - private String status; //创建时间 private Long createTimestamp; //资源名称 - private String name; + private String fileName; + //父亲id + private Long parentId; + //修改时间 + private Long modifyTimestamp; + //默认排序 + private Integer defaultSort; /** * * @return @@ -139,21 +145,6 @@ private static final long serialVersionUID = 1L; this.type = type; } - /** - * 状态,online 在线状态 ,delete ,删除状态 - * @return - */ - public String getStatus() { - return status; - } - /** - * 状态,online 在线状态 ,delete ,删除状态 - * @param status - */ - public void setStatus(String status) { - this.status = status; - } - /** * 创建时间 * @return @@ -173,15 +164,60 @@ private static final long serialVersionUID = 1L; * 资源名称 * @return */ - public String getName() { - return name; + public String getFileName() { + return fileName; } /** * 资源名称 - * @param name + * @param fileName */ - public void setName(String name) { - this.name = name; + public void setFileName(String fileName) { + this.fileName = fileName; + } + + /** + * 父亲id + * @return + */ + public Long getParentId() { + return parentId; + } + /** + * 父亲id + * @param parentId + */ + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + /** + * 修改时间 + * @return + */ + public Long getModifyTimestamp() { + return modifyTimestamp; + } + /** + * 修改时间 + * @param modifyTimestamp + */ + public void setModifyTimestamp(Long modifyTimestamp) { + this.modifyTimestamp = modifyTimestamp; + } + + /** + * 默认排序 + * @return + */ + public Integer getDefaultSort() { + return defaultSort; + } + /** + * 默认排序 + * @param defaultSort + */ + public void setDefaultSort(Integer defaultSort) { + this.defaultSort = defaultSort; } @Override @@ -193,9 +229,11 @@ private static final long serialVersionUID = 1L; ",modifyTime=" + modifyTime + ",resourceUrl=" + resourceUrl + ",type=" + type + - ",status=" + status + ",createTimestamp=" + createTimestamp + - ",name=" + name + + ",fileName=" + fileName + + ",parentId=" + parentId + + ",modifyTimestamp=" + modifyTimestamp + + ",defaultSort=" + defaultSort + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java index 534ba97..908055b 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java @@ -94,7 +94,8 @@ public class MysqlMain_insert { List list = new ArrayList(); - list.add(new TablesBean("vv_reverse_order_line")); + + list.add(new TablesBean("vv_file_resource")); diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java index 752dc1f..1c5c07e 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java @@ -49,7 +49,7 @@ public class MysqlMain_update { List list = new ArrayList(); - String a = "vv_reverse_order"; + String a = "vv_resource"; for (String s : a.split(",")) { list.add(new TablesBean(s)); } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ResourceEnums.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ResourceEnums.java new file mode 100644 index 0000000..75f257c --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/enums/ResourceEnums.java @@ -0,0 +1,38 @@ +package com.heyu.api.alibaba.request.mm.enums; + +public enum ResourceEnums { + + + image("image","图片"), + video("video","视频"), + file("file","文件"), + + ; + + + ResourceEnums(String status, String desc) { + this.type = status; + this.desc = desc; + } + + private String type; + + private String desc; + + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceDeleteRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceDeleteRequest.java new file mode 100644 index 0000000..6a7ec6f --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceDeleteRequest.java @@ -0,0 +1,13 @@ +package com.heyu.api.alibaba.request.mm.resource; + + +import lombok.Data; + +@Data +public class VvAdminResourceDeleteRequest { + + /*** + * 订单id + */ + private Long resourceId; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceRequest.java index e032871..e7d0723 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceRequest.java @@ -12,23 +12,18 @@ public class VvAdminResourceRequest { private Integer pageSize = 10 ; - /*** - * 资源名称 - */ - private String name ; /*** * 类型 + * image + * + * video + * + * + * file */ private String type ; - - /*** - * 状态 - */ - private String status ; - - //创建时间撮 private Long minCreateTimestamp; @@ -38,8 +33,33 @@ public class VvAdminResourceRequest { private Long maxCreateTimestamp; + //资源名称 + private String fileName; + //父亲id + private Long parentId; + + + //修改时间 + private Long minModifyTimestamp; + + + //修改时间 + private Long maxModifyTimestamp; + + /*** * 按创建时间排序 */ private String createTimestampSort; + + + /*** + * 按创建时间排序 + */ + private String modifyTimestampSort; + + /*** + * + */ + private String defaultSort; } 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 new file mode 100644 index 0000000..9271479 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceSortRequest.java @@ -0,0 +1,15 @@ +package com.heyu.api.alibaba.request.mm.resource; + + +import lombok.Data; + +import java.util.List; + +@Data +public class VvAdminResourceSortRequest { + + /*** + * 订单id + */ + private List resourceIds; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvFileRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvFileRequest.java new file mode 100644 index 0000000..c04a689 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvFileRequest.java @@ -0,0 +1,23 @@ +package com.heyu.api.alibaba.request.mm.resource; + +import lombok.Data; + +@Data +public class VvFileRequest { + + + private Integer pageNum = 1 ; + + + private Integer pageSize = 10 ; + + + /*** + * 资源名称 + */ + private String fileName ; + + + + +} 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 d7511d0..6932a8a 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,18 +2,22 @@ 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.data.dao.vv.VvResourceDao; import com.heyu.api.data.entity.vv.VvResourceEntity; import com.heyu.api.data.utils.R; import com.heyu.api.utils.ISelect; import com.heyu.api.utils.PPageUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.List; @Slf4j @@ -25,6 +29,7 @@ public class AdminResourceController { @Autowired private VvResourceDao vvResourceDao; + @RequestMapping("/list") public R list(@RequestBody VvAdminResourceRequest adminResourceRequest) { PPageUtils pageUtils = PPageUtils.startPage(adminResourceRequest.getPageNum(), adminResourceRequest.getPageSize()) @@ -32,27 +37,32 @@ public class AdminResourceController { @Override public List doSelect(IPage page) { return vvResourceDao.selectByCondition(page, - adminResourceRequest.getName(), + adminResourceRequest.getFileName(), adminResourceRequest.getType(), - adminResourceRequest.getStatus(), + adminResourceRequest.getParentId(), adminResourceRequest.getMinCreateTimestamp(), adminResourceRequest.getMaxCreateTimestamp(), - adminResourceRequest.getCreateTimestampSort() + adminResourceRequest.getMinModifyTimestamp(), + adminResourceRequest.getMaxModifyTimestamp(), + adminResourceRequest.getCreateTimestampSort(), + adminResourceRequest.getModifyTimestampSort(), + adminResourceRequest.getDefaultSort() + ); } }); return R.ok().setData(pageUtils); - } - @RequestMapping("/addOrUpdate") public R addOrUpdate(@RequestBody List resourceAddOrUpdateRequests) { - for (VvResourceEntity resourceAddOrUpdateRequest : resourceAddOrUpdateRequests) { + for (VvResourceEntity resourceAddOrUpdateRequest : resourceAddOrUpdateRequests) { if(resourceAddOrUpdateRequest.getId() == null){ resourceAddOrUpdateRequest.setCreateTimestamp( System.currentTimeMillis()); } + + resourceAddOrUpdateRequest.setModifyTimestamp(System.currentTimeMillis()); vvResourceDao.insertVvResource(resourceAddOrUpdateRequest); } return R.ok("保存成功"); @@ -60,4 +70,60 @@ public class AdminResourceController { + + @RequestMapping("/sort") + public R sort(@RequestBody VvAdminResourceSortRequest vvAdminResourceSortRequest) { + List vvResourceEntities = vvResourceDao.selectVvResourceByIds(vvAdminResourceSortRequest.getResourceIds()); + for (VvResourceEntity vvResourceEntity : vvResourceEntities) { + vvResourceEntity.setDefaultSort(vvAdminResourceSortRequest.getResourceIds().indexOf(vvResourceEntity.getId()) + 1 ); + vvResourceDao.updateCoverVvResourceById(vvResourceEntity); + } + return R.ok(); + } + + + + @RequestMapping("/delete") + public R addOrUpdate(@RequestBody VvAdminResourceDeleteRequest adminResourceDeleteRequest) { + List vvResourceList = new ArrayList<>(); + + getChildResourceList(adminResourceDeleteRequest.getResourceId(), vvResourceList); + + + for (VvResourceEntity vvResourceEntity : vvResourceList) { + vvResourceDao.deleteVvResourceById(vvResourceEntity.getId()); + } + + + + return R.ok("删除成功"); + } + + + + + public void getChildResourceList(Long parentId,List vvResourceList){ + + List vvResourceEntities = vvResourceDao.selectByParentId(parentId); + + if(CollectionUtils.isEmpty(vvResourceEntities) || vvResourceEntities.size() == 0){ + + return ; + } + + vvResourceList.addAll(vvResourceEntities); + + for (VvResourceEntity vvResourceEntity : vvResourceEntities) { + + getChildResourceList(vvResourceEntity.getId(), vvResourceList); + } + + + } + + + + + + }