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
087373a1
Commit
087373a1
authored
Feb 26, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
博客点赞列表完成
parent
ffcb5d6e
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
103 additions
and
5 deletions
+103
-5
src/main/java/cn/meteor/beyondclouds/modules/blog/api/BlogPraiseApi.java
+18
-1
src/main/java/cn/meteor/beyondclouds/modules/blog/mapper/BlogPraiseMapper.java
+12
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/mapper/xml/BlogPraiseMapper.xml
+13
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/service/IBlogPraiseService.java
+13
-2
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogPraiseServiceImpl.java
+24
-2
src/main/java/cn/meteor/beyondclouds/modules/user/dto/PraiseUserDTO.java
+23
-0
No files found.
src/main/java/cn/meteor/beyondclouds/modules/blog/api/BlogPraiseApi.java
View file @
087373a1
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
api
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.authentication.Subject
;
import
cn.meteor.beyondclouds.core.exception.ServiceException
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogPraiseServiceException
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogPraiseService
;
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
...
...
@@ -80,4 +85,16 @@ public class BlogPraiseApi {
}
}
@ApiOperation
(
"博客点赞列表"
)
@GetMapping
(
"/blog/{blogId}/praises"
)
public
Response
getPraises
(
@Valid
@RequestParam
PageForm
pageForm
,
BindingResult
bindingResult
,
@PathVariable
(
"blogId"
)
String
blogId
)
{
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
PageDTO
<
PraiseUserDTO
>
pageDTO
=
blogPraiseService
.
getBlogPraises
(
pageForm
.
getPage
(),
pageForm
.
getSize
(),
blogId
);
return
Response
.
success
(
pageDTO
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/blog/mapper/BlogPraiseMapper.java
View file @
087373a1
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
mapper
;
import
cn.meteor.beyondclouds.modules.blog.entity.BlogPraise
;
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>
...
...
@@ -13,4 +17,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public
interface
BlogPraiseMapper
extends
BaseMapper
<
BlogPraise
>
{
/**
* 查询点赞列表分页
* @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/blog/mapper/xml/BlogPraiseMapper.xml
View file @
087373a1
...
...
@@ -2,4 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.meteor.beyondclouds.modules.blog.mapper.BlogPraiseMapper"
>
<select
id=
"selectPraisePage"
resultType=
"cn.meteor.beyondclouds.modules.user.dto.PraiseUserDTO"
>
select
u.user_id,
u.nick_name,
u.user_avatar,
u.signature,
bp.create_time praise_yime
from blog_praise bp, user u
where bp.user_id = u.user_id
and bp.target_id = #{targetId}
and bp.target_type = #{targetType}
order by bp.create_time desc
</select>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/blog/service/IBlogPraiseService.java
View file @
087373a1
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
service
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.modules.blog.entity.BlogPraise
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogCommentServiceException
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogPraiseServiceException
;
import
cn.meteor.beyondclouds.modules.
blog.exception.BlogServiceException
;
import
cn.meteor.beyondclouds.modules.
user.dto.PraiseUserDTO
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
...
...
@@ -43,4 +43,15 @@ public interface IBlogPraiseService extends IService<BlogPraise> {
* @param commentId
*/
void
deleteBlogCommentPraise
(
String
currentUserId
,
String
commentId
)
throws
BlogPraiseServiceException
;
/**
* 获取博客点赞列表
*
* @param pageNumver
* @param pageSize
* @param blogId
* @return
*/
PageDTO
<
PraiseUserDTO
>
getBlogPraises
(
Integer
pageNumver
,
Integer
pageSize
,
String
blogId
);
}
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogPraiseServiceImpl.java
View file @
087373a1
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
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.entity.Blog
;
...
...
@@ -9,15 +10,17 @@ import cn.meteor.beyondclouds.modules.blog.enums.BlogCommentErrorCode;
import
cn.meteor.beyondclouds.modules.blog.enums.BlogErrorCode
;
import
cn.meteor.beyondclouds.modules.blog.enums.BlogPraiseErrorCode
;
import
cn.meteor.beyondclouds.modules.blog.enums.BlogPraiseType
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogCommentServiceException
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogPraiseServiceException
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException
;
import
cn.meteor.beyondclouds.modules.blog.mapper.BlogPraiseMapper
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogCommentService
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogPraiseService
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogService
;
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
;
...
...
@@ -39,6 +42,8 @@ public class BlogPraiseServiceImpl extends ServiceImpl<BlogPraiseMapper, BlogPra
private
IMessageQueueService
messageQueueService
;
private
BlogPraiseMapper
blogPraiseMapper
;
@Autowired
public
void
setBlogService
(
IBlogService
blogService
)
{
this
.
blogService
=
blogService
;
...
...
@@ -54,6 +59,11 @@ public class BlogPraiseServiceImpl extends ServiceImpl<BlogPraiseMapper, BlogPra
this
.
messageQueueService
=
messageQueueService
;
}
@Autowired
public
void
setBlogPraiseMapper
(
BlogPraiseMapper
blogPraiseMapper
)
{
this
.
blogPraiseMapper
=
blogPraiseMapper
;
}
@Override
public
void
praiseBlog
(
String
userId
,
String
blogId
)
throws
BlogPraiseServiceException
{
// 1.判断博客是否存在
...
...
@@ -156,4 +166,16 @@ public class BlogPraiseServiceImpl extends ServiceImpl<BlogPraiseMapper, BlogPra
// 2.取消点赞
remove
(
queryWrapper
);
}
@Override
public
PageDTO
<
PraiseUserDTO
>
getBlogPraises
(
Integer
pageNumber
,
Integer
pageSize
,
String
blogId
)
{
IPage
<
PraiseUserDTO
>
praiseUserDTOPage
=
blogPraiseMapper
.
selectPraisePage
(
new
Page
(
pageNumber
,
pageSize
),
blogId
,
BlogPraiseType
.
BLOG_PRAISE
.
getPraiseType
());
PageDTO
<
PraiseUserDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
praiseUserDTOPage
,
pageDTO
);
pageDTO
.
setDataList
(
praiseUserDTOPage
.
getRecords
());
return
pageDTO
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/dto/PraiseUserDTO.java
0 → 100644
View file @
087373a1
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
dto
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author meteor
*/
@Data
public
class
PraiseUserDTO
{
private
String
userId
;
private
String
nickName
;
private
String
userAvatar
;
private
String
signature
;
private
Date
praiseTime
;
}
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