Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
workflow-core
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄夏豪
workflow-core
Commits
fd198f07
提交
fd198f07
authored
3月 09, 2021
作者:
黄承天
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
api模块
字段名调整 api调用接口补充
上级
c3cbe18c
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
55 行增加
和
7 行删除
+55
-7
ApiController.java
...a/com/tykj/workflowcore/api/controller/ApiController.java
+9
-1
ApiInfo.java
src/main/java/com/tykj/workflowcore/api/entity/ApiInfo.java
+1
-1
ClassInfo.java
...main/java/com/tykj/workflowcore/api/entity/ClassInfo.java
+1
-1
EntityInfo.java
...ain/java/com/tykj/workflowcore/api/entity/EntityInfo.java
+1
-1
InvokeRequest.java
.../java/com/tykj/workflowcore/api/entity/InvokeRequest.java
+20
-0
Parameter.java
...main/java/com/tykj/workflowcore/api/entity/Parameter.java
+10
-1
ApiService.java
...in/java/com/tykj/workflowcore/api/service/ApiService.java
+13
-2
没有找到文件。
src/main/java/com/tykj/workflowcore/api/controller/ApiController.java
浏览文件 @
fd198f07
package
com
.
tykj
.
workflowcore
.
api
.
controller
;
package
com
.
tykj
.
workflowcore
.
api
.
controller
;
import
com.tykj.workflowcore.api.entity.ClassInfo
;
import
com.tykj.workflowcore.api.entity.ClassInfo
;
import
com.tykj.workflowcore.api.entity.InvokeRequest
;
import
com.tykj.workflowcore.api.service.ApiService
;
import
com.tykj.workflowcore.api.service.ApiService
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.List
;
...
@@ -19,8 +22,13 @@ public class ApiController {
...
@@ -19,8 +22,13 @@ public class ApiController {
}
}
@GetMapping
@GetMapping
public
ResponseEntity
<
List
<
ClassInfo
>>
findAll
(){
public
ResponseEntity
<
List
<
ClassInfo
>>
findAll
()
{
return
ResponseEntity
.
ok
(
apiService
.
findAll
());
return
ResponseEntity
.
ok
(
apiService
.
findAll
());
}
}
@PostMapping
public
void
invoke
(
@RequestBody
InvokeRequest
invokeRequest
)
{
apiService
.
invoke
(
invokeRequest
.
getClassName
(),
invokeRequest
.
getName
(),
invokeRequest
.
getParams
());
}
}
}
src/main/java/com/tykj/workflowcore/api/entity/ApiInfo.java
浏览文件 @
fd198f07
...
@@ -12,7 +12,7 @@ import java.util.List;
...
@@ -12,7 +12,7 @@ import java.util.List;
@NoArgsConstructor
@NoArgsConstructor
public
class
ApiInfo
{
public
class
ApiInfo
{
private
String
n
ame
;
private
String
classN
ame
;
private
List
<
EntityInfo
>
params
;
private
List
<
EntityInfo
>
params
;
...
...
src/main/java/com/tykj/workflowcore/api/entity/ClassInfo.java
浏览文件 @
fd198f07
...
@@ -11,7 +11,7 @@ import java.util.List;
...
@@ -11,7 +11,7 @@ import java.util.List;
@NoArgsConstructor
@NoArgsConstructor
public
class
ClassInfo
{
public
class
ClassInfo
{
private
String
n
ame
;
private
String
classN
ame
;
private
List
<
ApiInfo
>
apiInfos
;
private
List
<
ApiInfo
>
apiInfos
;
...
...
src/main/java/com/tykj/workflowcore/api/entity/EntityInfo.java
浏览文件 @
fd198f07
...
@@ -11,7 +11,7 @@ import java.util.List;
...
@@ -11,7 +11,7 @@ import java.util.List;
@NoArgsConstructor
@NoArgsConstructor
public
class
EntityInfo
{
public
class
EntityInfo
{
private
String
typ
e
;
private
String
classNam
e
;
private
String
name
;
private
String
name
;
...
...
src/main/java/com/tykj/workflowcore/api/entity/InvokeRequest.java
0 → 100644
浏览文件 @
fd198f07
package
com
.
tykj
.
workflowcore
.
api
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
InvokeRequest
{
private
String
className
;
private
String
name
;
private
List
<
Parameter
>
params
;
}
src/main/java/com/tykj/workflowcore/api/entity/Parameter.java
浏览文件 @
fd198f07
...
@@ -4,13 +4,22 @@ import lombok.AllArgsConstructor;
...
@@ -4,13 +4,22 @@ import lombok.AllArgsConstructor;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.Map
;
@Data
@Data
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
public
class
Parameter
{
public
class
Parameter
{
/**
* 类名
*/
private
String
className
;
private
String
className
;
private
Object
obj
;
/**
* Map形式的实例对象
* key为字段名 value为字段值
*/
private
Map
<
String
,
Object
>
instance
;
}
}
src/main/java/com/tykj/workflowcore/api/service/ApiService.java
浏览文件 @
fd198f07
package
com
.
tykj
.
workflowcore
.
api
.
service
;
package
com
.
tykj
.
workflowcore
.
api
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.tykj.workflowcore.api.annotations.Callable
;
import
com.tykj.workflowcore.api.annotations.Callable
;
import
com.tykj.workflowcore.api.annotations.CallableApi
;
import
com.tykj.workflowcore.api.annotations.CallableApi
;
import
com.tykj.workflowcore.api.entity.ApiInfo
;
import
com.tykj.workflowcore.api.entity.ApiInfo
;
...
@@ -7,6 +8,7 @@ import com.tykj.workflowcore.api.entity.ClassInfo;
...
@@ -7,6 +8,7 @@ import com.tykj.workflowcore.api.entity.ClassInfo;
import
com.tykj.workflowcore.api.entity.EntityInfo
;
import
com.tykj.workflowcore.api.entity.EntityInfo
;
import
com.tykj.workflowcore.api.entity.Parameter
;
import
com.tykj.workflowcore.api.entity.Parameter
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.io.File
;
import
java.io.File
;
...
@@ -134,7 +136,7 @@ public class ApiService {
...
@@ -134,7 +136,7 @@ public class ApiService {
Method
method
=
clz
.
getMethod
(
apiName
,
parameterTypes
);
Method
method
=
clz
.
getMethod
(
apiName
,
parameterTypes
);
Object
bean
=
springBeanService
.
getBean
(
clz
);
Object
bean
=
springBeanService
.
getBean
(
clz
);
Object
[]
params
=
parameters
.
stream
()
Object
[]
params
=
parameters
.
stream
()
.
map
(
Parameter:
:
getObj
)
.
map
(
parameter
->
toBean
(
parameter
.
getInstance
(),
getClass
(
parameter
.
getClassName
()))
)
.
toArray
();
.
toArray
();
return
method
.
invoke
(
bean
,
params
);
return
method
.
invoke
(
bean
,
params
);
}
catch
(
RuntimeException
|
NoSuchMethodException
|
IllegalAccessException
|
InvocationTargetException
e
)
{
}
catch
(
RuntimeException
|
NoSuchMethodException
|
IllegalAccessException
|
InvocationTargetException
e
)
{
...
@@ -193,4 +195,12 @@ public class ApiService {
...
@@ -193,4 +195,12 @@ public class ApiService {
}
}
}
}
}
}
}
/**
* 把map转成指定类型的JavaBean对象
*/
public
static
<
T
>
T
toBean
(
Map
<
String
,
Object
>
map
,
Class
<
T
>
clazz
)
{
return
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
clazz
);
}
}
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论