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
f952aead
Commit
f952aead
authored
Feb 26, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
各个点赞列表完成
parent
7405f4a2
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
242 additions
and
7 deletions
+242
-7
src/main/java/cn/meteor/beyondclouds/modules/blog/mapper/xml/BlogPraiseMapper.xml
+1
-1
src/main/java/cn/meteor/beyondclouds/modules/post/api/PostPraiseApi.java
+20
-0
src/main/java/cn/meteor/beyondclouds/modules/post/mapper/PostPraiseMapper.java
+12
-1
src/main/java/cn/meteor/beyondclouds/modules/post/mapper/xml/PostPraiseMapper.xml
+13
-1
src/main/java/cn/meteor/beyondclouds/modules/post/service/IPostPraiseService.java
+12
-0
src/main/java/cn/meteor/beyondclouds/modules/post/service/impl/PostPraiseServiceImpl.java
+24
-0
src/main/java/cn/meteor/beyondclouds/modules/project/api/ProjectPraiseApi.java
+20
-0
src/main/java/cn/meteor/beyondclouds/modules/project/mapper/ProjectPraiseMapper.java
+12
-1
src/main/java/cn/meteor/beyondclouds/modules/project/mapper/xml/ProjectPraiseMapper.xml
+13
-1
src/main/java/cn/meteor/beyondclouds/modules/project/service/IProjectPraiseService.java
+11
-0
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectPraiseServiceImpl.java
+24
-0
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionPraiseApi.java
+20
-0
src/main/java/cn/meteor/beyondclouds/modules/question/mapper/QuestionPraiseMapper.java
+12
-1
src/main/java/cn/meteor/beyondclouds/modules/question/mapper/xml/QuestionPraiseMapper.xml
+13
-1
src/main/java/cn/meteor/beyondclouds/modules/question/service/IQuestionPraiseService.java
+11
-0
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionPraiseServiceImpl.java
+24
-0
No files found.
src/main/java/cn/meteor/beyondclouds/modules/blog/mapper/xml/BlogPraiseMapper.xml
View file @
f952aead
...
...
@@ -8,7 +8,7 @@
u.nick_name,
u.user_avatar,
u.signature,
bp.create_time praise_
y
ime
bp.create_time praise_
t
ime
from blog_praise bp, user u
where bp.user_id = u.user_id
and bp.target_id = #{targetId}
...
...
src/main/java/cn/meteor/beyondclouds/modules/post/api/PostPraiseApi.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
api
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.modules.post.exception.PostServiceException
;
import
cn.meteor.beyondclouds.modules.post.service.IPostPraiseService
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
cn.meteor.beyondclouds.util.SubjectUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
/**
* @author gaoTong
* @date 2020/1/31 9:27
...
...
@@ -56,4 +63,17 @@ public class PostPraiseApi {
}
}
@Anonymous
@ApiOperation
(
"动态点赞列表"
)
@GetMapping
(
"/post/{postId}/praises"
)
public
Response
getPraises
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
,
@PathVariable
(
"postId"
)
String
postId
)
{
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
PageDTO
<
PraiseUserDTO
>
pageDTO
=
postPraiseService
.
getPostPraises
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
postId
);
return
Response
.
success
(
pageDTO
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/post/mapper/PostPraiseMapper.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
mapper
;
import
cn.meteor.beyondclouds.modules.post.entity.PostPraise
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
...
...
@@ -12,5 +16,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2020-02-20
*/
public
interface
PostPraiseMapper
extends
BaseMapper
<
PostPraise
>
{
/**
* 查询点赞列表分页
* @param page
* @param targetId
* @param targetType
* @return
*/
IPage
<
PraiseUserDTO
>
selectPraisePage
(
Page
<?>
page
,
@Param
(
"targetId"
)
String
targetId
,
@Param
(
"targetType"
)
Integer
targetType
);
}
src/main/java/cn/meteor/beyondclouds/modules/post/mapper/xml/PostPraiseMapper.xml
View file @
f952aead
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.meteor.beyondclouds.modules.post.mapper.PostPraiseMapper"
>
<select
id=
"selectPraisePage"
resultType=
"cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO"
>
select
u.user_id,
u.nick_name,
u.user_avatar,
u.signature,
pp.create_time praise_time
from post_praise pp, user u
where pp.user_id = u.user_id
and pp.target_id = #{targetId}
and pp.target_type = #{targetType}
order by pp.create_time desc
</select>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/post/service/IPostPraiseService.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
service
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.modules.post.entity.PostPraise
;
import
cn.meteor.beyondclouds.modules.post.exception.PostServiceException
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
...
...
@@ -29,4 +31,14 @@ public interface IPostPraiseService extends IService<PostPraise> {
* @throws PostServiceException
*/
void
delPostPraise
(
String
currentUserId
,
String
postId
)
throws
PostServiceException
;
/**
* 动态点赞列表
* @param page
* @param size
* @param postId
* @return
*/
PageDTO
<
PraiseUserDTO
>
getPostPraises
(
Integer
page
,
Integer
size
,
String
postId
);
}
src/main/java/cn/meteor/beyondclouds/modules/post/service/impl/PostPraiseServiceImpl.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
post
.
service
.
impl
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.modules.blog.enums.BlogPraiseType
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.post.entity.PostPraise
;
import
cn.meteor.beyondclouds.modules.post.enums.PostErrorCode
;
...
...
@@ -12,7 +14,11 @@ 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.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
cn.meteor.beyondclouds.util.PageUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -30,6 +36,7 @@ public class PostPraiseServiceImpl extends ServiceImpl<PostPraiseMapper, PostPra
private
IPostService
postService
;
private
IMessageQueueService
messageQueueService
;
private
PostPraiseMapper
postPraiseMapper
;
@Autowired
public
void
setPostService
(
IPostService
postService
)
{
...
...
@@ -41,6 +48,11 @@ public class PostPraiseServiceImpl extends ServiceImpl<PostPraiseMapper, PostPra
this
.
messageQueueService
=
messageQueueService
;
}
@Autowired
public
void
setPostPraiseMapper
(
PostPraiseMapper
postPraiseMapper
)
{
this
.
postPraiseMapper
=
postPraiseMapper
;
}
@Override
public
void
postPraise
(
String
currentUserId
,
String
postId
)
throws
PostServiceException
{
...
...
@@ -104,4 +116,16 @@ public class PostPraiseServiceImpl extends ServiceImpl<PostPraiseMapper, PostPra
post
.
setPraiseNum
(
post
.
getPraiseNum
()
-
1
);
postService
.
updateById
(
post
);
}
@Override
public
PageDTO
<
PraiseUserDTO
>
getPostPraises
(
Integer
page
,
Integer
size
,
String
postId
)
{
IPage
<
PraiseUserDTO
>
praiseUserDTOPage
=
postPraiseMapper
.
selectPraisePage
(
new
Page
(
page
,
size
),
postId
,
PostPraiseType
.
POST_PRAISE
.
getPraiseType
());
PageDTO
<
PraiseUserDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
praiseUserDTOPage
,
pageDTO
);
pageDTO
.
setDataList
(
praiseUserDTOPage
.
getRecords
());
return
pageDTO
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/project/api/ProjectPraiseApi.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
project
.
api
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
cn.meteor.beyondclouds.modules.project.service.IProjectPraiseService
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
cn.meteor.beyondclouds.util.SubjectUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
/**
* @author gaoTong
* @date 2020/1/31 9:27
...
...
@@ -79,4 +86,17 @@ public class ProjectPraiseApi {
}
}
@Anonymous
@ApiOperation
(
"项目点赞列表"
)
@GetMapping
(
"/project/{projectId}/praises"
)
public
Response
getPraises
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
,
@PathVariable
(
"projectId"
)
String
projectId
)
{
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
PageDTO
<
PraiseUserDTO
>
pageDTO
=
projectPraiseService
.
getProjectPraises
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
projectId
);
return
Response
.
success
(
pageDTO
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/project/mapper/ProjectPraiseMapper.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
project
.
mapper
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectPraise
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
...
...
@@ -12,5 +16,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2020-02-20
*/
public
interface
ProjectPraiseMapper
extends
BaseMapper
<
ProjectPraise
>
{
/**
* 查询点赞列表分页
* @param page
* @param targetId
* @param targetType
* @return
*/
IPage
<
PraiseUserDTO
>
selectPraisePage
(
Page
<?>
page
,
@Param
(
"targetId"
)
String
targetId
,
@Param
(
"targetType"
)
Integer
targetType
);
}
src/main/java/cn/meteor/beyondclouds/modules/project/mapper/xml/ProjectPraiseMapper.xml
View file @
f952aead
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.meteor.beyondclouds.modules.project.mapper.ProjectPraiseMapper"
>
<select
id=
"selectPraisePage"
resultType=
"cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO"
>
select
u.user_id,
u.nick_name,
u.user_avatar,
u.signature,
pp.create_time praise_time
from project_praise pp, user u
where pp.user_id = u.user_id
and pp.target_id = #{targetId}
and pp.target_type = #{targetType}
order by pp.create_time desc
</select>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/project/service/IProjectPraiseService.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
project
.
service
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectPraise
;
import
cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
...
...
@@ -42,4 +44,13 @@ public interface IProjectPraiseService extends IService<ProjectPraise> {
* @param commentId
*/
void
deleteProjectCommentPraise
(
String
currentUserId
,
String
commentId
)
throws
ProjectServiceException
;
/**
* 项目点赞列表
* @param page
* @param size
* @param projectId
* @return
*/
PageDTO
<
PraiseUserDTO
>
getProjectPraises
(
Integer
page
,
Integer
size
,
String
projectId
);
}
src/main/java/cn/meteor/beyondclouds/modules/project/service/impl/ProjectPraiseServiceImpl.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
project
.
service
.
impl
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.enums.ErrorCode
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.modules.post.enums.PostPraiseType
;
import
cn.meteor.beyondclouds.modules.post.service.IPostCommentService
;
import
cn.meteor.beyondclouds.modules.project.entity.Project
;
import
cn.meteor.beyondclouds.modules.project.entity.ProjectComment
;
...
...
@@ -17,7 +19,11 @@ 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.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
cn.meteor.beyondclouds.util.PageUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -36,6 +42,7 @@ public class ProjectPraiseServiceImpl extends ServiceImpl<ProjectPraiseMapper, P
private
IProjectService
projectService
;
private
IProjectCommentService
projectCommentService
;
private
IMessageQueueService
messageQueueService
;
private
ProjectPraiseMapper
projectPraiseMapper
;
@Autowired
public
void
setProjectService
(
IProjectService
projectService
)
{
...
...
@@ -52,6 +59,11 @@ public class ProjectPraiseServiceImpl extends ServiceImpl<ProjectPraiseMapper, P
this
.
messageQueueService
=
messageQueueService
;
}
@Autowired
public
void
setProjectPraiseMapper
(
ProjectPraiseMapper
projectPraiseMapper
)
{
this
.
projectPraiseMapper
=
projectPraiseMapper
;
}
@Override
public
void
praiseProject
(
String
currentUserId
,
String
projectId
)
throws
ProjectServiceException
{
...
...
@@ -155,4 +167,16 @@ public class ProjectPraiseServiceImpl extends ServiceImpl<ProjectPraiseMapper, P
// 1.删除
remove
(
queryWrapper
);
}
@Override
public
PageDTO
<
PraiseUserDTO
>
getProjectPraises
(
Integer
page
,
Integer
size
,
String
projectId
)
{
IPage
<
PraiseUserDTO
>
praiseUserDTOPage
=
projectPraiseMapper
.
selectPraisePage
(
new
Page
(
page
,
size
),
projectId
,
ProjectPraiseType
.
PROJECT_PRAISE
.
getPraiseType
());
PageDTO
<
PraiseUserDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
praiseUserDTOPage
,
pageDTO
);
pageDTO
.
setDataList
(
praiseUserDTOPage
.
getRecords
());
return
pageDTO
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionPraiseApi.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
api
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionServiceException
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionPraiseService
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
cn.meteor.beyondclouds.util.SubjectUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
/**
* @author gaoTong
* @date 2020/1/31 9:27
...
...
@@ -79,4 +86,17 @@ public class QuestionPraiseApi {
}
}
@Anonymous
@ApiOperation
(
"问题点赞列表"
)
@GetMapping
(
"/question/{questionId}/praises"
)
public
Response
getPraises
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
,
@PathVariable
(
"questionId"
)
String
questionId
)
{
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
PageDTO
<
PraiseUserDTO
>
pageDTO
=
questionPraiseService
.
getQuestionPraises
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
questionId
);
return
Response
.
success
(
pageDTO
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/question/mapper/QuestionPraiseMapper.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
mapper
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionPraise
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
...
...
@@ -12,5 +16,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2020-02-20
*/
public
interface
QuestionPraiseMapper
extends
BaseMapper
<
QuestionPraise
>
{
/**
* 查询点赞列表分页
* @param page
* @param targetId
* @param targetType
* @return
*/
IPage
<
PraiseUserDTO
>
selectPraisePage
(
Page
<?>
page
,
@Param
(
"targetId"
)
String
targetId
,
@Param
(
"targetType"
)
Integer
targetType
);
}
src/main/java/cn/meteor/beyondclouds/modules/question/mapper/xml/QuestionPraiseMapper.xml
View file @
f952aead
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.meteor.beyondclouds.modules.question.mapper.QuestionPraiseMapper"
>
<select
id=
"selectPraisePage"
resultType=
"cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO"
>
select
u.user_id,
u.nick_name,
u.user_avatar,
u.signature,
qp.create_time praise_time
from question_praise qp, user u
where qp.user_id = u.user_id
and qp.target_id = #{targetId}
and qp.target_type = #{targetType}
order by qp.create_time desc
</select>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/question/service/IQuestionPraiseService.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
service
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionPraise
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionServiceException
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
...
...
@@ -41,4 +43,13 @@ public interface IQuestionPraiseService extends IService<QuestionPraise> {
* @param replyId
*/
void
deleteQuestionReplyPraise
(
String
currentUserId
,
String
replyId
)
throws
QuestionServiceException
;
/**
* 问题点赞列表
* @param page
* @param size
* @param questionId
* @return
*/
PageDTO
<
PraiseUserDTO
>
getQuestionPraises
(
Integer
page
,
Integer
size
,
String
questionId
);
}
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionPraiseServiceImpl.java
View file @
f952aead
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
service
.
impl
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemType
;
import
cn.meteor.beyondclouds.modules.project.enums.ProjectPraiseType
;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionPraise
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionReply
;
...
...
@@ -13,7 +15,11 @@ import cn.meteor.beyondclouds.modules.question.service.IQuestionPraiseService;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionService
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO
;
import
cn.meteor.beyondclouds.util.PageUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -32,6 +38,7 @@ public class QuestionPraiseServiceImpl extends ServiceImpl<QuestionPraiseMapper,
private
IQuestionService
questionService
;
private
IQuestionReplyService
questionReplyService
;
private
IMessageQueueService
messageQueueService
;
private
QuestionPraiseMapper
questionPraiseMapper
;
@Autowired
public
void
setQuestionService
(
IQuestionService
questionService
)
{
...
...
@@ -48,6 +55,11 @@ public class QuestionPraiseServiceImpl extends ServiceImpl<QuestionPraiseMapper,
this
.
messageQueueService
=
messageQueueService
;
}
@Autowired
public
void
setQuestionPraiseMapper
(
QuestionPraiseMapper
questionPraiseMapper
)
{
this
.
questionPraiseMapper
=
questionPraiseMapper
;
}
@Override
public
void
questionPraise
(
String
currentUserId
,
String
questionId
)
throws
QuestionServiceException
{
//1.查找问题是否存在
...
...
@@ -148,4 +160,16 @@ public class QuestionPraiseServiceImpl extends ServiceImpl<QuestionPraiseMapper,
// 2.删除点赞
remove
(
questionPraiseQueryWrapper
);
}
@Override
public
PageDTO
<
PraiseUserDTO
>
getQuestionPraises
(
Integer
page
,
Integer
size
,
String
questionId
)
{
IPage
<
PraiseUserDTO
>
praiseUserDTOPage
=
questionPraiseMapper
.
selectPraisePage
(
new
Page
(
page
,
size
),
questionId
,
QuestionPraiseType
.
QUESTION_PRAISE
.
getPraiseType
());
PageDTO
<
PraiseUserDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
praiseUserDTOPage
,
pageDTO
);
pageDTO
.
setDataList
(
praiseUserDTOPage
.
getRecords
());
return
pageDTO
;
}
}
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