Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
4
Issues
4
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
段启岩
beyond-clouds
Commits
f6d16496
Commit
f6d16496
authored
Feb 21, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除点赞完成
parent
ea0b4851
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
172 additions
and
39 deletions
+172
-39
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogCommentServiceImpl.java
+3
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogServiceImpl.java
+4
-1
src/main/java/cn/meteor/beyondclouds/modules/post/service/impl/PostServiceImpl.java
+34
-5
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectCommentServiceImpl.java
+25
-1
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectServiceImpl.java
+44
-16
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyServiceImpl.java
+20
-1
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionServiceImpl.java
+41
-14
src/main/java/cn/meteor/beyondclouds/modules/question/util/QuestionUtils.java
+1
-1
No files found.
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogCommentServiceImpl.java
View file @
f6d16496
...
@@ -185,10 +185,13 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
...
@@ -185,10 +185,13 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
commentIds
))
{
if
(!
CollectionUtils
.
isEmpty
(
commentIds
))
{
// 删点赞
QueryWrapper
<
BlogPraise
>
blogPraiseQueryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
BlogPraise
>
blogPraiseQueryWrapper
=
new
QueryWrapper
<>();
blogPraiseQueryWrapper
.
in
(
"target_id"
,
commentIds
);
blogPraiseQueryWrapper
.
in
(
"target_id"
,
commentIds
);
blogPraiseQueryWrapper
.
eq
(
"target_type"
,
BlogPraiseType
.
BLOG_COMMENT_PRAISE
.
getPraiseType
());
blogPraiseQueryWrapper
.
eq
(
"target_type"
,
BlogPraiseType
.
BLOG_COMMENT_PRAISE
.
getPraiseType
());
blogPraiseService
.
remove
(
blogPraiseQueryWrapper
);
blogPraiseService
.
remove
(
blogPraiseQueryWrapper
);
// 删评论
remove
(
blogCommentQueryWrapper
);
remove
(
blogCommentQueryWrapper
);
}
}
}
}
...
...
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogServiceImpl.java
View file @
f6d16496
...
@@ -208,10 +208,13 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
...
@@ -208,10 +208,13 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
// 只有博客有评论的时候才删
// 只有博客有评论的时候才删
if
(!
CollectionUtils
.
isEmpty
(
blogCommentIds
))
{
if
(!
CollectionUtils
.
isEmpty
(
blogCommentIds
))
{
// 删点赞
QueryWrapper
<
BlogPraise
>
blogPraiseQueryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
BlogPraise
>
blogPraiseQueryWrapper
=
new
QueryWrapper
<>();
blogPraiseQueryWrapper
.
in
(
"target_id"
,
blogCommentIds
);
blogPraiseQueryWrapper
.
in
(
"target_id"
,
blogCommentIds
);
blogPraiseQueryWrapper
.
in
(
"target_type"
,
BlogPraiseType
.
BLOG_COMMENT_PRAISE
.
getPraiseType
());
blogPraiseQueryWrapper
.
eq
(
"target_type"
,
BlogPraiseType
.
BLOG_COMMENT_PRAISE
.
getPraiseType
());
blogPraiseService
.
remove
(
blogPraiseQueryWrapper
);
blogPraiseService
.
remove
(
blogPraiseQueryWrapper
);
// 删评论
blogCommentService
.
remove
(
queryWrapperComment
);
blogCommentService
.
remove
(
queryWrapperComment
);
}
}
...
...
src/main/java/cn/meteor/beyondclouds/modules/post/service/impl/PostServiceImpl.java
View file @
f6d16496
...
@@ -5,9 +5,14 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
...
@@ -5,9 +5,14 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.modules.post.dto.PostDTO
;
import
cn.meteor.beyondclouds.modules.post.dto.PostDTO
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.post.entity.PostComment
;
import
cn.meteor.beyondclouds.modules.post.entity.PostPraise
;
import
cn.meteor.beyondclouds.modules.post.enums.PostErrorCode
;
import
cn.meteor.beyondclouds.modules.post.enums.PostErrorCode
;
import
cn.meteor.beyondclouds.modules.post.enums.PostPraiseType
;
import
cn.meteor.beyondclouds.modules.post.exception.PostServiceException
;
import
cn.meteor.beyondclouds.modules.post.exception.PostServiceException
;
import
cn.meteor.beyondclouds.modules.post.mapper.PostMapper
;
import
cn.meteor.beyondclouds.modules.post.mapper.PostMapper
;
import
cn.meteor.beyondclouds.modules.post.service.IPostCommentService
;
import
cn.meteor.beyondclouds.modules.post.service.IPostPraiseService
;
import
cn.meteor.beyondclouds.modules.post.service.IPostService
;
import
cn.meteor.beyondclouds.modules.post.service.IPostService
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
...
@@ -66,12 +71,26 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
...
@@ -66,12 +71,26 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
private
ISearchDegreeService
searchDegreeService
;
private
ISearchDegreeService
searchDegreeService
;
private
IPostCommentService
postCommentService
;
private
IPostPraiseService
postPraiseService
;
@Autowired
@Autowired
public
void
setSearchDegreeService
(
ISearchDegreeService
searchDegreeService
)
{
public
void
setSearchDegreeService
(
ISearchDegreeService
searchDegreeService
)
{
this
.
searchDegreeService
=
searchDegreeService
;
this
.
searchDegreeService
=
searchDegreeService
;
}
}
@Autowired
@Autowired
public
void
setPostPraiseService
(
IPostPraiseService
postPraiseService
)
{
this
.
postPraiseService
=
postPraiseService
;
}
@Autowired
public
void
setPostCommentService
(
IPostCommentService
postCommentService
)
{
this
.
postCommentService
=
postCommentService
;
}
@Autowired
public
void
setUserFollowService
(
IUserFollowService
userFollowService
)
{
public
void
setUserFollowService
(
IUserFollowService
userFollowService
)
{
this
.
userFollowService
=
userFollowService
;
this
.
userFollowService
=
userFollowService
;
}
}
...
@@ -225,10 +244,7 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
...
@@ -225,10 +244,7 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
throw
new
PostServiceException
(
PostErrorCode
.
USER_POST_NOT_FOUND
);
throw
new
PostServiceException
(
PostErrorCode
.
USER_POST_NOT_FOUND
);
}
}
//2.删除动态
//2.删除动态里的话题引用
removeById
(
postId
);
//3.删除动态里的话题引用
QueryWrapper
<
TopicReference
>
topicReferenceQueryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
TopicReference
>
topicReferenceQueryWrapper
=
new
QueryWrapper
<>();
topicReferenceQueryWrapper
.
eq
(
"referencer_id"
,
postId
);
topicReferenceQueryWrapper
.
eq
(
"referencer_id"
,
postId
);
//所有的话题引用减1
//所有的话题引用减1
...
@@ -238,8 +254,21 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
...
@@ -238,8 +254,21 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
topicReferenceService
.
remove
(
topicReferenceQueryWrapper
);
topicReferenceService
.
remove
(
topicReferenceQueryWrapper
);
}
}
// 3.删除动态评论
QueryWrapper
<
PostComment
>
postCommentQueryWrapper
=
new
QueryWrapper
<>();
postCommentQueryWrapper
.
eq
(
"post_id"
,
postId
);
postCommentService
.
remove
(
postCommentQueryWrapper
);
//发送消息到消息队列
// 4.删除动态点赞
QueryWrapper
<
PostPraise
>
postPraiseQueryWrapper
=
new
QueryWrapper
<>();
postCommentQueryWrapper
.
eq
(
"target_id"
,
postId
);
postCommentQueryWrapper
.
eq
(
"target_type"
,
PostPraiseType
.
POST_PRAISE
.
getPraiseType
());
postPraiseService
.
remove
(
postPraiseQueryWrapper
);
// 5.删除动态
removeById
(
postId
);
// 6.发送消息到消息队列
messageQueueService
.
sendDataItemChangeMessage
(
DataItemChangeMessage
.
deleteMessage
(
DataItemType
.
POST
,
post
.
getPostId
()));
messageQueueService
.
sendDataItemChangeMessage
(
DataItemChangeMessage
.
deleteMessage
(
DataItemType
.
POST
,
post
.
getPostId
()));
}
}
...
...
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectCommentServiceImpl.java
View file @
f6d16496
...
@@ -4,11 +4,14 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
...
@@ -4,11 +4,14 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.modules.project.entity.Project
;
import
cn.meteor.beyondclouds.modules.project.entity.Project
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectComment
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectComment
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectPraise
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectCommentErrorCode
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectCommentErrorCode
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectErrorCode
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectErrorCode
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectPraiseType
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceException
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectCommentServiceException
;
import
cn.meteor.beyondclouds.modules.project.mapper.ProjectCommentMapper
;
import
cn.meteor.beyondclouds.modules.project.mapper.ProjectCommentMapper
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectCommentService
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectCommentService
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectPraiseService
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectService
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectService
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
...
@@ -24,6 +27,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...
@@ -24,6 +27,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* <p>
* <p>
...
@@ -42,6 +49,8 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
...
@@ -42,6 +49,8 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
private
IMessageQueueService
messageQueueService
;
private
IMessageQueueService
messageQueueService
;
private
IProjectPraiseService
projectPraiseService
;
@Autowired
@Autowired
public
void
setProjectService
(
IProjectService
projectService
)
{
public
void
setProjectService
(
IProjectService
projectService
)
{
this
.
projectService
=
projectService
;
this
.
projectService
=
projectService
;
...
@@ -57,6 +66,11 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
...
@@ -57,6 +66,11 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
this
.
messageQueueService
=
messageQueueService
;
this
.
messageQueueService
=
messageQueueService
;
}
}
@Autowired
public
void
setProjectPraiseService
(
IProjectPraiseService
projectPraiseService
)
{
this
.
projectPraiseService
=
projectPraiseService
;
}
@Override
@Override
public
void
publishComment
(
Integer
projectId
,
Integer
parentId
,
String
comment
,
String
userId
)
throws
ProjectCommentServiceException
{
public
void
publishComment
(
Integer
projectId
,
Integer
parentId
,
String
comment
,
String
userId
)
throws
ProjectCommentServiceException
{
Assert
.
notNull
(
projectId
,
"projectId must not be null"
);
Assert
.
notNull
(
projectId
,
"projectId must not be null"
);
...
@@ -141,11 +155,21 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
...
@@ -141,11 +155,21 @@ public class ProjectCommentServiceImpl extends ServiceImpl<ProjectCommentMapper,
}
}
}
}
// 3.删除评论及子评论
// 3.删除评论及子评论
以及赞
QueryWrapper
<
ProjectComment
>
projectCommentQueryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
ProjectComment
>
projectCommentQueryWrapper
=
new
QueryWrapper
<>();
projectCommentQueryWrapper
.
like
(
"thread"
,
projectComment
.
getThread
());
projectCommentQueryWrapper
.
like
(
"thread"
,
projectComment
.
getThread
());
List
<
ProjectComment
>
projectCommentList
=
list
(
projectCommentQueryWrapper
);
List
<
Integer
>
commentIds
=
projectCommentList
.
stream
()
.
map
(
ProjectComment:
:
getCommentId
)
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
commentIds
))
{
QueryWrapper
<
ProjectPraise
>
projectPraiseQueryWrapper
=
new
QueryWrapper
<>();
projectPraiseQueryWrapper
.
in
(
"target_id"
,
commentIds
);
projectPraiseQueryWrapper
.
eq
(
"target_type"
,
ProjectPraiseType
.
PROJECT_COMMENT_PRAISE
.
getPraiseType
());
projectPraiseService
.
remove
(
projectPraiseQueryWrapper
);
remove
(
projectCommentQueryWrapper
);
remove
(
projectCommentQueryWrapper
);
}
}
}
@Override
@Override
public
IPage
<
ProjectComment
>
getCommentPage
(
Integer
pageNumber
,
Integer
pageSize
,
Integer
projectId
,
Integer
parentId
)
throws
ProjectCommentServiceException
{
public
IPage
<
ProjectComment
>
getCommentPage
(
Integer
pageNumber
,
Integer
pageSize
,
Integer
projectId
,
Integer
parentId
)
throws
ProjectCommentServiceException
{
...
...
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectServiceImpl.java
View file @
f6d16496
...
@@ -2,17 +2,13 @@ package cn.meteor.beyondclouds.modules.project.service.impl;
...
@@ -2,17 +2,13 @@ package cn.meteor.beyondclouds.modules.project.service.impl;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.modules.project.dto.ProjectDetailDTO
;
import
cn.meteor.beyondclouds.modules.project.dto.ProjectDetailDTO
;
import
cn.meteor.beyondclouds.modules.project.entity.Project
;
import
cn.meteor.beyondclouds.modules.project.entity.*
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectCategory
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectComment
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectExt
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectErrorCode
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectErrorCode
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectPraiseType
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
cn.meteor.beyondclouds.modules.project.mapper.ProjectCategoryMapper
;
import
cn.meteor.beyondclouds.modules.project.mapper.ProjectCategoryMapper
;
import
cn.meteor.beyondclouds.modules.project.mapper.ProjectMapper
;
import
cn.meteor.beyondclouds.modules.project.mapper.ProjectMapper
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectCommentService
;
import
cn.meteor.beyondclouds.modules.project.service.*
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectExtService
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectService
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
...
@@ -30,8 +26,12 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -30,8 +26,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* <p>
* <p>
* 项目表 服务实现类
* 项目表 服务实现类
...
@@ -46,8 +46,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
...
@@ -46,8 +46,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
private
IProjectExtService
projectExtService
;
private
IProjectExtService
projectExtService
;
private
ProjectCategoryMapper
projectCategoryMapper
;
private
IProjectCommentService
projectCommentService
;
private
IProjectCommentService
projectCommentService
;
private
IUserService
userService
;
private
IUserService
userService
;
...
@@ -56,10 +54,23 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
...
@@ -56,10 +54,23 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
private
IUserFollowService
userFollowService
;
private
IUserFollowService
userFollowService
;
private
IProjectPraiseService
projectPraiseService
;
private
IProjectCategoryService
projectCategoryService
;
@Autowired
@Autowired
public
ProjectServiceImpl
(
IProjectExtService
projectExtService
,
ProjectCategoryMapper
projectCategoryMapper
)
{
public
ProjectServiceImpl
(
IProjectExtService
projectExtService
)
{
this
.
projectExtService
=
projectExtService
;
this
.
projectExtService
=
projectExtService
;
this
.
projectCategoryMapper
=
projectCategoryMapper
;
}
@Autowired
public
void
setProjectCategoryService
(
IProjectCategoryService
projectCategoryService
)
{
this
.
projectCategoryService
=
projectCategoryService
;
}
@Autowired
public
void
setProjectPraiseService
(
IProjectPraiseService
projectPraiseService
)
{
this
.
projectPraiseService
=
projectPraiseService
;
}
}
@Autowired
@Autowired
...
@@ -90,7 +101,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
...
@@ -90,7 +101,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
// 1.检查项目类别是否存在
// 1.检查项目类别是否存在
Integer
categoryId
=
project
.
getCategoryId
();
Integer
categoryId
=
project
.
getCategoryId
();
ProjectCategory
projectCategory
=
projectCategory
Mapper
.
selec
tById
(
categoryId
);
ProjectCategory
projectCategory
=
projectCategory
Service
.
ge
tById
(
categoryId
);
// 若分类不存在,则抛出异常
// 若分类不存在,则抛出异常
if
(
null
==
projectCategory
)
{
if
(
null
==
projectCategory
)
{
...
@@ -140,16 +151,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
...
@@ -140,16 +151,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
throw
new
ProjectServiceException
(
ProjectErrorCode
.
PROJECT_DISABLED
);
throw
new
ProjectServiceException
(
ProjectErrorCode
.
PROJECT_DISABLED
);
}
}
// 2.删除项目的所有评论
// 2.删除项目的所有评论
和对评论的赞
QueryWrapper
<
ProjectComment
>
projectCommentQueryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
ProjectComment
>
projectCommentQueryWrapper
=
new
QueryWrapper
<>();
projectCommentQueryWrapper
.
eq
(
"project_id"
,
projectId
);
projectCommentQueryWrapper
.
eq
(
"project_id"
,
projectId
);
List
<
ProjectComment
>
projectList
=
projectCommentService
.
list
(
projectCommentQueryWrapper
);
List
<
Integer
>
commentIds
=
projectList
.
stream
()
.
map
(
ProjectComment:
:
getCommentId
)
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
commentIds
))
{
// 删点赞
QueryWrapper
<
ProjectPraise
>
projectPraiseQueryWrapper
=
new
QueryWrapper
<>();
projectPraiseQueryWrapper
.
in
(
"target_id"
,
commentIds
);
projectPraiseQueryWrapper
.
eq
(
"target_type"
,
ProjectPraiseType
.
PROJECT_COMMENT_PRAISE
.
getPraiseType
());
projectPraiseService
.
remove
(
projectPraiseQueryWrapper
);
// 删评论
projectCommentService
.
remove
(
projectCommentQueryWrapper
);
projectCommentService
.
remove
(
projectCommentQueryWrapper
);
}
// 3.删除项目本身
// 删除项目详情
// 删除项目详情
projectExtService
.
removeById
(
projectId
);
projectExtService
.
removeById
(
projectId
);
// 删除项目的赞
QueryWrapper
<
ProjectPraise
>
projectPraiseQueryWrapper
=
new
QueryWrapper
<>();
projectPraiseQueryWrapper
.
eq
(
"target_id"
,
projectId
);
projectPraiseQueryWrapper
.
eq
(
"target_type"
,
ProjectPraiseType
.
PROJECT_PRAISE
.
getPraiseType
());
projectPraiseService
.
remove
(
projectPraiseQueryWrapper
);
// 删除项目
// 删除项目
removeById
(
projectId
);
removeById
(
projectId
);
...
@@ -246,7 +274,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
...
@@ -246,7 +274,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
// 检查项目类别是否存在
// 检查项目类别是否存在
Integer
categoryId
=
project
.
getCategoryId
();
Integer
categoryId
=
project
.
getCategoryId
();
ProjectCategory
projectCategory
=
projectCategory
Mapper
.
selec
tById
(
categoryId
);
ProjectCategory
projectCategory
=
projectCategory
Service
.
ge
tById
(
categoryId
);
// 若分类不存在,则抛出异常
// 若分类不存在,则抛出异常
if
(
null
==
projectCategory
)
{
if
(
null
==
projectCategory
)
{
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyServiceImpl.java
View file @
f6d16496
...
@@ -3,11 +3,14 @@ package cn.meteor.beyondclouds.modules.question.service.impl;
...
@@ -3,11 +3,14 @@ package cn.meteor.beyondclouds.modules.question.service.impl;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionPraise
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionReply
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionReply
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionErrorCode
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionErrorCode
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionPraiseType
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionReplyErrorCode
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionReplyErrorCode
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionReplyServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionReplyServiceException
;
import
cn.meteor.beyondclouds.modules.question.mapper.QuestionReplyMapper
;
import
cn.meteor.beyondclouds.modules.question.mapper.QuestionReplyMapper
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionPraiseService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyCommentService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyCommentService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionService
;
...
@@ -53,6 +56,13 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
...
@@ -53,6 +56,13 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
private
IMessageQueueService
messageQueueService
;
private
IMessageQueueService
messageQueueService
;
private
IQuestionPraiseService
questionPraiseService
;
@Autowired
public
void
setQuestionPraiseService
(
IQuestionPraiseService
questionPraiseService
)
{
this
.
questionPraiseService
=
questionPraiseService
;
}
@Autowired
@Autowired
public
void
setQuestionService
(
IQuestionService
questionService
)
{
public
void
setQuestionService
(
IQuestionService
questionService
)
{
this
.
questionService
=
questionService
;
this
.
questionService
=
questionService
;
...
@@ -188,8 +198,17 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
...
@@ -188,8 +198,17 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
}
}
}
}
//3.删除该回复及评论
//3.删除该回复及评论和点赞
// 删点赞
QueryWrapper
<
QuestionPraise
>
questionPraiseQueryWrapper
=
new
QueryWrapper
<>();
questionPraiseQueryWrapper
.
eq
(
"target_id"
,
replyId
);
questionPraiseQueryWrapper
.
eq
(
"target_type"
,
QuestionPraiseType
.
QUESTION_REPLY_PRAISE
.
getPraiseType
());
questionPraiseService
.
remove
(
questionPraiseQueryWrapper
);
// 删评论
questionReplyCommentService
.
remove
(
QuestionUtils
.
getWrapper
(
"reply_id"
,
replyId
));
questionReplyCommentService
.
remove
(
QuestionUtils
.
getWrapper
(
"reply_id"
,
replyId
));
// 删回复
removeById
(
replyId
);
removeById
(
replyId
);
//4.更新问题的回复数量
//4.更新问题的回复数量
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionServiceImpl.java
View file @
f6d16496
...
@@ -6,6 +6,7 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemType;
...
@@ -6,6 +6,7 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import
cn.meteor.beyondclouds.modules.question.dto.QuestionDetailDTO
;
import
cn.meteor.beyondclouds.modules.question.dto.QuestionDetailDTO
;
import
cn.meteor.beyondclouds.modules.question.entity.*
;
import
cn.meteor.beyondclouds.modules.question.entity.*
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionErrorCode
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionErrorCode
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionPraiseType
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionTagErrorCode
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionTagErrorCode
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionTagServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionTagServiceException
;
...
@@ -80,6 +81,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -80,6 +81,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
private
IUserFollowService
userFollowService
;
private
IUserFollowService
userFollowService
;
private
IQuestionPraiseService
questionPraiseService
;
@Autowired
@Autowired
public
QuestionServiceImpl
(
IQuestionExtService
questionExtService
,
IQuestionCategoryService
questionCategoryService
,
ITopicReferenceService
topicReferenceService
,
QuestionMapper
questionMapper
)
{
public
QuestionServiceImpl
(
IQuestionExtService
questionExtService
,
IQuestionCategoryService
questionCategoryService
,
ITopicReferenceService
topicReferenceService
,
QuestionMapper
questionMapper
)
{
this
.
questionExtService
=
questionExtService
;
this
.
questionExtService
=
questionExtService
;
...
@@ -94,6 +97,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -94,6 +97,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
}
}
@Autowired
@Autowired
public
void
setQuestionPraiseService
(
IQuestionPraiseService
questionPraiseService
)
{
this
.
questionPraiseService
=
questionPraiseService
;
}
@Autowired
public
void
setMessageQueueService
(
IMessageQueueService
messageQueueService
)
{
public
void
setMessageQueueService
(
IMessageQueueService
messageQueueService
)
{
this
.
messageQueueService
=
messageQueueService
;
this
.
messageQueueService
=
messageQueueService
;
}
}
...
@@ -188,26 +196,45 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -188,26 +196,45 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
//2.删除question-tag表中关于该问题的标签
//2.删除question-tag表中关于该问题的标签
deleteOldTagReferences
(
questionId
);
deleteOldTagReferences
(
questionId
);
//3.获取该问题的所有回复
//3.删除话题引用表中的问题信息
List
<
QuestionReply
>
questionReplies
=
questionReplyService
.
list
(
QuestionUtils
.
getWrapper
(
"question_id"
,
questionId
));
deleteOldTopicReferences
(
questionId
);
//4.删除question-reply-comment表中关于该问题的所有回复
List
<
String
>
replyIds
=
questionReplies
.
stream
().
map
(
QuestionReply:
:
getReplyId
).
collect
(
Collectors
.
toList
());
questionReplyCommentService
.
removeByIds
(
replyIds
);
//5.删除question-reply表中关于该问题的所有回复
questionReplyService
.
remove
(
QuestionUtils
.
getWrapper
(
"question_id"
,
questionId
));
//6.删除question-ext表中的问题信息
//4.删除关于该问题的所有回复和评论以及对回复的点赞
QueryWrapper
<
QuestionReply
>
questionReplyQueryWrapper
=
new
QueryWrapper
<>();
questionReplyQueryWrapper
.
eq
(
"question_id"
,
questionId
);
List
<
QuestionReply
>
questionReplyList
=
questionReplyService
.
list
(
questionReplyQueryWrapper
);
List
<
String
>
replyIds
=
questionReplyList
.
stream
()
.
map
(
QuestionReply:
:
getReplyId
)
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
replyIds
))
{
// 删评论
QueryWrapper
<
QuestionReplyComment
>
questionReplyCommentQueryWrapper
=
new
QueryWrapper
<>();
questionReplyCommentQueryWrapper
.
in
(
"reply_id"
,
replyIds
);
questionReplyCommentService
.
remove
(
questionReplyCommentQueryWrapper
);
// 删点赞
QueryWrapper
<
QuestionPraise
>
questionPraiseQueryWrapper
=
new
QueryWrapper
<>();
questionPraiseQueryWrapper
.
in
(
"target_id"
,
replyIds
);
questionPraiseQueryWrapper
.
eq
(
"target_type"
,
QuestionPraiseType
.
QUESTION_REPLY_PRAISE
.
getPraiseType
());
questionPraiseService
.
remove
(
questionPraiseQueryWrapper
);
// 删回复
questionReplyService
.
removeByIds
(
replyIds
);
}
//5.删除question-ext表中的问题信息
questionExtService
.
remove
(
QuestionUtils
.
getWrapper
(
"question_id"
,
questionId
));
questionExtService
.
remove
(
QuestionUtils
.
getWrapper
(
"question_id"
,
questionId
));
//6.删除对问题的点赞
QueryWrapper
<
QuestionPraise
>
questionPraiseQueryWrapper
=
new
QueryWrapper
<>();
questionPraiseQueryWrapper
.
eq
(
"target_id"
,
questionId
);
questionPraiseQueryWrapper
.
eq
(
"target_type"
,
QuestionPraiseType
.
QUESTION_PRAISE
.
getPraiseType
());
questionPraiseService
.
remove
(
questionPraiseQueryWrapper
);
//7.删除question表中的问题信息
//7.删除question表中的问题信息
removeById
(
questionId
);
removeById
(
questionId
);
//8.删除话题引用表中的问题信息
//8.发送消息到消息队列
deleteOldTopicReferences
(
questionId
);
// 9.发送消息到消息队列
messageQueueService
messageQueueService
.
sendDataItemChangeMessage
(
.
sendDataItemChangeMessage
(
DataItemChangeMessage
.
deleteMessage
(
DataItemType
.
QUESTION
,
question
.
getQuestionId
())
DataItemChangeMessage
.
deleteMessage
(
DataItemType
.
QUESTION
,
question
.
getQuestionId
())
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/util/QuestionUtils.java
View file @
f6d16496
...
@@ -20,7 +20,7 @@ public class QuestionUtils {
...
@@ -20,7 +20,7 @@ public class QuestionUtils {
* @return
* @return
*/
*/
public
static
<
T
>
QueryWrapper
<
T
>
getWrapper
(
String
field
,
Object
data
){
public
static
<
T
>
QueryWrapper
<
T
>
getWrapper
(
String
field
,
Object
data
){
QueryWrapper
<
T
>
queryWrapper
=
new
QueryWrapper
<
T
>();
QueryWrapper
<
T
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
field
,
data
);
queryWrapper
.
eq
(
field
,
data
);
return
queryWrapper
;
return
queryWrapper
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment