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
b34bda33
Commit
b34bda33
authored
Feb 01, 2020
by
Author name
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.1博客列表和详情
parent
c3ab3787
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
159 additions
and
4 deletions
+159
-4
src/main/java/cn/meteor/beyondclouds/modules/blog/api/BlogApi.java
+29
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/bean/BlogDetail.java
+20
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/enums/BlogErrorCode.java
+1
-1
src/main/java/cn/meteor/beyondclouds/modules/blog/form/pageForm.java
+18
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/service/IBlogService.java
+27
-0
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogServiceImpl.java
+62
-1
src/main/resources/application-prod.yml
+1
-1
src/main/resources/application.yml
+1
-1
No files found.
src/main/java/cn/meteor/beyondclouds/modules/blog/api/BlogApi.java
View file @
b34bda33
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
api
;
import
cn.meteor.beyondclouds.common.exception.OssException
;
import
cn.meteor.beyondclouds.common.form.PageForm
;
import
cn.meteor.beyondclouds.common.vo.PageVO
;
import
cn.meteor.beyondclouds.core.annotation.Anonymous
;
import
cn.meteor.beyondclouds.core.annotation.CurrentSubject
;
import
cn.meteor.beyondclouds.core.api.Response
;
import
cn.meteor.beyondclouds.core.bean.Subject
;
import
cn.meteor.beyondclouds.modules.blog.bean.BlogDetail
;
import
cn.meteor.beyondclouds.modules.blog.entity.Blog
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException
;
import
cn.meteor.beyondclouds.modules.blog.form.PublishBlogForm
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogService
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -65,5 +70,29 @@ public class BlogApi {
}
@ApiOperation
(
"博客详情"
)
@GetMapping
(
"/blog/{blogId}"
)
public
Response
<
BlogDetail
>
getBlog
(
@PathVariable
(
"blogId"
)
String
blogId
)
{
try
{
BlogDetail
blogDetail
=
blogService
.
getBlog
(
blogId
);
return
Response
.
success
(
blogDetail
);
}
catch
(
BlogServiceException
e
)
{
e
.
printStackTrace
();
return
Response
.
error
(
e
);
}
}
@Anonymous
@ApiOperation
(
"博客列表"
)
@GetMapping
(
"/blogs"
)
public
Response
<
PageVO
<
Blog
>>
getBlogs
(
@Valid
PageForm
pageForm
)
{
IPage
<
Blog
>
blogIPage
=
blogService
.
getBlogPage
(
pageForm
.
getPage
(),
pageForm
.
getSize
());
PageVO
<
Blog
>
blogPageVO
=
new
PageVO
<>();
blogPageVO
.
setTotalPage
(
blogIPage
.
getPages
());
blogPageVO
.
setDataList
(
blogIPage
.
getRecords
());
return
Response
.
success
(
blogPageVO
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/blog/bean/BlogDetail.java
0 → 100644
View file @
b34bda33
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
bean
;
import
cn.meteor.beyondclouds.modules.blog.entity.Blog
;
import
lombok.Data
;
import
java.util.List
;
/**
* @author gaoTong
* @date 2020/2/1 9:26
*/
@Data
public
class
BlogDetail
extends
Blog
{
private
String
content
;
private
List
<
String
>
tagIds
;
}
src/main/java/cn/meteor/beyondclouds/modules/blog/enums/BlogErrorCode.java
View file @
b34bda33
...
...
@@ -8,7 +8,7 @@ import cn.meteor.beyondclouds.core.IErrorCode;
*/
public
enum
BlogErrorCode
implements
IErrorCode
{
USERID_AUTH_ERROR
(
8001
,
"不是当前博客的拥有者"
),
BLOG_NOT_
EXIST
(
8002
,
"当前博客已经被
不存在"
)
BLOG_NOT_
FOUND
(
8002
,
"当前博客已经
不存在"
)
;
...
...
src/main/java/cn/meteor/beyondclouds/modules/blog/form/pageForm.java
0 → 100644
View file @
b34bda33
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
form
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* @author gaoTong
* @date 2020/2/1 12:11
*/
@Data
public
class
pageForm
{
private
Integer
page
;
private
Integer
size
;
}
src/main/java/cn/meteor/beyondclouds/modules/blog/service/IBlogService.java
View file @
b34bda33
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
service
;
import
cn.meteor.beyondclouds.modules.blog.bean.BlogDetail
;
import
cn.meteor.beyondclouds.modules.blog.entity.Blog
;
import
cn.meteor.beyondclouds.modules.blog.entity.BlogExt
;
import
cn.meteor.beyondclouds.modules.blog.entity.BlogTag
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
...
...
@@ -33,4 +35,29 @@ public interface IBlogService extends IService<Blog> {
* @param BlogId
*/
void
deleteBlog
(
String
userId
,
String
BlogId
)
throws
BlogServiceException
;
/**
* 获取博客详情
* @param blogId
* @return
* @throws BlogServiceException
*/
BlogDetail
getBlog
(
String
blogId
)
throws
BlogServiceException
;
/**
* 博客列表
* @param pageNumber
* @param pageSize
* @return
*/
IPage
<
Blog
>
getBlogPage
(
Integer
pageNumber
,
Integer
pageSize
);
/**
* 我的博客列表
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
IPage
<
Blog
>
getMyBlogPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
);
}
src/main/java/cn/meteor/beyondclouds/modules/blog/service/impl/BlogServiceImpl.java
View file @
b34bda33
package
cn
.
meteor
.
beyondclouds
.
modules
.
blog
.
service
.
impl
;
import
cn.meteor.beyondclouds.modules.blog.bean.BlogDetail
;
import
cn.meteor.beyondclouds.modules.blog.entity.Blog
;
import
cn.meteor.beyondclouds.modules.blog.entity.BlogExt
;
import
cn.meteor.beyondclouds.modules.blog.entity.BlogTag
;
import
cn.meteor.beyondclouds.modules.blog.enums.BlogErrorCode
;
import
cn.meteor.beyondclouds.modules.blog.exception.BlogServiceException
;
import
cn.meteor.beyondclouds.modules.blog.mapper.BlogMapper
;
import
cn.meteor.beyondclouds.modules.blog.mapper.BlogTagMapper
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogCommentService
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogExtService
;
import
cn.meteor.beyondclouds.modules.blog.service.IBlogService
;
...
...
@@ -13,11 +15,20 @@ import cn.meteor.beyondclouds.modules.blog.service.IBlogTagService;
import
cn.meteor.beyondclouds.modules.topic.entity.TopicReference
;
import
cn.meteor.beyondclouds.modules.topic.service.ITopicReferenceService
;
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
com.fasterxml.jackson.databind.util.BeanUtil
;
import
lombok.extern.java.Log
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>
* 博客表 服务实现类
...
...
@@ -38,6 +49,7 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
private
IBlogCommentService
blogCommentService
;
@Autowired
public
BlogServiceImpl
(
IBlogTagService
blogTagService
,
ITopicReferenceService
topicReferenceService
,
IBlogExtService
blogExtService
,
IBlogCommentService
blogCommentService
)
{
this
.
blogTagService
=
blogTagService
;
this
.
topicReferenceService
=
topicReferenceService
;
...
...
@@ -93,7 +105,7 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
}
//2.判断当前博客是否存在
if
(
getById
(
blogId
)
==
null
)
{
throw
new
BlogServiceException
(
BlogErrorCode
.
BLOG_NOT_
EXIST
);
throw
new
BlogServiceException
(
BlogErrorCode
.
BLOG_NOT_
FOUND
);
}
//3.删除博客评论表
QueryWrapper
queryWrapperComment
=
new
QueryWrapper
();
...
...
@@ -118,4 +130,53 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
//8.删除博客表里的数据
removeById
(
blogId
);
}
@Override
public
BlogDetail
getBlog
(
String
blogId
)
throws
BlogServiceException
{
//1.获取博客
Blog
blog
=
getById
(
blogId
);
//若找不到该博客,则抛出业务异常
if
(
null
==
blog
)
{
throw
new
BlogServiceException
(
BlogErrorCode
.
BLOG_NOT_FOUND
);
}
//2.获取项目内容
QueryWrapper
<
BlogExt
>
blogExtQueryWrapper
=
new
QueryWrapper
();
blogExtQueryWrapper
.
eq
(
"blog_id"
,
blogId
);
BlogExt
blogExt
=
blogExtService
.
getOne
(
blogExtQueryWrapper
);
//3.获取引用的话题
QueryWrapper
<
BlogTag
>
blogTagQueryWrapper
=
new
QueryWrapper
();
blogTagQueryWrapper
.
eq
(
"blog_id"
,
blogId
);
blogTagService
.
list
(
blogTagQueryWrapper
);
List
<
BlogTag
>
blogTagList
=
blogTagService
.
list
(
blogTagQueryWrapper
);
String
[]
tagIds
=
blogTagList
.
stream
().
map
(
BlogTag:
:
getTagId
).
collect
(
Collectors
.
toList
()).
toArray
(
new
String
[
0
]);
ArrayList
<
String
>
blogTags
=
new
ArrayList
<>();
for
(
String
tagId
:
tagIds
)
{
blogTags
.
add
(
tagId
);
}
//装配并返回查询到的数据
BlogDetail
blogDetail
=
new
BlogDetail
();
BeanUtils
.
copyProperties
(
blog
,
blogDetail
);
blogDetail
.
setTagIds
(
blogTags
);
blogDetail
.
setContent
(
blogExt
.
getContent
());
return
blogDetail
;
}
@Override
public
IPage
<
Blog
>
getBlogPage
(
Integer
pageNumber
,
Integer
pageSize
)
{
IPage
<
Blog
>
page
=
new
Page
<>(
pageNumber
,
pageSize
);
return
page
(
page
);
}
@Override
public
IPage
<
Blog
>
getMyBlogPage
(
Integer
pageNumber
,
Integer
pageSize
,
String
userId
)
{
return
null
;
}
}
src/main/resources/application-prod.yml
View file @
b34bda33
...
...
@@ -3,7 +3,7 @@ spring:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://127.0.0.1:3306/beyond_clouds?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
username
:
root
password
:
1
00Centa30821%mysql
password
:
1
23123
swagger
:
enable
:
true
...
...
src/main/resources/application.yml
View file @
b34bda33
...
...
@@ -3,7 +3,7 @@ spring:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://127.0.0.1:3306/beyond_clouds?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
username
:
root
password
:
1
00Centa30821%mysql
password
:
1
23123
swagger
:
enable
:
true
...
...
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