Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
E
entity-to-db-doc
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhangjunyong
entity-to-db-doc
Commits
1b2faeeb
Commit
1b2faeeb
authored
Apr 17, 2023
by
June
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
v3
parent
bd88cfc2
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
80 additions
and
36 deletions
+80
-36
pom.xml
pom.xml
+1
-1
AssessmentAccessTokenDO.java
...ssessment/model/entity/mongo/AssessmentAccessTokenDO.java
+1
-1
AssessmentCallbackConfigDO.java
...ssment/model/entity/mongo/AssessmentCallbackConfigDO.java
+1
-1
AssessmentConfigDO.java
...oud/assessment/model/entity/mongo/AssessmentConfigDO.java
+1
-1
AssessmentInfoDO.java
...cloud/assessment/model/entity/mongo/AssessmentInfoDO.java
+1
-1
AssessmentQuestionBackDO.java
...sessment/model/entity/mongo/AssessmentQuestionBackDO.java
+1
-1
AssessmentReportDO.java
...oud/assessment/model/entity/mongo/AssessmentReportDO.java
+1
-1
EffectReport.java
...ent/model/entity/mongo/effect/component/EffectReport.java
+1
-1
LifeStyleReportDO.java
...ment/model/entity/mongo/life/style/LifeStyleReportDO.java
+1
-1
LifeStyleReportSchemeDO.java
...odel/entity/mongo/life/style/LifeStyleReportSchemeDO.java
+1
-1
LifeStyleReportSchemeDetailDO.java
...ntity/mongo/life/style/LifeStyleReportSchemeDetailDO.java
+1
-1
LifeStyleReportSchemeStageDO.java
...entity/mongo/life/style/LifeStyleReportSchemeStageDO.java
+1
-1
DeveloperAppInfo2MongoDO.java
...basedata/model/entity/mongo/DeveloperAppInfo2MongoDO.java
+3
-2
Starter.java
src/main/java/com/june/entitytodbdoc/Starter.java
+5
-4
ClassUtils.java
src/main/java/com/june/entitytodbdoc/utils/ClassUtils.java
+11
-5
FileUtils.java
src/main/java/com/june/entitytodbdoc/utils/FileUtils.java
+1
-1
GetClassCommentUtils.java
...va/com/june/entitytodbdoc/utils/GetClassCommentUtils.java
+26
-8
JarPathAndPackageMapping.java
...om/june/entitytodbdoc/utils/JarPathAndPackageMapping.java
+5
-0
MarkdownUtils.java
...main/java/com/june/entitytodbdoc/utils/MarkdownUtils.java
+17
-4
No files found.
pom.xml
View file @
1b2faeeb
...
...
@@ -44,7 +44,7 @@
<dependency>
<groupId>
com.jiankangyouyi.cloud
</groupId>
<artifactId>
health-cloud-motor-plan-api
</artifactId>
<version>
2.2-TK-SNAPSHOT
</version>
<version>
2.2
.1
-TK-SNAPSHOT
</version>
<exclusions>
<exclusion>
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/AssessmentAccessTokenDO.java
View file @
1b2faeeb
...
...
@@ -62,7 +62,7 @@ public class AssessmentAccessTokenDO implements Serializable {
private
String
appId
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/AssessmentCallbackConfigDO.java
View file @
1b2faeeb
...
...
@@ -52,7 +52,7 @@ public class AssessmentCallbackConfigDO implements Serializable {
private
String
appId
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/AssessmentConfigDO.java
View file @
1b2faeeb
...
...
@@ -61,7 +61,7 @@ public class AssessmentConfigDO {
private
String
configName
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/AssessmentInfoDO.java
View file @
1b2faeeb
...
...
@@ -26,7 +26,7 @@ public class AssessmentInfoDO extends BaseMongoEntity {
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
@Indexed
(
unique
=
true
)
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/AssessmentQuestionBackDO.java
View file @
1b2faeeb
...
...
@@ -48,7 +48,7 @@ public class AssessmentQuestionBackDO extends BaseMongoEntity {
private
String
configId
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/AssessmentReportDO.java
View file @
1b2faeeb
...
...
@@ -61,7 +61,7 @@ public class AssessmentReportDO extends BaseMongoEntity {
private
String
tokenId
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/effect/component/EffectReport.java
View file @
1b2faeeb
...
...
@@ -31,7 +31,7 @@ public class EffectReport implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/life/style/LifeStyleReportDO.java
View file @
1b2faeeb
...
...
@@ -75,7 +75,7 @@ public class LifeStyleReportDO implements Serializable {
private
String
reportId
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/life/style/LifeStyleReportSchemeDO.java
View file @
1b2faeeb
...
...
@@ -79,7 +79,7 @@ public class LifeStyleReportSchemeDO implements Serializable {
private
String
schemeId
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/life/style/LifeStyleReportSchemeDetailDO.java
View file @
1b2faeeb
...
...
@@ -70,7 +70,7 @@ public class LifeStyleReportSchemeDetailDO implements Serializable {
private
String
createDate
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/assessment/model/entity/mongo/life/style/LifeStyleReportSchemeStageDO.java
View file @
1b2faeeb
...
...
@@ -88,7 +88,7 @@ public class LifeStyleReportSchemeStageDO implements Serializable {
private
String
schemeStageId
;
/**
* 业务类型
,见《开放平台业务类型设计.xlsx》
* 业务类型
*/
private
String
bizType
;
...
...
src/main/java/com/jiankangyouyi/cloud/basedata/model/entity/mongo/DeveloperAppInfo2MongoDO.java
View file @
1b2faeeb
...
...
@@ -16,13 +16,14 @@
package
com
.
jiankangyouyi
.
cloud
.
basedata
.
model
.
entity
.
mongo
;
import
lombok.*
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
org.bson.types.ObjectId
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.mongodb.core.mapping.Document
;
/**
*
developer app information
*
开发者应用信息
*
* @author wangyalei
*/
...
...
src/main/java/com/june/entitytodbdoc/Starter.java
View file @
1b2faeeb
...
...
@@ -5,6 +5,7 @@ import com.june.entitytodbdoc.utils.FileUtils;
import
com.june.entitytodbdoc.utils.GetClassCommentUtils
;
import
com.june.entitytodbdoc.utils.MarkdownUtils
;
import
java.util.Arrays
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Optional
;
...
...
@@ -18,10 +19,10 @@ import java.util.stream.Collectors;
public
class
Starter
{
public
static
void
main
(
String
[]
args
)
{
String
beanFilePath
=
"D:\\work\\idea\\june\\entity-to-db-doc\\entity-to-db-doc\\src\\main\\java\\com\\jiankangyouyi\\cloud\\basedata
"
;
List
<
String
>
javaFilePaths
=
FileUtils
.
findJavaFilePaths
(
beanFilePath
);
// List<String> javaFilePaths = Arrays.asList("D:\\work\\idea\\june\\entity-to-db-doc\\entity-to-db-doc\\src\\main\\java\\com\\june\\entitytodbdoc\\entity\\mongo\\food\\FoodProcess
DO.java");
//
String beanFilePath =
// "D:\\work\\idea\\june\\entity-to-db-doc\\entity-to-db-doc\\src\\main\\java\\com\\jiankangyouyi\\cloud
";
//
List<String> javaFilePaths = FileUtils.findJavaFilePaths(beanFilePath);
List
<
String
>
javaFilePaths
=
Arrays
.
asList
(
"D:\\work\\idea\\june\\entity-to-db-doc\\entity-to-db-doc\\src\\main\\java\\com\\jiankangyouyi\\cloud\\motorplan\\model\\entity\\mongo\\ExerciseCoursePlan
DO.java"
);
// 获取所有的 markdown 内容
List
<
String
>
resultContentList
=
javaFilePaths
.
parallelStream
().
map
(
GetClassCommentUtils:
:
execute
)
...
...
src/main/java/com/june/entitytodbdoc/utils/ClassUtils.java
View file @
1b2faeeb
...
...
@@ -29,12 +29,18 @@ public class ClassUtils {
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
null
;
return
null
;
}
try
{
ParameterizedType
parameterizedType
=
(
ParameterizedType
)
field
.
getGenericType
();
Type
[]
typeArguments
=
parameterizedType
.
getActualTypeArguments
();
Class
<?>
type
=
(
Class
<?>)
typeArguments
[
0
];
return
type
.
getName
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
out
.
printf
(
"获取泛型报错:%s-%s"
,
fullClassName
,
field
);
return
null
;
}
ParameterizedType
parameterizedType
=
(
ParameterizedType
)
field
.
getGenericType
();
Type
[]
typeArguments
=
parameterizedType
.
getActualTypeArguments
();
Class
<?>
type
=
(
Class
<?>)
typeArguments
[
0
];
return
type
.
getName
();
}
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/com/june/entitytodbdoc/utils/FileUtils.java
View file @
1b2faeeb
...
...
@@ -27,7 +27,7 @@ public class FileUtils {
}
for
(
File
file
:
files
)
{
String
absolutePath
=
file
.
getAbsolutePath
();
if
(
file
.
isFile
()
&&
absolutePath
.
toLowerCase
().
endsWith
(
"do
.java"
)
&&
absolutePath
.
contains
(
"jiankangyouyi"
))
{
if
(
file
.
isFile
()
&&
absolutePath
.
endsWith
(
"
.java"
)
&&
absolutePath
.
contains
(
"jiankangyouyi"
))
{
javaFilePaths
.
add
(
absolutePath
);
}
else
if
(
file
.
isDirectory
())
{
javaFilePaths
.
addAll
(
findJavaFilePaths
(
absolutePath
));
...
...
src/main/java/com/june/entitytodbdoc/utils/GetClassCommentUtils.java
View file @
1b2faeeb
...
...
@@ -9,6 +9,7 @@ import com.sun.tools.javadoc.Main;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.File
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
...
...
@@ -74,7 +75,15 @@ public class GetClassCommentUtils {
private
static
ClassDoc
getInnerClassDoc
(
String
beanFilePath
)
{
if
(!
beanFilePath
.
contains
(
"$"
))
{
return
getClassDoc
(
beanFilePath
);
// 判斷文件是否存在
if
(!
new
File
(
beanFilePath
).
exists
())
{
// 替换掉 最后 一个 \ 为 $
int
lastIndex
=
beanFilePath
.
lastIndexOf
(
"\\"
);
beanFilePath
=
beanFilePath
.
substring
(
0
,
lastIndex
)
+
"$"
+
beanFilePath
.
substring
(
lastIndex
+
1
);
return
getInnerClassDoc
(
beanFilePath
);
}
ClassDoc
classDoc
=
getClassDoc
(
beanFilePath
);
return
classDoc
;
}
Matcher
matcher
=
PATTERN
.
matcher
(
beanFilePath
);
if
(!
matcher
.
matches
())
{
...
...
@@ -110,9 +119,15 @@ public class GetClassCommentUtils {
if
(
field
.
isTransient
()
||
field
.
isFinal
())
{
continue
;
}
DocumentInfoDTO
.
FieldInfoDTO
fieldInfoDTO
=
new
DocumentInfoDTO
.
FieldInfoDTO
(
field
.
name
(),
field
.
type
().
typeName
(),
get
RealField
Comment
(
field
.
commentText
()));
DocumentInfoDTO
.
FieldInfoDTO
fieldInfoDTO
=
new
DocumentInfoDTO
.
FieldInfoDTO
(
field
.
name
(),
field
.
type
().
typeName
(),
get
FirstLine
Comment
(
field
.
commentText
()));
// 判断是否是自己创建的类型
String
fieldClassFullName
=
field
.
type
().
qualifiedTypeName
();
String
fieldClassTypeName
=
field
.
type
().
typeName
();
// 说明是子类
if
(
fieldClassTypeName
.
contains
(
"."
)
&&
!
fieldClassFullName
.
contains
(
"$"
))
{
int
lastIndex
=
fieldClassFullName
.
lastIndexOf
(
"."
);
fieldClassFullName
=
fieldClassFullName
.
substring
(
0
,
lastIndex
)
+
"$"
+
fieldClassFullName
.
substring
(
lastIndex
+
1
);
}
if
(
fieldClassFullName
.
endsWith
(
"ArticleOptionInfo"
))
{
fieldInfoDTO
.
setChildrenFieldList
(
getArticleOptionInfoFieldInfo
());
}
else
if
(
isSelfClass
(
fieldClassFullName
))
{
...
...
@@ -147,7 +162,7 @@ public class GetClassCommentUtils {
* @param fieldClassFullName 类全名
* @return 是否是Collection的子类
*/
private
static
boolean
isCollection
(
String
fieldClassFullName
){
private
static
boolean
isCollection
(
String
fieldClassFullName
)
{
try
{
return
Collection
.
class
.
isAssignableFrom
(
Class
.
forName
(
fieldClassFullName
));
}
catch
(
ClassNotFoundException
e
)
{
...
...
@@ -156,11 +171,11 @@ public class GetClassCommentUtils {
}
private
static
String
get
RealFieldComment
(
String
comment
)
{
if
(!(
comment
.
contains
(
"@"
)
&&
comment
.
contains
(
"\n"
)))
{
return
comment
.
replace
(
"\n"
,
""
);
private
static
String
get
FirstLineComment
(
String
comment
)
{
if
(!
comment
.
contains
(
"\n"
))
{
return
comment
.
replace
(
"\n"
,
""
);
}
return
comment
.
substring
(
0
,
comment
.
indexOf
(
"\n"
));
return
comment
.
substring
(
0
,
comment
.
indexOf
(
"\n"
));
}
/**
...
...
@@ -248,6 +263,9 @@ public class GetClassCommentUtils {
);
private
static
DocumentInfoDTO
getDocumentMainInfo
(
ClassDoc
classDoc
)
{
if
(
Objects
.
isNull
(
classDoc
))
{
return
null
;
}
AnnotationDesc
[]
annotations
=
classDoc
.
annotations
();
// 注释为空 return
if
(
ArrayUtils
.
isEmpty
(
annotations
))
{
...
...
@@ -257,7 +275,7 @@ public class GetClassCommentUtils {
.
filter
(
ann
->
DOCUMENT_AND_NAME
.
contains
(
ann
.
annotationType
().
qualifiedTypeName
()))
.
map
(
ann
->
ann
.
elementValues
()[
0
].
value
().
toString
().
replaceAll
(
"\""
,
""
))
.
findFirst
();
return
documentNameOptional
.
map
(
s
->
new
DocumentInfoDTO
(
s
,
classDoc
.
commentText
(
))).
orElse
(
null
);
return
documentNameOptional
.
map
(
s
->
new
DocumentInfoDTO
(
s
,
getFirstLineComment
(
classDoc
.
commentText
()
))).
orElse
(
null
);
}
}
\ No newline at end of file
src/main/java/com/june/entitytodbdoc/utils/JarPathAndPackageMapping.java
View file @
1b2faeeb
...
...
@@ -21,6 +21,11 @@ public class JarPathAndPackageMapping {
static
{
mappingJar
(
"com.jiankangyouyi.cloud.basedata.api"
,
"health-cloud-base-data-api-2.2-TK-SNAPSHOT-sources"
);
mappingJar
(
"com.jiankangyouyi.cloud.assessment.api"
,
"health-cloud-assessment-api-1.1-TK-SNAPSHOT-sources"
);
mappingJar
(
"com.jiankangyouyi.cloud.data.center.api"
,
"health-cloud-data-center-api-2.2.1.1-TK-SNAPSHOT-sources"
);
mappingJar
(
"com.jiankangyouyi.cloud.food_match.api"
,
"food-match-api-2.2.2-TK-SNAPSHOT-sources"
);
mappingJar
(
"com.jiankangyouyi.cloud.motorplan.api"
,
"health-cloud-motor-plan-api-2.2.1-TK-SNAPSHOT-sources"
);
mappingJar
(
"com.jiankangyouyi.cloud.iot.api"
,
"health-cloud-iot-data-api-1.0-TK-SNAPSHOT-sources"
);
}
private
static
void
mappingJar
(
String
packageName
,
String
path
)
{
...
...
src/main/java/com/june/entitytodbdoc/utils/MarkdownUtils.java
View file @
1b2faeeb
...
...
@@ -63,16 +63,29 @@ public class MarkdownUtils {
}
}
private
static
List
<
String
>
CAN_NOT_IN_TITLE_NAMES
=
Arrays
.
asList
(
",可以为空"
);
private
static
String
getTitleName
(
String
titleName
)
{
for
(
String
canNotInTitleName
:
CAN_NOT_IN_TITLE_NAMES
)
{
if
(
titleName
.
contains
(
canNotInTitleName
))
{
titleName
=
titleName
.
replace
(
canNotInTitleName
,
""
);
}
}
return
titleName
;
}
/**
* 获取一个字段的内容
*
* @param field 字段
* @return {@link String}
*/
public
static
String
getOneFieldContent
(
DocumentInfoDTO
.
FieldInfoDTO
field
){
public
static
String
getOneFieldContent
(
DocumentInfoDTO
.
FieldInfoDTO
field
)
{
return
CollectionUtils
.
isEmpty
(
field
.
getChildrenFieldList
())
?
String
.
format
(
"|%s|%s|%s|"
,
field
.
getFieldName
(),
field
.
getFieldType
(),
field
.
getDescribe
())
:
String
.
format
(
"|%s|[%s](#%s)|[%s](#%s)|"
,
field
.
getFieldName
(),
field
.
getFieldType
(),
field
.
getFiledId
(),
field
.
getDescribe
(),
field
.
getFiledId
());
?
String
.
format
(
"|%s|%s|%s|"
,
field
.
getFieldName
(),
field
.
getFieldType
(),
field
.
getDescribe
())
:
String
.
format
(
"|%s|[%s](#%s)|[%s](#%s)|"
,
field
.
getFieldName
(),
field
.
getFieldType
(),
field
.
getFiledId
(),
field
.
getDescribe
(),
field
.
getFiledId
());
}
...
...
@@ -125,7 +138,7 @@ public class MarkdownUtils {
return
Arrays
.
asList
(
getIndexDiv
(
field
.
getFiledId
()),
""
,
String
.
format
(
"%s %s (%s)"
,
titleLevelStr
,
fieldDescribe
,
field
.
getFieldName
())
String
.
format
(
"%s %s (%s)"
,
titleLevelStr
,
getTitleName
(
fieldDescribe
)
,
field
.
getFieldName
())
);
}
...
...
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