Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
workflow-core
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄夏豪
workflow-core
Commits
2d7f2c96
提交
2d7f2c96
authored
3月 10, 2021
作者:
黄夏豪
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
为 workflow 的 entity 加上了@NoScan 注解
启动类里增加了 model扫描
上级
f9cd3177
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
73 行增加
和
118 行删除
+73
-118
WorkflowCoreRunner.java
src/main/java/com/tykj/workflowcore/WorkflowCoreRunner.java
+54
-0
ApiException.java
.../java/com/tykj/workflowcore/base/result/ApiException.java
+1
-1
GlobalExceptionHandler.java
...tykj/workflowcore/base/result/GlobalExceptionHandler.java
+1
-1
ModelService.java
...m/tykj/workflowcore/model_layer/service/ModelService.java
+2
-0
ModelImpl.java
...tykj/workflowcore/model_layer/service/impl/ModelImpl.java
+4
-1
FlowsInfo.java
...m/tykj/workflowcore/workflow_editer/entity/FlowsInfo.java
+2
-0
FormPage.java
...om/tykj/workflowcore/workflow_editer/entity/FormPage.java
+2
-0
NodePage.java
...om/tykj/workflowcore/workflow_editer/entity/NodePage.java
+2
-0
PageEntityVo.java
...ykj/workflowcore/workflow_editer/entity/PageEntityVo.java
+1
-0
SiteMessage.java
...tykj/workflowcore/workflow_editer/entity/SiteMessage.java
+2
-0
VariableStorage.java
.../workflowcore/workflow_editer/entity/VariableStorage.java
+2
-0
ResultObj.java
...com/tykj/workflowcore/workflow_editer/util/ResultObj.java
+0
-30
ResultUtil.java
...om/tykj/workflowcore/workflow_editer/util/ResultUtil.java
+0
-85
没有找到文件。
src/main/java/com/tykj/workflowcore/WorkflowCoreRunner.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
;
import
com.tykj.workflowcore.api.service.ApiService
;
import
com.tykj.workflowcore.model_layer.service.ModelService
;
import
liquibase.pro.packaged.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Component
;
import
java.io.File
;
import
java.io.IOException
;
import
java.net.URL
;
import
java.util.ArrayList
;
import
java.util.Enumeration
;
import
java.util.List
;
/**
* @author HuangXiahao
...
...
@@ -15,6 +24,9 @@ import java.io.File;
@Component
public
class
WorkflowCoreRunner
implements
CommandLineRunner
{
@Autowired
ModelService
modelService
;
@Bean
ClassLoader
initClassLoader
(){
return
getClass
().
getClassLoader
();
...
...
@@ -25,6 +37,7 @@ public class WorkflowCoreRunner implements CommandLineRunner {
System
.
out
.
println
(
"核心成功启动"
);
//创建xml文件夹 如果不存在的话
createXmlMkdir
();
modelService
.
swaggerScan
(
loadClassByLoader
(
this
.
getClass
().
getClassLoader
()));
}
public
void
createXmlMkdir
(){
...
...
@@ -34,6 +47,47 @@ public class WorkflowCoreRunner implements CommandLineRunner {
}
}
//通过loader加载所有类
private
List
<
Class
<?>>
loadClassByLoader
(
ClassLoader
load
)
{
List
<
Class
<?>>
classes
=
new
ArrayList
<>();
try
{
Enumeration
<
URL
>
urls
=
load
.
getResources
(
""
);
//放所有类型
while
(
urls
.
hasMoreElements
())
{
URL
url
=
urls
.
nextElement
();
//文件类型(其实是文件夹)
if
(
url
.
getProtocol
().
equals
(
"file"
))
{
loadClassByPath
(
null
,
url
.
getPath
(),
classes
,
load
);
}
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
classes
;
}
//通过文件路径加载所有类 root 主要用来替换path中前缀(除包路径以外的路径)
private
void
loadClassByPath
(
String
root
,
String
path
,
List
<
Class
<?>>
list
,
ClassLoader
load
)
{
File
f
=
new
File
(
path
);
if
(
root
==
null
)
root
=
f
.
getPath
();
//判断是否是class文件
if
(
f
.
isFile
()
&&
f
.
getName
().
matches
(
"^.*\\.class$"
))
{
try
{
String
classPath
=
f
.
getPath
();
//截取出className 将路径分割符替换为.(windows是\ linux、mac是/)
String
className
=
classPath
.
substring
(
root
.
length
()
+
1
,
classPath
.
length
()
-
6
).
replace
(
'/'
,
'.'
).
replace
(
'\\'
,
'.'
);
list
.
add
(
load
.
loadClass
(
className
));
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
}
}
else
{
File
[]
fs
=
f
.
listFiles
();
if
(
fs
==
null
)
return
;
for
(
File
file
:
fs
)
{
loadClassByPath
(
root
,
file
.
getPath
(),
list
,
load
);
}
}
}
}
src/main/java/com/tykj/workflowcore/
workflow_editer/util
/ApiException.java
→
src/main/java/com/tykj/workflowcore/
base/result
/ApiException.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
util
;
package
com
.
tykj
.
workflowcore
.
base
.
result
;
import
org.springframework.http.ResponseEntity
;
...
...
src/main/java/com/tykj/workflowcore/
workflow_editer/util
/GlobalExceptionHandler.java
→
src/main/java/com/tykj/workflowcore/
base/result
/GlobalExceptionHandler.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
util
;
package
com
.
tykj
.
workflowcore
.
base
.
result
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.HttpStatus
;
...
...
src/main/java/com/tykj/workflowcore/model_layer/service/ModelService.java
浏览文件 @
2d7f2c96
...
...
@@ -35,4 +35,6 @@ public interface ModelService {
TableVO
NewTable
(
TableVO
tableVO
);
int
putValueByEntityName
(
Map
<
String
,
Object
>
map
);
void
swaggerScan
(
List
<
Class
<?>>
classList
);
}
src/main/java/com/tykj/workflowcore/model_layer/service/impl/ModelImpl.java
浏览文件 @
2d7f2c96
...
...
@@ -240,7 +240,9 @@ public class ModelImpl implements ModelService {
newSession
.
close
();
}
public
void
SwaggerScan
(
Class
<?>
aClass
)
{
@Override
public
void
swaggerScan
(
List
<
Class
<?>>
classList
)
{
for
(
Class
<?>
aClass
:
classList
)
{
if
(!
aClass
.
isAnnotationPresent
(
WorkFlowCoreNoScan
.
class
))
{
if
(
aClass
.
isAnnotationPresent
(
Entity
.
class
))
{
TableInfo
tableInfo
=
new
TableInfo
();
...
...
@@ -324,4 +326,5 @@ public class ModelImpl implements ModelService {
}
}
}
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/entity/FlowsInfo.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
@@ -24,6 +25,7 @@ import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@WorkFlowCoreNoScan
@Api
(
"流程表"
)
public
class
FlowsInfo
{
@Id
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/entity/FormPage.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
com.tykj.workflowcore.workflow_editer.vo.InFormPageVo
;
import
com.tykj.workflowcore.workflow_editer.vo.OutFormPageVo
;
import
io.swagger.annotations.Api
;
...
...
@@ -24,6 +25,7 @@ import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@WorkFlowCoreNoScan
@Api
(
"表单页面"
)
public
class
FormPage
{
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/entity/NodePage.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
@@ -23,6 +24,7 @@ import javax.persistence.Id;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@WorkFlowCoreNoScan
@Api
(
"节点所在页面"
)
public
class
NodePage
{
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/entity/PageEntityVo.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/entity/SiteMessage.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
...
...
@@ -24,6 +25,7 @@ import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@WorkFlowCoreNoScan
@Api
(
"消息发送"
)
public
class
SiteMessage
{
@Id
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/entity/VariableStorage.java
浏览文件 @
2d7f2c96
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -22,6 +23,7 @@ import javax.persistence.Id;
@AllArgsConstructor
@NoArgsConstructor
@Entity
@WorkFlowCoreNoScan
public
class
VariableStorage
{
@Id
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/util/ResultObj.java
deleted
100644 → 0
浏览文件 @
f9cd3177
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
util
;
import
com.fasterxml.jackson.annotation.JsonPropertyOrder
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author dengdiyi
* @description 接口返回统一标准类
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonPropertyOrder
(
value
=
{
"message"
,
"data"
})
public
class
ResultObj
<
T
>
{
private
T
data
;
private
String
message
;
public
ResultObj
(
T
o
)
{
this
.
data
=
o
;
this
.
message
=
"no message"
;
}
public
ResultObj
(
String
m
)
{
this
.
message
=
m
;
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/util/ResultUtil.java
deleted
100644 → 0
浏览文件 @
f9cd3177
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
util
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
/**
* @author HuangXiahao
* @version V1.0
* @class ResultMessage
* @packageName com.example.hello.demo.resultObject
**/
public
class
ResultUtil
<
T
>
{
/**
* 成功返回结果
*
* @param data 获取的数据
*/
public
static
<
T
>
ResponseEntity
<
ResultObj
<
T
>>
success
(
T
data
,
String
message
)
{
return
ResponseEntity
.
ok
(
new
ResultObj
<>(
data
,
message
));
}
/**
* 成功返回结果
*
* @param data 获取的数据
*/
public
static
<
T
>
ResponseEntity
success
(
T
data
,
HttpHeaders
headers
)
{
return
new
ResponseEntity
(
new
ResultObj
(
data
),
headers
,
HttpStatus
.
OK
);
}
/**
* 失败返回结果
*/
public
static
<
T
>
ResponseEntity
failed
()
{
return
ResponseEntity
.
status
(
500
).
body
(
new
ResultObj
(
"服务器内部发生错误"
));
}
/**
* 失败返回结果
*/
public
static
<
T
>
ResponseEntity
failed
(
T
content
)
{
return
new
ResponseEntity
(
new
ResultObj
(
content
),
HttpStatus
.
INTERNAL_SERVER_ERROR
);
}
/**
* 失败返回结果
*/
public
static
<
T
>
ResponseEntity
failed
(
HttpStatus
httpStatus
)
{
return
new
ResponseEntity
(
httpStatus
);
}
/**
* 失败返回结果
*/
public
static
<
T
>
ResponseEntity
failed
(
HttpStatus
httpStatus
,
T
content
)
{
return
new
ResponseEntity
(
new
ResultObj
(
content
),
httpStatus
);
}
/**
* 参数验证失败返回结果
*/
public
static
<
T
>
ResponseEntity
validateFailed
(
T
content
)
{
return
failed
(
HttpStatus
.
INTERNAL_SERVER_ERROR
,
content
);
}
/**
* 未登录返回结果
*/
public
static
<
T
>
ResponseEntity
unauthorized
()
{
return
failed
(
HttpStatus
.
UNAUTHORIZED
);
}
/**
* 未授权返回结果
*/
public
static
<
T
>
ResponseEntity
forbidden
()
{
return
failed
(
HttpStatus
.
FORBIDDEN
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论