Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
personnelManager
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄夏豪
personnelManager
Commits
e4bcff1b
提交
e4bcff1b
authored
9月 21, 2020
作者:
黄夏豪
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
项目完善
上级
1a5f1bd9
隐藏空白字符变更
内嵌
并排
正在显示
31 个修改的文件
包含
210 行增加
和
36 行删除
+210
-36
PersonnelmanagerApplication.java
...example/personnelmanager/PersonnelmanagerApplication.java
+3
-0
CustomJwtAuthenticationFilter.java
...on/authencation/filter/CustomJwtAuthenticationFilter.java
+18
-14
JWTAuthorizationFilter.java
...er/common/authencation/filter/JWTAuthorizationFilter.java
+41
-0
PostController.java
...m/example/personnelmanager/controller/PostController.java
+1
-2
AgainEntryInformation.java
...xample/personnelmanager/entity/AgainEntryInformation.java
+8
-1
BecomeRegularWorkerInformation.java
...rsonnelmanager/entity/BecomeRegularWorkerInformation.java
+7
-1
Certificate.java
...java/com/example/personnelmanager/entity/Certificate.java
+5
-0
CertificateImage.java
...com/example/personnelmanager/entity/CertificateImage.java
+6
-0
Contract.java
...in/java/com/example/personnelmanager/entity/Contract.java
+5
-0
ContractImage.java
...va/com/example/personnelmanager/entity/ContractImage.java
+6
-0
EducationImage.java
...a/com/example/personnelmanager/entity/EducationImage.java
+6
-0
EducationalExperience.java
...xample/personnelmanager/entity/EducationalExperience.java
+5
-0
Enterprise.java
.../java/com/example/personnelmanager/entity/Enterprise.java
+6
-0
JobTransferInformation.java
...ample/personnelmanager/entity/JobTransferInformation.java
+8
-0
LeaveInformation.java
...com/example/personnelmanager/entity/LeaveInformation.java
+6
-0
LegalEntity.java
...java/com/example/personnelmanager/entity/LegalEntity.java
+6
-0
OrganizationNode.java
...com/example/personnelmanager/entity/OrganizationNode.java
+10
-2
People.java
...main/java/com/example/personnelmanager/entity/People.java
+3
-2
PeoplePost.java
.../java/com/example/personnelmanager/entity/PeoplePost.java
+4
-1
Post.java
src/main/java/com/example/personnelmanager/entity/Post.java
+10
-3
Title.java
src/main/java/com/example/personnelmanager/entity/Title.java
+6
-1
TitleContent.java
...ava/com/example/personnelmanager/entity/TitleContent.java
+4
-0
TitleImage.java
.../java/com/example/personnelmanager/entity/TitleImage.java
+7
-1
Urgent.java
...main/java/com/example/personnelmanager/entity/Urgent.java
+6
-0
User.java
src/main/java/com/example/personnelmanager/entity/User.java
+2
-0
UserAndEnterprise.java
...om/example/personnelmanager/entity/UserAndEnterprise.java
+4
-0
WorkExperience.java
...a/com/example/personnelmanager/entity/WorkExperience.java
+6
-0
WorkPlace.java
...n/java/com/example/personnelmanager/entity/WorkPlace.java
+6
-0
OrganizationNodeServiceImpl.java
...nnelmanager/service/impl/OrganizationNodeServiceImpl.java
+0
-3
application-prod.yml
src/main/resources/application-prod.yml
+2
-2
application.yml
src/main/resources/application.yml
+3
-3
没有找到文件。
src/main/java/com/example/personnelmanager/PersonnelmanagerApplication.java
浏览文件 @
e4bcff1b
...
...
@@ -8,12 +8,15 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import
org.springframework.boot.web.servlet.support.SpringBootServletInitializer
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
org.springframework.data.jpa.repository.config.EnableJpaAuditing
;
import
org.springframework.data.jpa.repository.config.EnableJpaRepositories
;
import
org.springframework.scheduling.annotation.EnableAsync
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
javax.persistence.EntityListeners
;
/**
* springBoot启动类
*
...
...
src/main/java/com/example/personnelmanager/common/authencation/filter/CustomJwtAuthenticationFilter.java
浏览文件 @
e4bcff1b
...
...
@@ -74,21 +74,25 @@ public class CustomJwtAuthenticationFilter extends
@Override
public
Authentication
attemptAuthentication
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
AuthenticationException
{
// JwtAuthencationToken authRequest ;
// User userByJwt;
// //如果请求头中没有jwt凭证的话说明不应该使用该类进行验证,直接报错
// if (!StringUtils.isEmpty(request.getHeader(JWT_KEY))) {
// //通过请求头获取jwt凭证中的用户信息
// userByJwt = getuserbyjwt(request);
// authRequest = new JwtAuthencationToken(
// userByJwt.getUsername().trim());
// //为用于验证的用户注入session信息
// setDetails(request, authRequest);
// //进行验证
// return getAuthenticationManager().authenticate(authRequest);
// } else {
// throw new GlobalException("未设置token");
// }
JwtAuthencationToken
authRequest
;
User
userByJwt
;
//如果请求头中没有jwt凭证的话说明不应该使用该类进行验证,直接报错
if
(!
StringUtils
.
isEmpty
(
request
.
getHeader
(
JWT_KEY
)))
{
//通过请求头获取jwt凭证中的用户信息
userByJwt
=
getuserbyjwt
(
request
);
authRequest
=
new
JwtAuthencationToken
(
userByJwt
.
getUsername
().
trim
());
//为用于验证的用户注入session信息
setDetails
(
request
,
authRequest
);
//进行验证
return
getAuthenticationManager
().
authenticate
(
authRequest
);
}
else
{
throw
new
GlobalException
(
"未设置token"
);
}
authRequest
=
new
JwtAuthencationToken
(
"admin"
);
return
getAuthenticationManager
().
authenticate
(
authRequest
);
}
/***
...
...
src/main/java/com/example/personnelmanager/common/authencation/filter/JWTAuthorizationFilter.java
0 → 100644
浏览文件 @
e4bcff1b
package
com
.
example
.
personnelmanager
.
common
.
authencation
.
filter
;
import
org.springframework.security.authentication.AuthenticationManager
;
import
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
;
import
org.springframework.security.core.authority.SimpleGrantedAuthority
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.security.web.AuthenticationEntryPoint
;
import
org.springframework.security.web.authentication.www.BasicAuthenticationFilter
;
import
javax.servlet.FilterChain
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.Collections
;
/**
* @author HuangXiahao
* @version V1.0
* @class JWTAuthorizationFilter
* @packageName com.example.personnelmanager.common.authencation.filter
**/
public
class
JWTAuthorizationFilter
extends
BasicAuthenticationFilter
{
public
JWTAuthorizationFilter
(
AuthenticationManager
authenticationManager
)
{
super
(
authenticationManager
);
}
@Override
protected
void
doFilterInternal
(
HttpServletRequest
request
,
HttpServletResponse
response
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
if
(
request
.
getHeader
(
"jwt"
)!=
null
){
System
.
out
.
println
(
"1"
);
}
// 如果请求头中有token,则进行解析,并且设置认证信息
SecurityContextHolder
.
getContext
().
setAuthentication
(
new
UsernamePasswordAuthenticationToken
(
"username"
,
null
,
Collections
.
singleton
(
new
SimpleGrantedAuthority
(
"ROLE_ADMIN"
))
));
super
.
doFilterInternal
(
request
,
response
,
chain
);
}
}
src/main/java/com/example/personnelmanager/controller/PostController.java
浏览文件 @
e4bcff1b
...
...
@@ -55,6 +55,5 @@ public class PostController {
public
ResultObj
updatePost
(
@Validated
(
GroupUpdate
.
class
)
@RequestBody
Post
post
){
return
new
ResultObj
(
postService
.
update
(
post
),
"success"
);
}
}
src/main/java/com/example/personnelmanager/entity/AgainEntryInformation.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,10 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.SQLDelete
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -24,6 +28,8 @@ import java.time.Instant;
@Table
(
name
=
"again_entry_information"
)
@ToString
(
exclude
=
{
"people"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
AgainEntryInformation
{
@Id
...
...
@@ -43,9 +49,10 @@ public class AgainEntryInformation {
@JoinColumn
(
name
=
"people_id"
,
columnDefinition
=
"bigint not null comment '人员编号'"
)
private
People
people
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间' "
)
private
Instant
createTime
;
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记'"
)
private
int
deleteTag
;
private
int
deleteTag
=
0
;
}
src/main/java/com/example/personnelmanager/entity/BecomeRegularWorkerInformation.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -24,6 +27,8 @@ import java.time.Instant;
@Table
(
name
=
"become_regular_worker_information"
)
@ToString
(
exclude
=
{
"people"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
BecomeRegularWorkerInformation
{
@Id
...
...
@@ -43,9 +48,10 @@ public class BecomeRegularWorkerInformation {
@JoinColumn
(
name
=
"people_id"
,
columnDefinition
=
"bigint not null comment '人员编号'"
)
private
People
people
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间' "
)
private
Instant
createTime
;
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记'"
)
private
int
deleteTag
;
private
int
deleteTag
=
0
;
}
src/main/java/com/example/personnelmanager/entity/Certificate.java
浏览文件 @
e4bcff1b
...
...
@@ -10,6 +10,8 @@ import lombok.ToString;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -24,6 +26,8 @@ import java.util.List;
@Table
(
name
=
"certificate"
)
@ToString
(
exclude
=
{
"people"
,
"enterprise"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
Certificate
{
@NotNull
(
groups
=
{
GroupUpdate
.
class
},
message
=
"编辑时编号不能为空"
)
...
...
@@ -45,6 +49,7 @@ public class Certificate {
@Column
(
name
=
"licensing_organization"
,
columnDefinition
=
"varchar(64) comment '发证机关'"
)
private
String
licensingOrganization
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间' "
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/CertificateImage.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"certificate_image"
)
@ToString
(
exclude
=
"certificate"
)
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
CertificateImage
{
@Id
...
...
@@ -31,6 +36,7 @@ public class CertificateImage {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/Contract.java
浏览文件 @
e4bcff1b
...
...
@@ -11,6 +11,8 @@ import lombok.ToString;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.Min
;
...
...
@@ -25,6 +27,8 @@ import java.util.List;
@Table
(
name
=
"contract"
)
@ToString
(
exclude
=
{
"people"
,
"enterprise"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
Contract
{
@Id
...
...
@@ -57,6 +61,7 @@ public class Contract {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '删除标记(0为正常,1为被删除)'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/ContractImage.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"contract_image"
)
@ToString
(
exclude
=
{
"contract"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
ContractImage
{
@Id
...
...
@@ -31,6 +36,7 @@ public class ContractImage {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间' "
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/EducationImage.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"education_image"
)
@ToString
(
exclude
=
{
"educationalExperience"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
EducationImage
{
@Id
...
...
@@ -31,6 +36,7 @@ public class EducationImage {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
" int default 0 comment '删除标记(0为正常,1为被删除)' "
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
" datetime comment '创建时间'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/EducationalExperience.java
浏览文件 @
e4bcff1b
...
...
@@ -7,6 +7,8 @@ import lombok.ToString;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -19,6 +21,8 @@ import java.util.List;
@Table
(
name
=
"educational_experience"
)
@ToString
(
exclude
=
{
"people"
,
"enterprise"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
EducationalExperience
{
@Id
...
...
@@ -44,6 +48,7 @@ public class EducationalExperience {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/Enterprise.java
浏览文件 @
e4bcff1b
...
...
@@ -7,6 +7,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.Max
;
...
...
@@ -21,6 +24,8 @@ import java.util.List;
@Table
(
name
=
"enterprise"
)
@ToString
(
exclude
=
{
"peoples"
,
"posts"
,
"workPlaces"
,
"organizationNodes"
,
"certificates"
,
"legalEntities"
,
"contracts"
,
"duties"
,
"educationalExperiences"
,
"titles"
,
"users"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
Enterprise
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1107313482047123539L
;
...
...
@@ -52,6 +57,7 @@ public class Enterprise implements Serializable {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
" datetime comment '删除标记(0为正常,1为被删除)'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/JobTransferInformation.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"job_transfer_information"
)
@ToString
(
exclude
=
{
"people"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
,
"people"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
JobTransferInformation
{
@Id
...
...
@@ -24,10 +29,12 @@ public class JobTransferInformation {
@Column
(
name
=
"transfer_id"
,
columnDefinition
=
"bigint comment '调岗记录编号' "
)
private
Long
transferId
;
@JsonProperty
(
access
=
JsonProperty
.
Access
.
WRITE_ONLY
)
@OneToOne
(
fetch
=
FetchType
.
LAZY
,
cascade
=
CascadeType
.
REFRESH
)
@JoinColumn
(
name
=
"before_Post_id"
,
nullable
=
false
,
columnDefinition
=
"bigint comment '换岗前岗位编号' "
)
private
Post
beforePost
;
@JsonProperty
(
access
=
JsonProperty
.
Access
.
WRITE_ONLY
)
@OneToOne
(
fetch
=
FetchType
.
LAZY
,
cascade
=
CascadeType
.
REFRESH
)
@JoinColumn
(
name
=
"after_Post_id"
,
columnDefinition
=
"bigint comment '换岗后岗位编号' "
)
private
Post
afterPost
;
...
...
@@ -39,6 +46,7 @@ public class JobTransferInformation {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
" datetime comment '删除标记(0为正常,1为被删除)'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/LeaveInformation.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"leave_information"
)
@ToString
(
exclude
=
{
"people"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
LeaveInformation
{
@Id
...
...
@@ -50,6 +55,7 @@ public class LeaveInformation {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
" datetime comment '删除标记(0为正常,1为被删除)'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/LegalEntity.java
浏览文件 @
e4bcff1b
...
...
@@ -11,6 +11,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.Max
;
...
...
@@ -24,6 +27,8 @@ import java.util.List;
@DynamicUpdate
@Table
(
name
=
"legal_entity"
)
@ToString
(
exclude
=
{
"enterprise"
,
"organizationNodes"
,
"organizationNodes"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
LegalEntity
{
@Max
(
value
=
0
,
groups
=
{
GroupSave
.
class
}
)
...
...
@@ -63,6 +68,7 @@ public class LegalEntity {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
" datetime comment '删除标记(0为正常,1为被删除)'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/OrganizationNode.java
浏览文件 @
e4bcff1b
...
...
@@ -4,11 +4,15 @@ import com.example.personnelmanager.common.validIGroup.GroupDelete;
import
com.example.personnelmanager.common.validIGroup.GroupGetOne
;
import
com.example.personnelmanager.common.validIGroup.GroupSave
;
import
com.example.personnelmanager.common.validIGroup.GroupUpdate
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.Max
;
...
...
@@ -23,6 +27,8 @@ import java.util.List;
@DynamicUpdate
@Table
(
name
=
"organization_node"
)
@ToString
(
exclude
=
{
"enterprise"
,
"posts"
,
"duties"
,
"legalEntity"
,
"legalEntity"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
OrganizationNode
{
@Max
(
value
=
0
,
groups
=
{
GroupSave
.
class
}
)
...
...
@@ -44,6 +50,7 @@ public class OrganizationNode {
@Column
(
name
=
"node_type"
,
columnDefinition
=
"varchar(32) comment '节点类型' "
)
private
String
nodeType
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
" datetime comment '删除标记(0为正常,1为被删除)'"
)
private
Instant
createTime
;
...
...
@@ -71,8 +78,9 @@ public class OrganizationNode {
@JoinColumn
(
name
=
"work_place_id"
,
columnDefinition
=
"bigint comment '工作地点编号'"
)
private
WorkPlace
workPlace
;
@JsonProperty
(
access
=
JsonProperty
.
Access
.
WRITE_ONLY
)
@OneToMany
(
cascade
=
CascadeType
.
REFRESH
,
mappedBy
=
"organizationNode"
)
// @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
@JsonIgnoreProperties
(
value
=
{
"organizationNode"
})
@OneToMany
(
cascade
=
CascadeType
.
REFRESH
)
private
List
<
Post
>
posts
;
@Transient
...
...
src/main/java/com/example/personnelmanager/entity/People.java
浏览文件 @
e4bcff1b
...
...
@@ -25,10 +25,11 @@ import java.util.List;
@Entity
@DynamicInsert
@DynamicUpdate
@EntityListeners
(
AuditingEntityListener
.
class
)
@Table
(
name
=
"people"
)
@ToString
(
exclude
=
{
"enterprise"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
,
"enterprise"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
People
{
@Id
...
...
@@ -141,7 +142,7 @@ public class People {
@Column
(
name
=
"trial_end_time"
,
columnDefinition
=
"datetime comment '试用结束时间'"
)
private
Date
trialEndTime
;
@Column
(
name
=
"delete
T
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
@Column
(
name
=
"delete
_t
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
private
int
deleteTag
=
0
;
@CreatedDate
...
...
src/main/java/com/example/personnelmanager/entity/PeoplePost.java
浏览文件 @
e4bcff1b
...
...
@@ -9,6 +9,8 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.Min
;
...
...
@@ -29,6 +31,7 @@ import java.io.Serializable;
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@ToString
(
exclude
=
{
"post"
})
@Data
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
PeoplePost
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1207408282047173539L
;
...
...
@@ -46,7 +49,7 @@ public class PeoplePost implements Serializable {
private
People
people
;
@NotNull
(
groups
=
{
GroupSave
.
class
})
@JsonIgnoreProperties
(
value
=
{
"enterprise"
})
@JsonIgnoreProperties
(
value
=
{
"enterprise"
,
"people"
})
@ManyToOne
(
cascade
={
CascadeType
.
MERGE
,
CascadeType
.
REFRESH
},
optional
=
false
)
@JoinColumn
(
name
=
"post_id"
)
private
Post
post
;
...
...
src/main/java/com/example/personnelmanager/entity/Post.java
浏览文件 @
e4bcff1b
...
...
@@ -8,18 +8,24 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
import
java.time.Instant
;
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@ToString
(
exclude
=
{
"enterprise"
})
@Table
(
name
=
"post"
)
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
,
"enterprise"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
,
"enterprise"
,
"organizationNode.posts"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
Post
{
@Id
...
...
@@ -37,6 +43,7 @@ public class Post {
@Column
(
name
=
"node_level"
,
nullable
=
false
,
columnDefinition
=
"text comment '所属节点等级 例如0.1.4.5 具体解释请参考组织节点表,本属性与组织节点表同步,在此处添加该属性主要目的是为了增加查询'"
)
private
String
nodeLevel
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间' "
)
private
Instant
createTime
;
...
...
@@ -44,7 +51,7 @@ public class Post {
@Column
(
name
=
"post_introduction"
,
columnDefinition
=
"text comment '岗位简介' "
)
private
String
postIntroduction
;
@Column
(
name
=
"delete
T
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
@Column
(
name
=
"delete
_t
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
private
int
deleteTag
;
@JsonProperty
(
access
=
JsonProperty
.
Access
.
WRITE_ONLY
)
...
...
@@ -54,7 +61,7 @@ public class Post {
// @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
@JsonIgnoreProperties
(
value
=
{
"posts"
}
,
allowSetters
=
true
)
@JsonIgnoreProperties
(
value
=
{
"posts"
})
@NotNull
(
groups
=
{
GroupSave
.
class
,
GroupUpdate
.
class
},
message
=
"无所属节点编号"
)
@ManyToOne
(
cascade
={
CascadeType
.
REFRESH
})
@JoinColumn
(
name
=
"node_id"
,
columnDefinition
=
"bigint comment '所属节点'"
)
...
...
src/main/java/com/example/personnelmanager/entity/Title.java
浏览文件 @
e4bcff1b
...
...
@@ -7,6 +7,8 @@ import lombok.ToString;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -19,6 +21,8 @@ import java.util.List;
@Table
(
name
=
"title"
)
@ToString
(
exclude
=
{
"people"
,
"enterprise"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
Title
{
@Id
...
...
@@ -39,9 +43,10 @@ public class Title {
private
Instant
titleObtainDate
;
@Where
(
clause
=
"delete_tag = 0"
)
@Column
(
name
=
"delete
T
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
@Column
(
name
=
"delete
_t
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间' "
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/TitleContent.java
浏览文件 @
e4bcff1b
...
...
@@ -3,6 +3,8 @@ package com.example.personnelmanager.entity;
import
lombok.Data
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
...
...
@@ -18,6 +20,8 @@ import javax.persistence.*;
@DynamicUpdate
@Table
(
name
=
"title_comtemt"
)
@Data
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
TitleContent
{
@Id
...
...
src/main/java/com/example/personnelmanager/entity/TitleImage.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"title_image"
)
@ToString
(
exclude
=
{
"title"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
TitleImage
{
@Id
...
...
@@ -28,9 +33,10 @@ public class TitleImage {
@Column
(
name
=
"url"
,
columnDefinition
=
"text comment '图片地址' "
)
private
String
url
;
@Column
(
name
=
"delete
T
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
@Column
(
name
=
"delete
_t
ag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)' "
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间' "
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/Urgent.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"urgent"
)
@ToString
(
exclude
=
{
"people"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
Urgent
{
@Id
...
...
@@ -39,6 +44,7 @@ public class Urgent {
@Column
(
name
=
"delete_tag"
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)'"
)
private
int
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_date"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/User.java
浏览文件 @
e4bcff1b
...
...
@@ -7,6 +7,7 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.springframework.data.annotation.CreatedDate
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -37,6 +38,7 @@ public class User {
@Column
(
name
=
"password"
,
nullable
=
false
,
columnDefinition
=
"varchar(255) comment '密码'"
)
private
String
password
;
@CreatedDate
@Column
(
name
=
"create_date"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间'"
)
private
Instant
createDate
;
...
...
src/main/java/com/example/personnelmanager/entity/UserAndEnterprise.java
浏览文件 @
e4bcff1b
...
...
@@ -3,6 +3,8 @@ package com.example.personnelmanager.entity;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.io.Serializable
;
...
...
@@ -20,6 +22,8 @@ import java.io.Serializable;
@DynamicInsert
@Table
(
name
=
"user_enterprise"
)
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
UserAndEnterprise
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1207408297047174539L
;
...
...
src/main/java/com/example/personnelmanager/entity/WorkExperience.java
浏览文件 @
e4bcff1b
...
...
@@ -6,6 +6,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.time.Instant
;
...
...
@@ -17,6 +20,8 @@ import java.time.Instant;
@Table
(
name
=
"work_experience"
)
@ToString
(
exclude
=
{
"people"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
WorkExperience
{
@Id
...
...
@@ -48,6 +53,7 @@ public class WorkExperience {
@Column
(
name
=
"delete_tag"
,
nullable
=
false
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)'"
)
private
long
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_date"
,
nullable
=
false
,
columnDefinition
=
"datetime comment '创建时间'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/entity/WorkPlace.java
浏览文件 @
e4bcff1b
...
...
@@ -9,6 +9,9 @@ import lombok.Data;
import
lombok.ToString
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
org.hibernate.annotations.Where
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -22,6 +25,8 @@ import java.util.List;
@Table
(
name
=
"work_place"
)
@ToString
(
exclude
=
{
"enterprise"
,
"organizationNodes"
})
@JsonIgnoreProperties
(
value
={
"hibernateLazyInitializer"
,
"handler"
,
"fieldHandler"
})
@EntityListeners
(
AuditingEntityListener
.
class
)
@Where
(
clause
=
"delete_tag = 0"
)
public
class
WorkPlace
{
@Id
...
...
@@ -50,6 +55,7 @@ public class WorkPlace {
@Column
(
name
=
"delete_tag"
,
columnDefinition
=
"int default 0 comment '删除标记(0为正常,1为被删除)'"
)
private
long
deleteTag
;
@CreatedDate
@Column
(
name
=
"create_time"
,
columnDefinition
=
"datetime comment '创建时间'"
)
private
Instant
createTime
;
...
...
src/main/java/com/example/personnelmanager/service/impl/OrganizationNodeServiceImpl.java
浏览文件 @
e4bcff1b
...
...
@@ -26,9 +26,6 @@ import java.util.stream.Collectors;
/**
* @author HuangXiahao
* @version V1.0
* @class OrganizationNodeServiceOmpl
* @packageName com.example.personnelmanager.service
* @data 2020/5/15
**/
...
...
src/main/resources/application-prod.yml
浏览文件 @
e4bcff1b
...
...
@@ -4,8 +4,8 @@
# 文件存储路径
file
:
imagePath
:
/opt/jar/workbench/personnel/image
otherDir
:
/opt/jar/workbench/personnel/other
imagePath
:
/opt/jar/workbench/personnel/image
/
otherDir
:
/opt/jar/workbench/personnel/other
/
jwtFilePath
:
/opt/jar/workbench/personnel/other/rsa
center
:
...
...
src/main/resources/application.yml
浏览文件 @
e4bcff1b
...
...
@@ -4,13 +4,13 @@ server:
spring
:
# 服务名
application
:
name
:
personnel
name
:
人员管理系统
profiles
:
active
:
prod
datasource
:
url
:
jdbc:mysql://124.70.194.194:3306/PersonnelManager?
serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
url
:
jdbc:mysql://124.70.194.194:3306/PersonnelManager?
useSSL=false&serverTimezone=UTC&characterEncoding=utf-8
password
:
root
username
:
root
username
:
canal
driver-class-name
:
com.mysql.jdbc.Driver
hikari
:
auto-commit
:
false
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论