Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
IEQEFCR
halo
提交
819c999d
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,发现更多精彩内容 >>
提交
819c999d
编写于
4月 24, 2019
作者:
J
johnniang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Build base structure of mixed entities
上级
df276066
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
255 addition
and
151 deletion
+255
-151
src/main/java/run/halo/app/model/entity/BaseComment.java
src/main/java/run/halo/app/model/entity/BaseComment.java
+138
-0
src/main/java/run/halo/app/model/entity/BasePost.java
src/main/java/run/halo/app/model/entity/BasePost.java
+2
-2
src/main/java/run/halo/app/model/entity/Comment.java
src/main/java/run/halo/app/model/entity/Comment.java
+5
-127
src/main/java/run/halo/app/model/entity/Journal.java
src/main/java/run/halo/app/model/entity/Journal.java
+1
-1
src/main/java/run/halo/app/model/entity/SheetComment.java
src/main/java/run/halo/app/model/entity/SheetComment.java
+16
-0
src/main/java/run/halo/app/repository/CommentRepository.java
src/main/java/run/halo/app/repository/CommentRepository.java
+5
-17
src/main/java/run/halo/app/repository/JournalRepository.java
src/main/java/run/halo/app/repository/JournalRepository.java
+2
-3
src/main/java/run/halo/app/repository/SheetCommentRepository.java
.../java/run/halo/app/repository/SheetCommentRepository.java
+14
-0
src/main/java/run/halo/app/repository/SheetRepository.java
src/main/java/run/halo/app/repository/SheetRepository.java
+1
-1
src/main/java/run/halo/app/repository/base/BaseCommentRepository.java
...a/run/halo/app/repository/base/BaseCommentRepository.java
+30
-0
src/main/java/run/halo/app/service/JournalService.java
src/main/java/run/halo/app/service/JournalService.java
+13
-0
src/main/java/run/halo/app/service/SheetCommentService.java
src/main/java/run/halo/app/service/SheetCommentService.java
+14
-0
src/main/java/run/halo/app/service/SheetService.java
src/main/java/run/halo/app/service/SheetService.java
+14
-0
未找到文件。
src/main/java/run/halo/app/model/entity/BaseComment.java
0 → 100644
浏览文件 @
819c999d
package
run.halo.app.model.entity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.ToString
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
run.halo.app.model.enums.CommentStatus
;
import
javax.persistence.*
;
/**
* Base comment entity.
*
* @author johnniang
*/
@Entity
(
name
=
"BaseComment"
)
@Table
(
name
=
"comments"
)
@SQLDelete
(
sql
=
"update comments set deleted = true where id = ?"
)
@Where
(
clause
=
"deleted = false"
)
@DiscriminatorColumn
(
name
=
"type"
,
discriminatorType
=
DiscriminatorType
.
INTEGER
,
columnDefinition
=
"int default 0"
)
@Data
@ToString
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
BaseComment
extends
BaseEntity
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
/**
* Commentator's name.
*/
@Column
(
name
=
"author"
,
columnDefinition
=
"varchar(50) not null"
)
private
String
author
;
/**
* Commentator's email.
*/
@Column
(
name
=
"email"
,
columnDefinition
=
"varchar(255) not null"
)
private
String
email
;
/**
* Commentator's ip address.
*/
@Column
(
name
=
"ip_address"
,
columnDefinition
=
"varchar(127) default ''"
)
private
String
ipAddress
;
/**
* Commentator's website.
*/
@Column
(
name
=
"author_url"
,
columnDefinition
=
"varchar(512) default ''"
)
private
String
authorUrl
;
/**
* Gavatar md5
*/
@Column
(
name
=
"gavatar_md5"
,
columnDefinition
=
"varchar(128) default ''"
)
private
String
gavatarMd5
;
/**
* Comment content.
*/
@Column
(
name
=
"content"
,
columnDefinition
=
"varchar(1023) not null"
)
private
String
content
;
/**
* Comment status.
*/
@Column
(
name
=
"status"
,
columnDefinition
=
"int default 1"
)
private
CommentStatus
status
;
/**
* Commentator's userAgent.
*/
@Column
(
name
=
"user_agent"
,
columnDefinition
=
"varchar(512) default ''"
)
private
String
userAgent
;
/**
* Is admin's comment.
*/
@Column
(
name
=
"is_admin"
,
columnDefinition
=
"tinyint default 0"
)
private
Boolean
isAdmin
;
/**
* Post id.
*/
@Column
(
name
=
"post_id"
,
columnDefinition
=
"int not null"
)
private
Integer
postId
;
/**
* Whether to top the comment.
*/
@Column
(
name
=
"top_priority"
,
columnDefinition
=
"int default 0"
)
private
Integer
topPriority
;
/**
* Parent comment.
*/
@Column
(
name
=
"parent_id"
,
columnDefinition
=
"bigint default 0"
)
private
Long
parentId
;
@Override
public
void
prePersist
()
{
super
.
prePersist
();
id
=
null
;
if
(
parentId
==
null
||
parentId
<
0
)
{
parentId
=
0L
;
}
if
(
ipAddress
==
null
)
{
ipAddress
=
""
;
}
if
(
authorUrl
==
null
)
{
authorUrl
=
""
;
}
if
(
gavatarMd5
==
null
)
{
gavatarMd5
=
""
;
}
if
(
status
==
null
)
{
status
=
CommentStatus
.
AUDITING
;
}
if
(
userAgent
==
null
)
{
userAgent
=
""
;
}
if
(
isAdmin
==
null
)
{
isAdmin
=
false
;
}
}
}
src/main/java/run/halo/app/model/entity/BasePost.java
浏览文件 @
819c999d
...
...
@@ -17,13 +17,13 @@ import java.util.Date;
*
* @author johnniang
*/
@Entity
(
name
=
"
base_p
ost"
)
@Entity
(
name
=
"
BaseP
ost"
)
@Table
(
name
=
"posts"
,
indexes
=
@Index
(
columnList
=
"url"
))
@SQLDelete
(
sql
=
"update posts set deleted = true where id = ?"
)
@Where
(
clause
=
"deleted = false"
)
@DiscriminatorColumn
(
name
=
"type"
,
discriminatorType
=
DiscriminatorType
.
INTEGER
,
columnDefinition
=
"int default 0"
)
@Data
@ToString
@ToString
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
BasePost
extends
BaseEntity
{
...
...
src/main/java/run/halo/app/model/entity/Comment.java
浏览文件 @
819c999d
package
run.halo.app.model.entity
;
import
run.halo.app.model.enums.CommentStatus
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.ToString
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
javax.persistence.*
;
import
javax.persistence.DiscriminatorValue
;
import
javax.persistence.Entity
;
/**
* Comment entity.
*
* @author johnniang
*/
@Entity
@Table
(
name
=
"comments"
)
@SQLDelete
(
sql
=
"update comments set deleted = true where id = ?"
)
@Where
(
clause
=
"deleted = false"
)
@Data
@ToString
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
Comment
extends
BaseEntity
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
/**
* Commentator's name.
*/
@Column
(
name
=
"author"
,
columnDefinition
=
"varchar(50) not null"
)
private
String
author
;
/**
* Commentator's email.
*/
@Column
(
name
=
"email"
,
columnDefinition
=
"varchar(255) not null"
)
private
String
email
;
/**
* Commentator's ip address.
*/
@Column
(
name
=
"ip_address"
,
columnDefinition
=
"varchar(127) default ''"
)
private
String
ipAddress
;
/**
* Commentator's website.
*/
@Column
(
name
=
"author_url"
,
columnDefinition
=
"varchar(512) default ''"
)
private
String
authorUrl
;
/**
* Gavatar md5
*/
@Column
(
name
=
"gavatar_md5"
,
columnDefinition
=
"varchar(128) default ''"
)
private
String
gavatarMd5
;
/**
* Comment content.
*/
@Column
(
name
=
"content"
,
columnDefinition
=
"varchar(1023) not null"
)
private
String
content
;
/**
* Comment status.
*/
@Column
(
name
=
"status"
,
columnDefinition
=
"int default 1"
)
private
CommentStatus
status
;
/**
* Commentator's userAgent.
*/
@Column
(
name
=
"user_agent"
,
columnDefinition
=
"varchar(512) default ''"
)
private
String
userAgent
;
/**
* Is admin's comment.
*/
@Column
(
name
=
"is_admin"
,
columnDefinition
=
"tinyint default 0"
)
private
Boolean
isAdmin
;
/**
* Post id.
*/
@Column
(
name
=
"post_id"
,
columnDefinition
=
"int not null"
)
private
Integer
postId
;
/**
* Whether to top the comment.
*/
@Column
(
name
=
"top_priority"
,
columnDefinition
=
"int default 0"
)
private
Integer
topPriority
;
/**
* Parent comment.
*/
@Column
(
name
=
"parent_id"
,
columnDefinition
=
"bigint default 0"
)
private
Long
parentId
;
@Override
public
void
prePersist
()
{
super
.
prePersist
();
id
=
null
;
if
(
parentId
==
null
||
parentId
<
0
)
{
parentId
=
0L
;
}
if
(
ipAddress
==
null
)
{
ipAddress
=
""
;
}
if
(
authorUrl
==
null
)
{
authorUrl
=
""
;
}
if
(
gavatarMd5
==
null
)
{
gavatarMd5
=
""
;
}
if
(
status
==
null
)
{
status
=
CommentStatus
.
AUDITING
;
}
if
(
userAgent
==
null
)
{
userAgent
=
""
;
}
if
(
isAdmin
==
null
)
{
isAdmin
=
false
;
}
}
@Entity
(
name
=
"Comment"
)
@DiscriminatorValue
(
"0"
)
public
class
Comment
extends
BaseComment
{
}
src/main/java/run/halo/app/model/entity/Journal.java
浏览文件 @
819c999d
...
...
@@ -11,6 +11,6 @@ import javax.persistence.Entity;
*/
@Entity
(
name
=
"Journal"
)
@DiscriminatorValue
(
"2"
)
public
class
Journal
extends
Base
Pos
t
{
public
class
Journal
extends
Base
Commen
t
{
}
src/main/java/run/halo/app/model/entity/SheetComment.java
0 → 100644
浏览文件 @
819c999d
package
run.halo.app.model.entity
;
import
javax.persistence.DiscriminatorValue
;
import
javax.persistence.Entity
;
/**
* Sheet comment.
*
* @author johnniang
* @date 19-4-24
*/
@Entity
(
name
=
"SheetComment"
)
@DiscriminatorValue
(
"1"
)
public
class
SheetComment
extends
BaseComment
{
}
src/main/java/run/halo/app/repository/CommentRepository.java
浏览文件 @
819c999d
package
run.halo.app.repository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
run.halo.app.model.entity.Comment
;
import
run.halo.app.model.enums.CommentStatus
;
import
run.halo.app.model.projection.CommentCountProjection
;
import
run.halo.app.repository.base.BaseRepository
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.lang.NonNull
;
import
org.springframework.lang.Nullable
;
import
run.halo.app.model.entity.Comment
;
import
run.halo.app.model.enums.CommentStatus
;
import
run.halo.app.model.projection.CommentCountProjection
;
import
run.halo.app.repository.base.BaseCommentRepository
;
import
java.util.List
;
...
...
@@ -19,17 +17,7 @@ import java.util.List;
* @author johnniang
* @date 3/21/19
*/
public
interface
CommentRepository
extends
BaseRepository
<
Comment
,
Long
>,
JpaSpecificationExecutor
<
Comment
>
{
/**
* Finds all comments by status.
*
* @param status status must not be null
* @param pageable page info must not be null
* @return a page of comment
*/
@NonNull
Page
<
Comment
>
findAllByStatus
(
@Nullable
CommentStatus
status
,
@NonNull
Pageable
pageable
);
public
interface
CommentRepository
extends
BaseCommentRepository
<
Comment
>
{
/**
* Finds all comments by post ids.
...
...
src/main/java/run/halo/app/repository/JournalRepository.java
浏览文件 @
819c999d
package
run.halo.app.repository
;
import
run.halo.app.model.entity.Journal
;
import
run.halo.app.repository.base.BasePostRepository
;
import
run.halo.app.repository.base.BasePostRepository
;
import
run.halo.app.repository.base.BaseCommentRepository
;
/**
* Journal repository.
...
...
@@ -10,6 +9,6 @@ import run.halo.app.repository.base.BasePostRepository;
* @author johnniang
* @date 3/22/19
*/
public
interface
JournalRepository
extends
Base
Pos
tRepository
<
Journal
>
{
public
interface
JournalRepository
extends
Base
Commen
tRepository
<
Journal
>
{
}
src/main/java/run/halo/app/repository/SheetCommentRepository.java
0 → 100644
浏览文件 @
819c999d
package
run.halo.app.repository
;
import
run.halo.app.model.entity.SheetComment
;
import
run.halo.app.repository.base.BaseCommentRepository
;
/**
* Sheet comment repository.
*
* @author johnniang
* @date 19-4-24
*/
public
interface
SheetCommentRepository
extends
BaseCommentRepository
<
SheetComment
>
{
}
src/main/java/run/halo/app/repository/SheetRepository.java
浏览文件 @
819c999d
...
...
@@ -4,7 +4,7 @@ import run.halo.app.model.entity.Sheet;
import
run.halo.app.repository.base.BasePostRepository
;
/**
*
Page
repository.
*
Sheet
repository.
*
* @author johnniang
* @date 3/22/19
...
...
src/main/java/run/halo/app/repository/base/BaseCommentRepository.java
0 → 100644
浏览文件 @
819c999d
package
run.halo.app.repository.base
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.lang.NonNull
;
import
org.springframework.lang.Nullable
;
import
run.halo.app.model.entity.BaseComment
;
import
run.halo.app.model.enums.CommentStatus
;
/**
* Base comment repository.
*
* @author johnniang
* @date 19-4-24
*/
public
interface
BaseCommentRepository
<
DOMAIN
extends
BaseComment
>
extends
BaseRepository
<
DOMAIN
,
Long
>,
JpaSpecificationExecutor
<
DOMAIN
>
{
/**
* Finds all comments by status.
*
* @param status status must not be null
* @param pageable page info must not be null
* @return a page of comment
*/
@NonNull
Page
<
DOMAIN
>
findAllByStatus
(
@Nullable
CommentStatus
status
,
@NonNull
Pageable
pageable
);
}
src/main/java/run/halo/app/service/JournalService.java
0 → 100644
浏览文件 @
819c999d
package
run.halo.app.service
;
import
run.halo.app.model.entity.Journal
;
import
run.halo.app.service.base.CrudService
;
/**
* Journal service interface.
*
* @author johnniang
* @date 19-4-24
*/
public
interface
JournalService
extends
CrudService
<
Journal
,
Long
>
{
}
src/main/java/run/halo/app/service/SheetCommentService.java
0 → 100644
浏览文件 @
819c999d
package
run.halo.app.service
;
import
run.halo.app.model.entity.SheetComment
;
import
run.halo.app.service.base.CrudService
;
/**
* Sheet comment service interface.
*
* @author johnniang
* @date 19-4-24
*/
public
interface
SheetCommentService
extends
CrudService
<
SheetComment
,
Long
>
{
}
src/main/java/run/halo/app/service/SheetService.java
0 → 100644
浏览文件 @
819c999d
package
run.halo.app.service
;
import
run.halo.app.model.entity.Sheet
;
import
run.halo.app.service.base.CrudService
;
/**
* Sheet service interface.
*
* @author johnniang
* @date 19-4-24
*/
public
interface
SheetService
extends
CrudService
<
Sheet
,
Integer
>
{
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录