Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
IEQEFCR
halo
提交
ee299d68
H
halo
项目概览
IEQEFCR
/
halo
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
halo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ee299d68
编写于
5月 26, 2019
作者:
RYAN0UP
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Complete markdown import service.
上级
7c9f8b01
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
109 addition
and
3 deletion
+109
-3
src/main/java/run/halo/app/repository/CategoryRepository.java
...main/java/run/halo/app/repository/CategoryRepository.java
+8
-0
src/main/java/run/halo/app/repository/TagRepository.java
src/main/java/run/halo/app/repository/TagRepository.java
+7
-0
src/main/java/run/halo/app/service/CategoryService.java
src/main/java/run/halo/app/service/CategoryService.java
+8
-0
src/main/java/run/halo/app/service/PostService.java
src/main/java/run/halo/app/service/PostService.java
+1
-1
src/main/java/run/halo/app/service/TagService.java
src/main/java/run/halo/app/service/TagService.java
+8
-0
src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java
...n/java/run/halo/app/service/impl/CategoryServiceImpl.java
+5
-0
src/main/java/run/halo/app/service/impl/PostServiceImpl.java
src/main/java/run/halo/app/service/impl/PostServiceImpl.java
+66
-2
src/main/java/run/halo/app/service/impl/TagServiceImpl.java
src/main/java/run/halo/app/service/impl/TagServiceImpl.java
+6
-0
未找到文件。
src/main/java/run/halo/app/repository/CategoryRepository.java
浏览文件 @
ee299d68
...
...
@@ -36,4 +36,12 @@ public interface CategoryRepository extends BaseRepository<Category, Integer> {
* @return Optional of Category
*/
Optional
<
Category
>
getBySlugName
(
@NonNull
String
slugName
);
/**
* Get category by name.
*
* @param name name
* @return Optional of Category
*/
Optional
<
Category
>
getByName
(
@NonNull
String
name
);
}
src/main/java/run/halo/app/repository/TagRepository.java
浏览文件 @
ee299d68
...
...
@@ -29,4 +29,11 @@ public interface TagRepository extends BaseRepository<Tag, Integer> {
* @return Tag
*/
Optional
<
Tag
>
getBySlugName
(
@NonNull
String
slugName
);
/**
* Get tag by name
* @param name name
* @return Tag
*/
Optional
<
Tag
>
getByName
(
@NonNull
String
name
);
}
src/main/java/run/halo/app/service/CategoryService.java
浏览文件 @
ee299d68
...
...
@@ -36,6 +36,14 @@ public interface CategoryService extends CrudService<Category, Integer> {
@NonNull
Category
getBySlugName
(
@NonNull
String
slugName
);
/**
* Get Category by name.
*
* @param name name
* @return Category
*/
Category
getByName
(
@NonNull
String
name
);
/**
* Removes category and post categories.
*
...
...
src/main/java/run/halo/app/service/PostService.java
浏览文件 @
ee299d68
...
...
@@ -104,7 +104,7 @@ public interface PostService extends BasePostService<Post> {
* @return imported post
*/
@NonNull
Post
importMarkdown
(
@NonNull
String
markdown
);
Post
DetailVO
importMarkdown
(
@NonNull
String
markdown
);
/**
* Export post to markdown file by post id.
...
...
src/main/java/run/halo/app/service/TagService.java
浏览文件 @
ee299d68
...
...
@@ -25,6 +25,14 @@ public interface TagService extends CrudService<Tag, Integer> {
@NonNull
Tag
getBySlugNameOfNonNull
(
@NonNull
String
slugName
);
/**
* Get tag by tag name.
*
* @param name name
* @return Tag
*/
Tag
getByName
(
@NonNull
String
name
);
/**
* Converts to tag dto.
*
...
...
src/main/java/run/halo/app/service/impl/CategoryServiceImpl.java
浏览文件 @
ee299d68
...
...
@@ -154,6 +154,11 @@ public class CategoryServiceImpl extends AbstractCrudService<Category, Integer>
return
categoryRepository
.
getBySlugName
(
slugName
).
orElseThrow
(()
->
new
NotFoundException
(
"The Category does not exist"
).
setErrorData
(
slugName
));
}
@Override
public
Category
getByName
(
String
name
)
{
return
categoryRepository
.
getByName
(
name
).
orElse
(
null
);
}
@Override
public
void
removeCategoryAndPostCategoryBy
(
Integer
categoryId
)
{
// Remove category
...
...
src/main/java/run/halo/app/service/impl/PostServiceImpl.java
浏览文件 @
ee299d68
package
run.halo.app.service.impl
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.text.StrBuilder
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -29,6 +30,7 @@ import run.halo.app.service.*;
import
run.halo.app.utils.DateUtils
;
import
run.halo.app.utils.MarkdownUtils
;
import
run.halo.app.utils.ServiceUtils
;
import
run.halo.app.utils.SlugUtils
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
...
...
@@ -275,7 +277,7 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
}
@Override
public
Post
importMarkdown
(
String
markdown
)
{
public
Post
DetailVO
importMarkdown
(
String
markdown
)
{
Assert
.
notNull
(
markdown
,
"Markdown document must not be null"
);
// Render markdown to html document.
...
...
@@ -284,7 +286,69 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
// Gets frontMatter
Map
<
String
,
List
<
String
>>
frontMatter
=
MarkdownUtils
.
getFrontMatter
(
markdown
);
return
null
;
Post
post
=
new
Post
();
List
<
String
>
elementValue
;
Set
<
Integer
>
tagIds
=
new
HashSet
<>();
Set
<
Integer
>
categoryIds
=
new
HashSet
<>();
if
(
frontMatter
.
size
()
>
0
)
{
for
(
String
key
:
frontMatter
.
keySet
())
{
elementValue
=
frontMatter
.
get
(
key
);
for
(
String
ele
:
elementValue
)
{
switch
(
key
)
{
case
"title"
:
post
.
setTitle
(
ele
);
break
;
case
"date"
:
post
.
setCreateTime
(
DateUtil
.
parse
(
ele
));
break
;
case
"updated"
:
post
.
setUpdateTime
(
DateUtil
.
parse
(
ele
));
break
;
case
"permalink"
:
post
.
setUrl
(
ele
);
break
;
case
"thumbnail"
:
post
.
setThumbnail
(
ele
);
break
;
case
"status"
:
post
.
setStatus
(
PostStatus
.
valueOf
(
ele
));
break
;
case
"comments"
:
post
.
setDisallowComment
(
Boolean
.
parseBoolean
(
ele
));
break
;
case
"tags"
:
Tag
tag
=
tagService
.
getByName
(
ele
);
if
(
null
==
tag
)
{
tag
=
new
Tag
();
tag
.
setName
(
ele
);
tag
.
setSlugName
(
SlugUtils
.
slugify
(
ele
));
tag
=
tagService
.
create
(
tag
);
}
tagIds
.
add
(
tag
.
getId
());
case
"categories"
:
Category
category
=
categoryService
.
getByName
(
ele
);
if
(
null
==
category
)
{
category
=
new
Category
();
category
.
setName
(
ele
);
category
.
setSlugName
(
SlugUtils
.
slugify
(
ele
));
category
.
setDescription
(
ele
);
category
=
categoryService
.
create
(
category
);
}
categoryIds
.
add
(
category
.
getId
());
default
:
break
;
}
}
}
}
post
.
setOriginalContent
(
markdown
);
post
.
setFormatContent
(
content
);
return
createBy
(
post
,
tagIds
,
categoryIds
,
false
);
}
@Override
...
...
src/main/java/run/halo/app/service/impl/TagServiceImpl.java
浏览文件 @
ee299d68
...
...
@@ -60,6 +60,12 @@ public class TagServiceImpl extends AbstractCrudService<Tag, Integer> implements
return
tagRepository
.
getBySlugName
(
slugName
).
orElseThrow
(()
->
new
NotFoundException
(
"The tag does not exist"
).
setErrorData
(
slugName
));
}
@Override
public
Tag
getByName
(
String
name
)
{
return
tagRepository
.
getByName
(
name
).
orElse
(
null
);
}
@Override
public
TagDTO
convertTo
(
Tag
tag
)
{
Assert
.
notNull
(
tag
,
"Tag must not be null"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录