Explorar el Código

新增获取通知权限模板

fangqing hace 6 meses
padre
commit
9cc48c30e9

+ 16 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityArticleController.java

@@ -625,8 +625,23 @@ public class CommunityArticleController extends BaseController {
         if (Objects.isNull(collectionId)) {
             return AjaxResult.error("合集不存在!");
         }
-
         List<CommunityCollectionArticleVo> collectionArticleVos = communityCollectionService.selectArticleInfoInCollection(collectionId);
         return AjaxResult.success(collectionArticleVos);
     }
+
+    /**
+     * 获取通知权限
+     *
+     * @param userId  用户ID
+     * @return
+     */
+    @ApiOperation("获取通知权限")
+    @GetMapping("/UserNotification")
+    //@Anonymous
+    public AjaxResult UserNotification(Long userId) {
+        return AjaxResult.success(communityArticleService.selectUserNotification(SecurityUtils.getLoginUser().getUserId()));
+    }
+
+
+
 }

+ 9 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityUserNotificationMapper.java

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

+ 43 - 4
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleServiceImpl.java

@@ -8,10 +8,7 @@ import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.generator.domain.Community.*;
 import com.ruoyi.generator.mapper.community.*;
-import com.ruoyi.generator.vo.CommunityArticleVo;
-import com.ruoyi.generator.vo.CommunityCircleVo;
-import com.ruoyi.generator.vo.CommunityUserInfoVo;
-import com.ruoyi.generator.vo.CommunityUserLikeVo;
+import com.ruoyi.generator.vo.*;
 import com.ruoyi.system.mapper.SysUserMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -93,6 +90,9 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
     @Autowired
     private CommunityArticleRecommendMapper recommendMapper;
 
+    @Autowired
+    private CommunityUserNotificationMapper communityUserNotificationMapper;
+
 //    @Override
 //    public List<CommunityArticleVo> selectCommunityArticleList(CommunityArticle communityArticle, int pageNum, int pageSize, int searchType) {
 //        Long userId = SecurityUtils.getUserId();
@@ -763,6 +763,45 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
         return communityUserLikeVos;
     }
 
+    /**
+     * 获取通知权限
+     * @param userId
+     * @return 获取通知权限
+     */
+    @Override
+    public List<CommunityUserNotificationVo> selectUserNotification(Long userId) {
+        // 查询自己的通知权限
+        List<CommunityUserNotification> communityUserNotifications
+                = communityUserNotificationMapper
+                .selectList(new QueryWrapper<CommunityUserNotification>().eq("user_id", userId));
+
+        // 创建一个用于存放VO的列表
+        List<CommunityUserNotificationVo> communityUserNotificationVos = new ArrayList<>();
+
+        // 遍历查询结果,复制属性到 VO 对象
+        for (CommunityUserNotification communityUserNotification : communityUserNotifications) {
+            CommunityUserNotificationVo communityUserNotificationVo = new CommunityUserNotificationVo();
+            BeanUtils.copyProperties(communityUserNotification, communityUserNotificationVo);
+            communityUserNotificationVos.add(communityUserNotificationVo);
+        }
+
+        // 判断通知权限是否为空
+        if (communityUserNotificationVos.isEmpty()) {
+            // 如果没有通知权限,插入一条关于 userId 的数据
+            CommunityUserNotification newNotification = new CommunityUserNotification();
+            newNotification.setUserId(userId);
+            // 设置其他必要的默认值,例如:
+            // 使用 MyBatis-Plus 执行插入操作
+            communityUserNotificationMapper.insert(newNotification);
+            // 将新插入的记录转换为 VO 并返回
+            CommunityUserNotificationVo newNotificationVo = new CommunityUserNotificationVo();
+            BeanUtils.copyProperties(newNotification, newNotificationVo);
+            communityUserNotificationVos.add(newNotificationVo);
+        }
+
+        return communityUserNotificationVos;
+    }
+
     /**
      * 判断是否是视频文件
      *

+ 9 - 4
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityArticleService.java

@@ -2,10 +2,7 @@ package com.ruoyi.generator.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.generator.domain.Community.*;
-import com.ruoyi.generator.vo.CommunityArticleVo;
-import com.ruoyi.generator.vo.CommunityCircleVo;
-import com.ruoyi.generator.vo.CommunityUserInfoVo;
-import com.ruoyi.generator.vo.CommunityUserLikeVo;
+import com.ruoyi.generator.vo.*;
 
 import java.text.ParseException;
 import java.util.List;
@@ -148,4 +145,12 @@ public interface ICommunityArticleService extends IService<CommunityArticle> {
      * @return 获取互相关注列表
      */
     List<CommunityUserLikeVo> selectMutualAttention(Long userId);
+
+    /**
+     * 获取通知权限
+     * @param userId
+     * @return 获取通知权限
+     */
+    List<CommunityUserNotificationVo> selectUserNotification(Long userId);
+
 }

+ 60 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/CommunityUserNotificationVo.java

@@ -0,0 +1,60 @@
+package com.ruoyi.generator.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+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;
+
+/**
+ * 用户 通知设置表 By Qing
+ * @TableName community_user_notification
+ */
+@Data
+@TableName("community_user_notification")
+public class CommunityUserNotificationVo implements Serializable  {
+    /**
+     * 唯一id
+     */
+    @NotNull(message = "[唯一id]不能为空")
+    @ApiModelProperty("唯一id")
+    @TableId(type = IdType.AUTO, value = "id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+    /**
+     * 用户id
+     */
+    @ApiModelProperty("用户id")
+    private Long userId;
+
+    /**
+     * 赞和收藏
+     */
+    @ApiModelProperty("赞和收藏")
+    private Boolean is_praise_collection;
+    /**
+     * 新增关注
+     */
+    @ApiModelProperty("新增关注")
+    private Boolean is_add_attention;
+    /**
+     * 评论
+     */
+    @ApiModelProperty("评论")
+    private Boolean is_comment;
+    /**
+     * @
+     */
+    @ApiModelProperty("@")
+    private Boolean is_circle;
+    /**
+     * 私信
+     */
+    @ApiModelProperty("私信")
+    private Boolean is_letter;
+}