Răsfoiți Sursa

新增关注标签,获取关注标签接口

fangqing 3 luni în urmă
părinte
comite
1dde9b9cc4

+ 55 - 12
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityTagController.java

@@ -10,12 +10,11 @@ import com.ruoyi.common.exception.user.ProjectException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.generator.domain.Community.CommunityTag;
-import com.ruoyi.generator.domain.Community.CommunityTagBlock;
-import com.ruoyi.generator.domain.Community.CommunityUserCircle;
+import com.ruoyi.generator.domain.Community.*;
 import com.ruoyi.generator.mapper.community.CommunityTagBlockMapper;
 import com.ruoyi.generator.mapper.community.CommunityTagMapper;
 import com.ruoyi.generator.mapper.community.CommunityUserCircleMapper;
+import com.ruoyi.generator.mapper.community.CommunityUserTagMapper;
 import com.ruoyi.generator.service.ICommunityTagService;
 import com.ruoyi.generator.vo.CommunityTagVo;
 import io.swagger.annotations.Api;
@@ -56,6 +55,8 @@ public class CommunityTagController extends BaseController {
     @Autowired
     private CommunityUserCircleMapper communityUserCircleMapper;
 
+    @Autowired
+    private CommunityUserTagMapper communityUserTagMapper;
     /**
      * 获取标签信息
      */
@@ -113,9 +114,51 @@ public class CommunityTagController extends BaseController {
     }
 
 
-   /* *//**
-     * 获取我创建的标签
-     *//*
+    @ApiOperation("收藏/取关标签")
+    @PostMapping("/likeTag")
+    @Transactional
+    //@Anonymous
+    public AjaxResult likeTag(@RequestBody CommunityUserTag communityUserTag) {
+        if (Objects.isNull(communityUserTag.getTagId())) {
+            return AjaxResult.error("关注圈子异常,请刷新页面重试!");
+        }
+        Long userId = SecurityUtils.getLoginUser().getUserId();
+        String msg = "";
+        try {
+            CommunityUserTag userTag = communityUserTagMapper
+                    .selectOne(new QueryWrapper<CommunityUserTag>()
+                            .eq("tag_id", communityUserTag.getTagId())
+                            .eq("user_id", userId)
+                            .eq("is_delete", 0));
+
+            if (Objects.isNull(userTag) || Objects.isNull(userTag.getId())) {
+                //如果未找到数据,则进行关注
+                userTag = new CommunityUserTag();
+                userTag.setTagId(communityUserTag.getTagId());
+                userTag.setUserId(userId);
+                userTag.setCreateBy(userId);
+                userTag.setCreateTime(DateUtils.parseDate(DateUtils.getTime()));
+                communityUserTagMapper.insert(userTag);
+                msg = "已关注";
+            } else {
+                //更新删除标识
+                userTag.setDelete(true);
+                userTag.setUpdateBy(userId);
+                userTag.setUpdateTime(DateUtils.parseDate(DateUtils.getTime()));
+                communityUserTagMapper.updateById(userTag);
+                msg = "已取关";
+            }
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+            throw new ProjectException();
+        }
+
+        return AjaxResult.success(msg);
+    }
+
+    /**
+     * 获取我关注的标签
+     */
     @ApiOperation("我关注的标签")
     @GetMapping("/likeTags")
     @Transactional
@@ -127,14 +170,14 @@ public class CommunityTagController extends BaseController {
         List<CommunityTag> communityTags = null;
         try {
             //获取关注的圈子ID
-            List<CommunityUserCircle> communityUserCircles = communityUserCircleMapper
-                    .selectList(new QueryWrapper<CommunityUserCircle>()
+            List<CommunityUserTag> userTags = communityUserTagMapper
+                    .selectList(new QueryWrapper<CommunityUserTag>()
                             .eq("user_id", userId)
                             .eq("is_delete", 0));
-            System.out.println(communityUserCircles);
 
-            List<CommunityUserCircle> communityUserCircles = communityUserCircleMapper.selectList(new QueryWrapper<CommunityUserCircle>()
-                    .eq("user_id", userId)
+            List<Long> tagList = userTags.stream().map(CommunityUserTag::getTagId).collect(Collectors.toList());
+            communityTags= communityTagMapper.selectList(new QueryWrapper<CommunityTag>()
+                    .in("id", tagList)
                     .and((wrapper) -> {
                         wrapper.ne("is_delete", 1).or().isNull("is_delete");
                     }));
@@ -146,7 +189,7 @@ public class CommunityTagController extends BaseController {
         }
 
         return AjaxResult.success(communityTags);
-    }*/
+    }
 
     /**
      * 获取标签信息(当前用户是否已拉黑)

+ 71 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityUserTag.java

@@ -0,0 +1,71 @@
+package com.ruoyi.generator.domain.Community;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户关注圈子
+ *
+ * @TableName community_user_tag
+ */
+@Data
+@TableName("community_user_tag")
+public class CommunityUserTag implements Serializable {
+
+    /**
+     * 唯一id
+     */
+    @NotNull(message = "[唯一id]不能为空")
+    @ApiModelProperty("唯一id")
+    @TableId("id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+    /**
+     * 用户id
+     */
+    @ApiModelProperty("用户id")
+    private Long userId;
+    /**
+     * 圈子id
+     */
+    @ApiModelProperty("标签id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long tagId;
+
+    /**
+     * 是否删除
+     */
+    @ApiModelProperty("是否删除")
+    private boolean isDelete;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty("创建人")
+    private Long createBy;
+    /**
+     * 更新人
+     */
+    @ApiModelProperty("更新人")
+    private Long updateBy;
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+}

+ 10 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityUserTagMapper.java

@@ -0,0 +1,10 @@
+package com.ruoyi.generator.mapper.community;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.generator.domain.Community.CommunityUserCircle;
+import com.ruoyi.generator.domain.Community.CommunityUserTag;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CommunityUserTagMapper extends BaseMapper<CommunityUserTag> {
+}