Ver Fonte

新增草稿箱+编辑文章接口

fangqing há 4 meses atrás
pai
commit
1e04b405e9

+ 2 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityArticleController.java

@@ -144,6 +144,8 @@ public class CommunityArticleController extends BaseController {
             if (isSensitiveContent) {
             if (isSensitiveContent) {
                 return AjaxResult.error(MessageUtils.message("article.content.error"));
                 return AjaxResult.error(MessageUtils.message("article.content.error"));
             }
             }
+
+
             communityArticleService.insertCommunityArticle(communityArticle);
             communityArticleService.insertCommunityArticle(communityArticle);
         } catch (Exception e) {
         } catch (Exception e) {
             System.out.println(e.getMessage());
             System.out.println(e.getMessage());

+ 14 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticle.java

@@ -185,4 +185,18 @@ public class CommunityArticle implements Serializable {
     @ApiModelProperty("用户地址")
     @ApiModelProperty("用户地址")
     private String address;
     private String address;
 
 
+    /**
+     * 文章是否草稿箱
+     */
+    @ApiModelProperty("文章是否草稿箱")
+    private Boolean  isDraft ;
+
+
+    /**
+     * 父文章id(编辑文章,草稿箱来源)
+     */
+    @ApiModelProperty("父文章id(编辑文章,草稿箱来源)")
+    private Long parentId;
+
+
 }
 }

+ 19 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleServiceImpl.java

@@ -2,6 +2,7 @@ package com.ruoyi.generator.service;
 
 
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUser;
@@ -338,7 +339,25 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
     @Override
     @Override
     public void insertCommunityArticle(CommunityArticle communityArticle) {
     public void insertCommunityArticle(CommunityArticle communityArticle) {
 
 
+        //判断是否传ID 如果有ID贼删除原来的文章 重新插入一条新文章
+        if (communityArticle.getId() != null){
+            //增加字段 文章编辑字段
+            communityArticle.setIsDelete(true);
 
 
+            UpdateWrapper<CommunityArticle> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.eq("id", communityArticle.getId());
+
+            // 创建一个新的 CommunityArticle 对象,只设置 isDelete 字段
+            CommunityArticle updateArticle = new CommunityArticle();
+            updateArticle.setIsDelete(communityArticle.getIsDelete());
+
+            communityArticleService.update(updateArticle, updateWrapper);
+
+            communityArticle.setParentId(communityArticle.getId());
+            communityArticle.setId(null);
+        }
+
+        System.out.println(communityArticle);
         Long userId = SecurityUtils.getLoginUser().getUserId();
         Long userId = SecurityUtils.getLoginUser().getUserId();
         //插入文章信息
         //插入文章信息
         communityArticle.setUserId(userId);
         communityArticle.setUserId(userId);

+ 6 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/CommunityArticleVo.java

@@ -156,4 +156,10 @@ public class CommunityArticleVo extends BaseEntity implements Serializable {
     @ApiModelProperty("用户地址")
     @ApiModelProperty("用户地址")
     private String address;
     private String address;
 
 
+    /**
+     * 文章是否草稿箱
+     */
+    @ApiModelProperty("文章是否草稿箱")
+    private boolean  isDraft ;
+
 }
 }

+ 4 - 1
ruoyi-generator/src/main/resources/mapper/community/ArticleMapper.xml

@@ -18,6 +18,7 @@
         <result property="nickName" column="nick_name"/>
         <result property="nickName" column="nick_name"/>
         <result property="comment" column=" is_comment"/>
         <result property="comment" column=" is_comment"/>
         <result property="raffle" column="is_raffle"/>
         <result property="raffle" column="is_raffle"/>
+        <result property="draft" column="is_draft"/>
         <result property="download" column="is_download"/>
         <result property="download" column="is_download"/>
         <result property="email" column="email"/>
         <result property="email" column="email"/>
         <result property="avatar" column="avatar"/>
         <result property="avatar" column="avatar"/>
@@ -204,7 +205,9 @@
                     #{articleId}
                     #{articleId}
                 </foreach>
                 </foreach>
             </if>
             </if>
-
+            <if test="communityArticle.isDraft != null and communityArticle.isDraft != '' ">
+                AND IFNULL(a.is_Draft,0) = #{communityArticle.isDraft}
+            </if>
             and (is_delete != 1 or is_delete is null)
             and (is_delete != 1 or is_delete is null)
         </where>
         </where>
         group by a.id,a.create_time
         group by a.id,a.create_time