From 0b80f415c2ab98d545f246d2c8adb4c40c0f55d6 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 21 Jul 2025 17:18:00 +0800
Subject: [PATCH] feat(mall): 添加我的社区收藏功能
---
src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiSocialMyCollectVo.java | 27 +++++++++++++
src/main/resources/mapper/modules/ClothesSocialFollowMapper.xml | 17 ++++++++
src/main/java/cc/mrbird/febs/mall/service/ApiClothesSocialService.java | 2 +
src/main/java/cc/mrbird/febs/mall/mapper/ClothesSocialFollowMapper.java | 7 +++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java | 13 ++++++
src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiSocialMyCollectAddDto.java | 24 ++++++++++++
src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesSocialController.java | 10 +++++
7 files changed, 100 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesSocialController.java b/src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesSocialController.java
index d9b3a59..67a32bd 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesSocialController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/clothes/ApiClothesSocialController.java
@@ -93,6 +93,16 @@
return apiClothesSocialService.addCollect(dto);
}
+ @ApiOperation(value = "我的社区收藏", notes = "我的社区收藏")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiSocialMyCollectVo.class)
+ })
+ @PostMapping(value = "/myCollect")
+ public FebsResponse myCollect(@RequestBody @Validated ApiSocialMyCollectAddDto dto) {
+
+ return apiClothesSocialService.myCollect(dto);
+ }
+
@ApiOperation(value = "我的灵感-跳转到开始设计", notes = "我的灵感-跳转到开始设计")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = ApiClothesSocialMuseVo.class)
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiSocialMyCollectAddDto.java b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiSocialMyCollectAddDto.java
new file mode 100644
index 0000000..7b9f551
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/clothes/ApiSocialMyCollectAddDto.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.mall.dto.clothes;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiSocialMyCollectAddDto", description = "参数")
+public class ApiSocialMyCollectAddDto {
+
+ @NotNull(message = "页码不能为空")
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer pageNow;
+
+ @NotNull(message = "每页数量不能为空")
+ @ApiModelProperty(value = "每页数量", example = "10")
+ private Integer pageSize;
+
+ @ApiModelProperty(hidden = true)
+ private Long memberId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesSocialFollowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesSocialFollowMapper.java
index 46b89a5..7010a51 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/ClothesSocialFollowMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/ClothesSocialFollowMapper.java
@@ -1,7 +1,14 @@
package cc.mrbird.febs.mall.mapper;
+import cc.mrbird.febs.mall.dto.clothes.ApiSocialMyCollectAddDto;
import cc.mrbird.febs.mall.entity.ClothesSocialFollow;
+import cc.mrbird.febs.mall.vo.clothes.ApiSocialMyCollectVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
public interface ClothesSocialFollowMapper extends BaseMapper<ClothesSocialFollow> {
+
+ Page<ApiSocialMyCollectVo> selectPageInMyComment(Page<ApiSocialMyCollectVo> page, @Param("record")ApiSocialMyCollectAddDto dto);
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/ApiClothesSocialService.java b/src/main/java/cc/mrbird/febs/mall/service/ApiClothesSocialService.java
index 80dbafe..f8a38f2 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/ApiClothesSocialService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/ApiClothesSocialService.java
@@ -22,6 +22,8 @@
FebsResponse addCollect(ApiSocialCollectAddDto dto);
+ FebsResponse myCollect(ApiSocialMyCollectAddDto dto);
+
FebsResponse museToDesign(ApiClothesSocialMuseDto dto);
FebsResponse comment(ApiClothesSocialCommentDto dto);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java
index 61954ac..fbd31df 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiClothesSocialServiceImpl.java
@@ -441,6 +441,19 @@
}
@Override
+ public FebsResponse myCollect(ApiSocialMyCollectAddDto dto) {
+
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ dto.setMemberId(memberId);
+
+ // 创建分页对象,传入当前页和每页大小
+ Page<ApiSocialMyCollectVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+ // 调用Mapper方法获取活动分页数据
+ Page<ApiSocialMyCollectVo> voPage = clothesSocialFollowMapper.selectPageInMyComment(page, dto);
+ return new FebsResponse().success().data(voPage);
+ }
+
+ @Override
public FebsResponse museToDesign(ApiClothesSocialMuseDto dto) {
Long memberId = LoginUserUtil.getLoginUser().getId();
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiSocialMyCollectVo.java b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiSocialMyCollectVo.java
new file mode 100644
index 0000000..f6b98f7
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/clothes/ApiSocialMyCollectVo.java
@@ -0,0 +1,27 @@
+package cc.mrbird.febs.mall.vo.clothes;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+@Data
+@ApiModel(value = "ApiSocialMyCollectVo", description = "参数")
+public class ApiSocialMyCollectVo {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "用户")
+ private String memberName;
+
+ @ApiModelProperty(value = "头像")
+ private String memberAvatar;
+
+ @ApiModelProperty(value = "标题")
+ private String name;
+
+ @ApiModelProperty(value = "封面")
+ private String indexFile;
+
+}
diff --git a/src/main/resources/mapper/modules/ClothesSocialFollowMapper.xml b/src/main/resources/mapper/modules/ClothesSocialFollowMapper.xml
index 54aec4b..7ae15f6 100644
--- a/src/main/resources/mapper/modules/ClothesSocialFollowMapper.xml
+++ b/src/main/resources/mapper/modules/ClothesSocialFollowMapper.xml
@@ -2,5 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cc.mrbird.febs.mall.mapper.ClothesSocialFollowMapper">
+ <select id="selectPageInMyComment" resultType="cc.mrbird.febs.mall.vo.clothes.ApiSocialMyCollectVo">
+ select
+ c.id as id,
+ b.name as memberName,
+ b.avatar as memberAvatar,
+ c.name as name,
+ c.index_file as indexFile
+ from clothes_social_follow a
+ left join mall_member b on a.member_id = b.id
+ left join clothes_social c on a.source_id = c.id
+ where a.source_type = 1
+ and a.type = 2
+ and a.member_id = #{record.memberId}
+ group by c.id
+ order by a.created_time desc
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1