ソースを参照

新增部分接口,和功能优化

fangzhen 8 ヶ月 前
コミット
1fdf575ef5

+ 34 - 4
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityArticleController.java

@@ -1,12 +1,12 @@
 package com.ruoyi.generator.controller;
 
-import com.ruoyi.common.annotation.Anonymous;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.generator.domain.Community.CommunityArticle;
-import com.ruoyi.generator.domain.Community.CommunityArticleCollect;
-import com.ruoyi.generator.domain.Community.CommunityLike;
+import com.ruoyi.generator.domain.Community.*;
+import com.ruoyi.generator.mapper.community.CommunityArticleCommentMapper;
+import com.ruoyi.generator.mapper.community.CommunityClassMapper;
 import com.ruoyi.generator.service.ICommunityArticleService;
 import com.ruoyi.generator.vo.CommunityArticleVo;
 import io.swagger.annotations.Api;
@@ -29,6 +29,11 @@ public class CommunityArticleController extends BaseController {
     @Autowired
     private ICommunityArticleService communityArticleService;
 
+    @Autowired
+    private CommunityClassMapper communityClassMapper;
+    @Autowired
+    private CommunityArticleCommentMapper communityArticleCommentMapper;
+
 
     /**
      * 获取文章列表信息
@@ -42,6 +47,31 @@ public class CommunityArticleController extends BaseController {
         return getDataTable(list);
     }
 
+    @GetMapping("/class")
+    @ApiOperation("获取文章分类列表")
+    //@Anonymous
+    public AjaxResult getClassList() {
+        List<CommunityClass> communityClasses = communityClassMapper.selectList(new QueryWrapper<CommunityClass>());
+        return AjaxResult.success(communityClasses);
+    }
+
+    @ApiOperation("文章评价")
+    @PostMapping("/comment")
+    public AjaxResult comment(@RequestBody CommunityArticleComment communityArticleComment) {
+        if (null == communityArticleComment.getArticleId()) {
+            return AjaxResult.error("文章不存在或异常!");
+        }
+
+        if (null == communityArticleComment.getUserId()) {
+            return AjaxResult.error("用户不存在或异常!");
+        }
+
+        //新增评论
+        communityArticleService.sendComment(communityArticleComment);
+
+        return AjaxResult.success();
+    }
+
     /**
      * 获取文章列表信息
      */

+ 8 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticle.java

@@ -28,7 +28,7 @@ public class CommunityArticle extends BaseEntity implements Serializable {
     */
     @NotNull(message="[文章id]不能为空")
     @ApiModelProperty("文章id")
-    private Long articleId;
+    private Long id;
     /**
     * 创建人id
     */
@@ -43,6 +43,13 @@ public class CommunityArticle extends BaseEntity implements Serializable {
     @Length(max= 255,message="编码长度不能超过255")
     @ApiModelProperty("文章标题")
     private String title;
+
+    /**
+     * 分类id
+     */
+    @ApiModelProperty("分类id")
+    private String classId;
+
     /**
     * 文章内容
     */

+ 2 - 2
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticleCollect.java

@@ -31,8 +31,8 @@ public class CommunityArticleCollect implements Serializable {
     */
     @NotNull(message="[收藏id]不能为空")
     @ApiModelProperty("收藏id")
-    @TableId("collect_id")
-    private Long collectId;
+    @TableId("id")
+    private Long id;
     /**
     * 文章id
     */

+ 25 - 9
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticleComment.java

@@ -1,32 +1,34 @@
 package com.ruoyi.generator.domain.Community;
 
-import javax.validation.constraints.NotNull;
-
-import java.io.Serializable;
-
-import com.ruoyi.common.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
 /**
 * 文章评价记录表
 * @TableName community_article_comment
 */
-@EqualsAndHashCode(callSuper = true)
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-public class CommunityArticleComment extends BaseEntity implements Serializable {
+@TableName("community_article_comment")
+public class CommunityArticleComment implements Serializable {
 
     /**
     * 评论id
     */
     @NotNull(message="[评论id]不能为空")
     @ApiModelProperty("评论id")
-    private Long commentId;
+    @TableId("id")
+    private Long id;
     /**
     * 文章id
     */
@@ -43,4 +45,18 @@ public class CommunityArticleComment extends BaseEntity implements Serializable
      */
     @ApiModelProperty("评论内容")
     private String content;
+
+    /** 创建者 */
+    private String createBy;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /** 更新者 */
+    private String updateBy;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
 }

+ 1 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticleImages.java

@@ -22,7 +22,7 @@ public class CommunityArticleImages extends BaseEntity implements Serializable {
      * 图片id
      */
     @ApiModelProperty("图片id")
-    private Long imageId;
+    private Long id;
 
     /**
      * 文章id

+ 59 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityClass.java

@@ -0,0 +1,59 @@
+package com.ruoyi.generator.domain.Community;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+import javax.validation.constraints.NotNull;
+
+import java.io.Serializable;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+/**
+* 社区分类
+* @TableName community_class
+*/
+@Data
+public class CommunityClass implements Serializable {
+
+    /**
+    * 唯一id
+    */
+    @NotNull(message="[唯一id]不能为空")
+    @ApiModelProperty("唯一id")
+    private Long id;
+    /**
+    * 分类名称
+    */
+    @NotBlank(message="[分类名称]不能为空")
+    @Size(max= 10,message="编码长度不能超过10")
+    @ApiModelProperty("分类名称")
+    @Length(max= 10,message="编码长度不能超过10")
+    private String classname;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    private Long createBy;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    /**
+    * 更新人
+    */
+    @ApiModelProperty("更新人")
+    private Long updateBy;
+    /**
+    * 更新时间
+    */
+    @ApiModelProperty("更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+}

+ 2 - 2
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityLike.java

@@ -30,8 +30,8 @@ public class CommunityLike implements Serializable {
     */
     @NotNull(message="[唯一id]不能为空")
     @ApiModelProperty("唯一id")
-    @TableId("like_id")
-    private Long likeId;
+    @TableId("id")
+    private Long id;
     /**
     * 文章id
     */

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

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

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

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

+ 21 - 2
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleServiceImpl.java

@@ -3,17 +3,19 @@ package com.ruoyi.generator.service;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.generator.domain.Community.CommunityArticle;
 import com.ruoyi.generator.domain.Community.CommunityArticleCollect;
+import com.ruoyi.generator.domain.Community.CommunityArticleComment;
 import com.ruoyi.generator.domain.Community.CommunityLike;
+import com.ruoyi.generator.mapper.community.CommunityArticleCommentMapper;
 import com.ruoyi.generator.mapper.community.CommunityArticleMapper;
 import com.ruoyi.generator.mapper.community.CommunityCollectMapper;
 import com.ruoyi.generator.mapper.community.CommunityLikeMapper;
 import com.ruoyi.generator.vo.CommunityArticleCommentVo;
 import com.ruoyi.generator.vo.CommunityArticleVo;
 import com.ruoyi.system.mapper.SysUserMapper;
-import org.omg.CORBA.PRIVATE_MEMBER;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +44,8 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
 
     @Autowired
     private CommunityCollectMapper communityCollectMapper;
+    @Autowired
+    private CommunityArticleCommentMapper communityArticleCommentMapper;
 
     /**
      * 查询文章列表
@@ -83,6 +87,21 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
     }
 
 
+    /**
+     * 发送评论
+     * @param communityArticleComment 评论信息
+     */
+    @Override
+    public void sendComment(CommunityArticleComment communityArticleComment) {
+        communityArticleComment.setId(null);
+        communityArticleComment.setCreateBy(String.valueOf(SecurityUtils.getLoginUser().getUserId()));
+        communityArticleComment.setUpdateBy(String.valueOf(SecurityUtils.getLoginUser().getUserId()));
+        communityArticleComment.setCreateTime(DateUtils.parseDate(DateUtils.getNowDate()));
+        communityArticleComment.setUpdateTime(DateUtils.parseDate(DateUtils.getNowDate()));
+        communityArticleCommentMapper.insert(communityArticleComment);
+    }
+
+
     /**
      * 查询该文章对应的用户是否已经点赞
      *
@@ -117,7 +136,7 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
      */
     @Override
     public boolean deleteCommunityLikeById(CommunityLike communityLike) {
-        return communityLikeMapper.deleteById(communityLike.getLikeId()) > 0;
+        return communityLikeMapper.deleteById(communityLike.getId()) > 0;
     }
 
 

+ 7 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityArticleService.java

@@ -3,6 +3,7 @@ package com.ruoyi.generator.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.generator.domain.Community.CommunityArticle;
 import com.ruoyi.generator.domain.Community.CommunityArticleCollect;
+import com.ruoyi.generator.domain.Community.CommunityArticleComment;
 import com.ruoyi.generator.domain.Community.CommunityLike;
 import com.ruoyi.generator.vo.CommunityArticleVo;
 
@@ -22,6 +23,12 @@ public interface ICommunityArticleService extends IService<CommunityArticle> {
      */
     List<CommunityArticleVo> selectCommunityArticleList(CommunityArticle communityArticle);
 
+    /**
+     * 发送评论
+     * @param communityArticleComment 评论信息
+     */
+    void sendComment(CommunityArticleComment communityArticleComment);
+
     /**
      * 查询该文章对应的用户是否已经点赞
      *

+ 1 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/CommunityArticleCommentVo.java

@@ -25,7 +25,7 @@ public class CommunityArticleCommentVo extends BaseEntity implements Serializabl
     */
     @NotNull(message="[评论id]不能为空")
     @ApiModelProperty("评论id")
-    private Long commentId;
+    private Long id;
     /**
     * 文章id
     */

+ 7 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/CommunityArticleVo.java

@@ -33,7 +33,7 @@ public class CommunityArticleVo extends BaseEntity implements Serializable {
     */
     @NotNull(message="[文章id]不能为空")
     @ApiModelProperty("文章id")
-    private Long articleId;
+    private Long id;
     /**
     * 创建人id
     */
@@ -54,6 +54,12 @@ public class CommunityArticleVo extends BaseEntity implements Serializable {
     @ApiModelProperty("文章内容")
     private String content;
 
+    /**
+     * 分类id
+     */
+    @ApiModelProperty("分类id")
+    private String classId;
+
     @ApiModelProperty("是否已点赞")
     private boolean isLike;
 

+ 21 - 13
ruoyi-generator/src/main/resources/mapper/community/ArticleMapper.xml

@@ -5,10 +5,11 @@
 <mapper namespace="com.ruoyi.generator.mapper.community.CommunityArticleMapper">
 
     <resultMap type="com.ruoyi.generator.vo.CommunityArticleVo" id="CommunityArticleVoResult">
-        <id property="articleId" column="article_id"/>
+        <id property="id" column="article_id"/>
         <result property="userId" column="user_id"/>
         <result property="title" column="title"/>
         <result property="content" column="content"/>
+        <result property="classId" column="class_id"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
@@ -20,7 +21,7 @@
     </resultMap>
 
     <resultMap type="CommunityArticleImages" id="CommunityArticleImagesResult">
-        <id property="imageId" column="image_id"/>
+        <id property="id" column="image_id"/>
         <result property="articleId" column="article_id"/>
         <result property="imageUrl" column="image_url"/>
         <result property="createBy" column="create_by"/>
@@ -49,7 +50,7 @@
     </resultMap>
 
     <resultMap type="com.ruoyi.generator.vo.CommunityArticleCommentVo" id="CommunityCommentsResult">
-        <id property="commentId" column="comment_id"/>
+        <id property="id" column="comment_id"/>
         <result property="articleId" column="article_id"/>
         <result property="userId" column="user_id"/>
         <result property="content" column="comment_content"/>
@@ -61,7 +62,7 @@
     </resultMap>
 
     <resultMap id="CommunityCollectResult" type="CommunityArticleCollect">
-        <id property="collectId" column="collect_id"/>
+        <id property="id" column="collect_id"/>
         <result property="articleId" column="article_id"/>
         <result property="userId" column="user_id"/>
         <result property="createBy" column="create_by"/>
@@ -71,7 +72,7 @@
     </resultMap>
 
     <resultMap id="CommunityLikeResult" type="CommunityLike">
-        <id property="likeId" column="like_id"/>
+        <id property="id" column="like_id"/>
         <result property="articleId" column="article_id"/>
         <result property="userId" column="user_id"/>
         <result property="createBy" column="create_by"/>
@@ -81,7 +82,7 @@
     </resultMap>
 
     <sql id="selectCommunityArticleVo">
-        select article_id,
+        select id as article_id,
                user_id,
                title,
                content,
@@ -95,17 +96,18 @@
 
     <select id="selectCommunityArticleList" parameterType="CommunityArticle" resultMap="CommunityArticleVoResult">
         select
-        a.article_id,
+        a.id as article_id,
         a.user_id,
         a.title,
         a.is_comment,
         a.content,
+        a.class_id,
         a.create_by,
         a.create_time,
         a.update_by,
         a.update_time,
         a.remark,
-        b.image_id,
+        b.id as image_id,
         b.article_id,
         b.image_url,
         b.create_by,
@@ -117,7 +119,7 @@
         c.nick_name,
         c.email,
         c.avatar,
-        d.comment_id,
+        d.id as comment_id,
         d.article_id,
         d.user_id,
         d.content as comment_content,
@@ -127,13 +129,19 @@
         d.update_time
         from
         community_article a
-        left join community_article_images b on a.article_id = b.article_id
+        left join community_article_images b on a.id = b.id
         left join sys_user c on a.user_id = c.user_id
-        left join community_article_comment d on d.article_id = a.article_id
+        left join community_article_comment d on d.article_id = a.id
         <where>
+            <if test="id != null and id != ''">
+                AND a.id like concat('%', #{id}, '%')
+            </if>
             <if test="title != null and title != ''">
                 AND a.title like concat('%', #{title}, '%')
             </if>
+            <if test="classId != null and classId != ''">
+                AND a.class_id like concat('%', #{classId}, '%')
+            </if>
         </where>
     </select>
 
@@ -152,7 +160,7 @@
 
     <!--点赞-->
     <select id="selectCommunityArticleLikeById" resultMap="CommunityLikeResult">
-        select like_id, article_id, user_id, create_by, create_time, update_by, update_time from
+        select id as like_id, article_id, user_id, create_by, create_time, update_by, update_time from
         community_like
         <where>
             <if test="userId != null and userId != ''">
@@ -178,7 +186,7 @@
 
     <!--收藏-->
     <select id="selectCommunityCollectById" resultMap="CommunityCollectResult" parameterType="communityArticleCollect">
-        select collect_id, article_id, user_id, create_by, create_time, update_by, update_time from
+        select id as collect_id, article_id, user_id, create_by, create_time, update_by, update_time from
         community_article_collect
         <where>
             <if test="userId != null and userId != ''">