Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
api-service-gateway
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
朱允伟
api-service-gateway
Commits
367a8be4
Commit
367a8be4
authored
Oct 09, 2021
by
朱允伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://git.zorkdata.com/zhuyunwei/api-service
parents
955e418e
9fe5c751
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
114 additions
and
225 deletions
+114
-225
api-service-project/api-service-application/src/main/java/com/zorkdata/apiservice/application/application/ApiApplication.java
...ta/apiservice/application/application/ApiApplication.java
+22
-5
api-service-project/api-service-application/src/main/java/com/zorkdata/apiservice/application/impl/ApiServiceApplicationImpl.java
...piservice/application/impl/ApiServiceApplicationImpl.java
+47
-54
api-service-project/api-service-application/src/main/java/com/zorkdata/apiservice/application/schedule/FetchAllUserFromAuthSchedule.java
...ce/application/schedule/FetchAllUserFromAuthSchedule.java
+1
-1
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/assembler/ApiAssembler.java
...om/zorkdata/apiservice/domain/assembler/ApiAssembler.java
+6
-6
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/domain/Api.java
.../main/java/com/zorkdata/apiservice/domain/domain/Api.java
+0
-1
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/repository/ApiAuthRepository.java
...kdata/apiservice/domain/repository/ApiAuthRepository.java
+2
-6
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/repository/ApiRepository.java
.../zorkdata/apiservice/domain/repository/ApiRepository.java
+9
-6
api-service-project/api-service-facade/src/main/java/com/zorkdata/apiservice/facade/facade/ApiFacade.java
...java/com/zorkdata/apiservice/facade/facade/ApiFacade.java
+22
-11
api-service-project/api-service-web/src/main/java/com/zorkdata/apiservice/WebApplication.java
...src/main/java/com/zorkdata/apiservice/WebApplication.java
+0
-3
api-service-project/api-service-web/src/main/java/com/zorkdata/apiservice/config/bean/ServiceBeanConfiguration.java
...data/apiservice/config/bean/ServiceBeanConfiguration.java
+0
-119
api-service-project/api-service-web/src/main/java/com/zorkdata/apiservice/controller/ApiServicueController.java
...zorkdata/apiservice/controller/ApiServicueController.java
+5
-13
No files found.
api-service-project/api-service-application/src/main/java/com/zorkdata/apiservice/application/application/ApiApplication.java
View file @
367a8be4
...
...
@@ -9,7 +9,6 @@ import com.zorkdata.apiservice.domain.dto.ApiGroupDTO;
import
com.zorkdata.dddlib.core.sdk.InvokeResult
;
import
org.springframework.data.domain.Page
;
import
java.util.Date
;
import
java.util.Map
;
/**
...
...
@@ -22,6 +21,7 @@ public interface ApiApplication {
* 添加接口分组
*
* @param apiGroupDTO
* @param username
* @return
*/
InvokeResult
addGroup
(
ApiGroupDTO
apiGroupDTO
,
String
username
);
...
...
@@ -58,6 +58,8 @@ public interface ApiApplication {
* 保存Api接口
*
* @param apiDTO
* @param username
* @param userid
* @return
*/
Api
addApi
(
ApiDTO
apiDTO
,
String
username
,
Integer
userid
);
...
...
@@ -74,6 +76,7 @@ public interface ApiApplication {
* 添加接口授权
*
* @param apiAuthDTO
* @param username
* @return
*/
ApiAuth
addAuth
(
ApiAuthDTO
apiAuthDTO
,
String
username
);
...
...
@@ -81,6 +84,7 @@ public interface ApiApplication {
/**
* 判断接口是否授权
*
* @param apiAuthDTO
* @return
*/
Integer
selectUserId
(
ApiAuthDTO
apiAuthDTO
);
...
...
@@ -121,15 +125,23 @@ public interface ApiApplication {
* 新增注册Api
*
* @param apiDTO
* @param username
* @param userid
* @return
*/
Api
registApi
(
ApiDTO
apiDTO
,
String
username
,
Integer
userid
);
/**
* 查询我创建的Api
*
* @param userId
* @param groupId
* @param keyword
* @param pageNo
* @param pageSize
* @param sortField
* @param sortType
* @param sourceWay
* @param datasource
* @return
*/
InvokeResult
getMyApi
(
Integer
userId
,
String
groupId
,
String
keyword
,
Integer
pageNo
,
Integer
pageSize
,
String
sortField
,
String
sortType
,
String
sourceWay
,
String
datasource
);
...
...
@@ -137,23 +149,28 @@ public interface ApiApplication {
/**
* 查询市场api
*
* @param keyword
* @param pageNo
* @param pageSize
* @param sortField
* @param sortType
* @param startTime
* @param endTime
* @return
*/
InvokeResult
listMarketApi
(
String
keyword
,
Integer
pageNo
,
Integer
pageSize
,
String
sortField
,
String
sortType
,
Long
startTime
,
Long
endTime
);
/**
* 查看我授权的Api
*
*
@param username
* @param pageNo
* @param pageSize
* @param sortField
* @param sortType
* @param startTime
* @param endTime
* @param keyword
* @param userid
* @return
*/
InvokeResult
listMyAuth
(
String
username
,
Integer
pageNo
,
Integer
pageSize
,
String
sortField
,
String
sortType
,
Long
startTime
,
Long
endTime
,
String
keyword
,
Integer
userid
);
...
...
@@ -170,9 +187,9 @@ public interface ApiApplication {
/**
* 接口执行的通用方法
*
* @param apiName
* @param inParam
* @param username
* @return
*/
InvokeResult
executeApi
(
String
apiName
,
Map
<
String
,
String
>
inParam
,
String
username
);
...
...
api-service-project/api-service-application/src/main/java/com/zorkdata/apiservice/application/impl/ApiServiceApplicationImpl.java
View file @
367a8be4
...
...
@@ -28,7 +28,6 @@ import com.zorkdata.dddlib.core.sdk.InvokeResult;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.time.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -47,7 +46,6 @@ import javax.persistence.criteria.Predicate;
import
java.sql.*
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
import
java.util.*
;
...
...
@@ -95,6 +93,10 @@ public class ApiServiceApplicationImpl implements ApiApplication {
private
final
int
PAGE_ABLE
=
1
;
public
static
final
String
PATH_VARIABLE
=
"pathVariable"
;
public
static
final
String
QUERY_VARIABLE
=
"queryVariable"
;
private
static
final
String
NULL
=
"null"
;
private
static
final
Integer
TWO
=
2
;
private
static
final
String
SLASH
=
"/"
;
private
static
final
String
ANDTWO
=
"&"
;
@Autowired
...
...
@@ -150,8 +152,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
InvokeResult
invokeResult
;
apiGroup
.
setId
(
id
);
try
{
//删除接口分组
//查询该id的分组是否存在parentId,如果没有可以删除,如果存在不能删除
//删除接口分组,查询该id的分组是否存在parentId,如果没有可以删除,如果存在不能删除
Integer
byGroupId
=
apiGroupRepository
.
findByGroupId
(
id
);
Integer
count
=
apiGroupRepository
.
selectParentId
(
id
);
if
(
count
.
equals
(
0
)
&&
byGroupId
.
equals
(
0
))
{
...
...
@@ -310,8 +311,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
InvokeResult
invokeResult
;
api
.
setId
(
id
);
try
{
//删除接口分组
//查询该id的分组是否存在parentId,如果没有可以删除,如果存在不能删除
//删除接口分组,查询该id的分组是否存在parentId,如果没有可以删除,如果存在不能删除
Integer
count
=
apiRepository
.
selectCountFromId
(
id
);
if
(
count
>
0
)
{
apiRepository
.
delete
(
api
);
...
...
@@ -550,7 +550,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
Page
<
Api
>
all
=
apiRepository
.
findAll
(
specification
,
pageable
);
List
<
Api
>
content
=
all
.
getContent
();
long
totalElements
=
all
.
getTotalElements
();
List
<
ApiDTO
>
apiDTO
S
=
new
ArrayList
<>();
List
<
ApiDTO
>
apiDTO
=
new
ArrayList
<>();
content
.
forEach
(
item
->
{
ApiDTO
apiDtO
=
new
ApiDTO
();
String
str
=
item
.
getRequestParam
();
...
...
@@ -568,13 +568,13 @@ public class ApiServiceApplicationImpl implements ApiApplication {
apiDtO
.
setReturnType
(
item
.
getReturnType
());
apiDtO
.
setRequestParam
(
requestParamDTOList
);
apiDtO
.
setPage
(
item
.
getPage
());
apiDTO
S
.
add
(
apiDtO
);
apiDTO
.
add
(
apiDtO
);
});
QueryResultDTO
queryResult
=
new
QueryResultDTO
();
queryResult
.
setPageNum
(
pageNo
);
queryResult
.
setPageSize
(
pageSize
);
queryResult
.
setTotalNum
((
int
)
totalElements
);
queryResult
.
setData
(
apiDTO
S
);
queryResult
.
setData
(
apiDTO
);
invokeResult
=
InvokeResult
.
success
(
queryResult
,
"查询市场api成功!"
);
return
invokeResult
;
}
...
...
@@ -597,7 +597,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
String
end
=
simpleDateFormat
.
format
(
date2
);
Integer
count
=
apiRepository
.
listMyAuthCount
(
keyword
,
userid
,
start
,
end
);
apis
=
apiRepository
.
listMyAuth
(
keyword
,
sortType
,
sortField
,
pageNo
-
1
,
pageSize
,
userid
,
start
,
end
);
List
<
ApiDTO
>
apiDTO
S
=
new
ArrayList
<>();
List
<
ApiDTO
>
apiDTO
=
new
ArrayList
<>();
apis
.
forEach
(
item
->
{
ApiDTO
apiDtO
=
new
ApiDTO
();
String
str
=
item
.
getRequestParam
();
...
...
@@ -615,19 +615,19 @@ public class ApiServiceApplicationImpl implements ApiApplication {
apiDtO
.
setReturnType
(
item
.
getReturnType
());
apiDtO
.
setRequestParam
(
requestParamDTOList
);
apiDtO
.
setPage
(
item
.
getPage
());
apiDTO
S
.
add
(
apiDtO
);
apiDTO
.
add
(
apiDtO
);
});
QueryResultDTO
queryResult
=
new
QueryResultDTO
();
queryResult
.
setPageNum
(
pageNo
);
queryResult
.
setPageSize
(
pageSize
);
queryResult
.
setTotalNum
(
count
);
queryResult
.
setData
(
apiDTO
S
);
queryResult
.
setData
(
apiDTO
);
invokeResult
=
InvokeResult
.
success
(
queryResult
,
"查询市场api成功!"
);
return
invokeResult
;
}
else
{
Integer
count
=
apiRepository
.
listMyAuthTwoCount
(
keyword
,
userid
);
apis
=
apiRepository
.
listMyAuthTwo
(
keyword
,
sortType
,
sortField
,
pageNo
-
1
,
pageSize
,
userid
);
List
<
ApiDTO
>
apiDTO
S
=
new
ArrayList
<>();
List
<
ApiDTO
>
apiDTO
=
new
ArrayList
<>();
apis
.
forEach
(
item
->
{
ApiDTO
apiDtO
=
new
ApiDTO
();
String
str
=
item
.
getRequestParam
();
...
...
@@ -645,13 +645,13 @@ public class ApiServiceApplicationImpl implements ApiApplication {
apiDtO
.
setReturnType
(
item
.
getReturnType
());
apiDtO
.
setRequestParam
(
requestParamDTOList
);
apiDtO
.
setPage
(
item
.
getPage
());
apiDTO
S
.
add
(
apiDtO
);
apiDTO
.
add
(
apiDtO
);
});
QueryResultDTO
queryResult
=
new
QueryResultDTO
();
queryResult
.
setPageNum
(
pageNo
);
queryResult
.
setPageSize
(
pageSize
);
queryResult
.
setTotalNum
(
count
);
queryResult
.
setData
(
apiDTO
S
);
queryResult
.
setData
(
apiDTO
);
invokeResult
=
InvokeResult
.
success
(
queryResult
,
"查询市场api成功!"
);
return
invokeResult
;
}
...
...
@@ -675,10 +675,10 @@ public class ApiServiceApplicationImpl implements ApiApplication {
}
//获取白名单,判断是否是白名单
String
users
=
apiRepository
.
findWhiteList
(
apiId
);
List
<
WhiteListDTO
>
whiteListDTO
S
=
JSON
.
parseArray
(
users
,
WhiteListDTO
.
class
);
if
(
whiteListDTO
S
.
size
()
!=
0
)
{
for
(
int
i
=
0
;
i
<
whiteListDTO
S
.
size
();
i
++)
{
WhiteListDTO
user
=
whiteListDTO
S
.
get
(
i
);
List
<
WhiteListDTO
>
whiteListDTO
=
JSON
.
parseArray
(
users
,
WhiteListDTO
.
class
);
if
(
whiteListDTO
.
size
()
!=
0
)
{
for
(
int
i
=
0
;
i
<
whiteListDTO
.
size
();
i
++)
{
WhiteListDTO
user
=
whiteListDTO
.
get
(
i
);
Integer
id
=
user
.
getId
();
// 判断是否是白名单
if
(
userId
.
equals
(
id
))
{
...
...
@@ -776,6 +776,8 @@ public class ApiServiceApplicationImpl implements ApiApplication {
case
SQLSERVER_TYPE:
invokeResult
=
executeSqlServerApi
(
api
,
dataSource
,
inParam
);
break
;
default
:
break
;
}
}
else
{
invokeResult
=
executeCommonApi
(
api
,
inParam
);
...
...
@@ -813,11 +815,11 @@ public class ApiServiceApplicationImpl implements ApiApplication {
boolean
pageAble
=
PAGE_ABLE
==
page
?
true
:
false
;
String
returnParamStr
=
api
.
getReturnParam
();
JSONArray
returnParamJ
SON
Array
=
JSONArray
.
parseArray
(
returnParamStr
);
List
<
ReturnParam
>
returnParams
=
returnParamJ
SON
Array
.
toJavaList
(
ReturnParam
.
class
);
JSONArray
returnParamJ
son
Array
=
JSONArray
.
parseArray
(
returnParamStr
);
List
<
ReturnParam
>
returnParams
=
returnParamJ
son
Array
.
toJavaList
(
ReturnParam
.
class
);
String
requestParamStr
=
api
.
getRequestParam
();
JSONArray
requestParamJ
SON
Array
=
JSONArray
.
parseArray
(
requestParamStr
);
List
<
RequestParam
>
requestParams
=
requestParamJ
SON
Array
.
toJavaList
(
RequestParam
.
class
);
JSONArray
requestParamJ
son
Array
=
JSONArray
.
parseArray
(
requestParamStr
);
List
<
RequestParam
>
requestParams
=
requestParamJ
son
Array
.
toJavaList
(
RequestParam
.
class
);
if
(!
checkParams
(
requestParams
,
inParam
,
pageAble
,
pageParamDTO
))
{
invokeResult
=
InvokeResult
.
fail
();
invokeResult
.
setMessage
(
"["
+
apiName
+
"]的接口参数校验不通过!"
);
...
...
@@ -911,7 +913,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
try
{
Connection
connection
=
hikariDataSource
.
getConnection
();
if
(
pageAble
)
{
invokeResult
=
M
ySqlPageQuery
(
countSql
,
querySql
,
connection
,
pageParamDTO
);
invokeResult
=
m
ySqlPageQuery
(
countSql
,
querySql
,
connection
,
pageParamDTO
);
}
else
{
invokeResult
=
sqlNoPageQuery
(
querySql
,
connection
);
}
...
...
@@ -942,11 +944,11 @@ public class ApiServiceApplicationImpl implements ApiApplication {
String
dataTable
=
api
.
getDataTable
();
String
returnParamStr
=
api
.
getReturnParam
();
JSONArray
returnParamJ
SON
Array
=
JSONArray
.
parseArray
(
returnParamStr
);
List
<
ReturnParam
>
returnParams
=
returnParamJ
SON
Array
.
toJavaList
(
ReturnParam
.
class
);
JSONArray
returnParamJ
son
Array
=
JSONArray
.
parseArray
(
returnParamStr
);
List
<
ReturnParam
>
returnParams
=
returnParamJ
son
Array
.
toJavaList
(
ReturnParam
.
class
);
String
requestParamStr
=
api
.
getRequestParam
();
JSONArray
requestParamJ
SON
Array
=
JSONArray
.
parseArray
(
requestParamStr
);
List
<
RequestParam
>
requestParams
=
requestParamJ
SON
Array
.
toJavaList
(
RequestParam
.
class
);
JSONArray
requestParamJ
son
Array
=
JSONArray
.
parseArray
(
requestParamStr
);
List
<
RequestParam
>
requestParams
=
requestParamJ
son
Array
.
toJavaList
(
RequestParam
.
class
);
if
(!
checkParams
(
requestParams
,
inParam
,
pageAble
,
null
))
{
invokeResult
=
InvokeResult
.
fail
();
invokeResult
.
setMessage
(
"["
+
apiName
+
"]的接口参数校验不通过!"
);
...
...
@@ -1111,7 +1113,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
return
true
;
}
private
InvokeResult
M
ySqlPageQuery
(
String
countSql
,
String
querySql
,
Connection
connection
,
PageParamDTO
pageParamDTO
)
{
private
InvokeResult
m
ySqlPageQuery
(
String
countSql
,
String
querySql
,
Connection
connection
,
PageParamDTO
pageParamDTO
)
{
InvokeResult
invokeResult
=
null
;
Statement
statement
=
null
;
ResultSet
resultSet
=
null
;
...
...
@@ -1129,7 +1131,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
ResultSetMetaData
data
=
resultSet
.
getMetaData
();
dataResult
=
new
ArrayList
<
Map
<
String
,
String
>>();
while
(
resultSet
.
next
())
{
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>(
16
);
for
(
int
i
=
1
;
i
<=
data
.
getColumnCount
();
i
++)
{
String
columnName
=
data
.
getColumnName
(
i
);
String
value
=
resultSet
.
getString
(
columnName
);
...
...
@@ -1174,7 +1176,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
ResultSetMetaData
data
=
resultSet
.
getMetaData
();
dataResult
=
new
ArrayList
<
Map
<
String
,
String
>>();
while
(
resultSet
.
next
())
{
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>(
16
);
for
(
int
i
=
1
;
i
<=
data
.
getColumnCount
();
i
++)
{
String
columnName
=
data
.
getColumnName
(
i
);
String
value
=
resultSet
.
getString
(
columnName
);
...
...
@@ -1204,22 +1206,23 @@ public class ApiServiceApplicationImpl implements ApiApplication {
return
invokeResult
;
}
private
InvokeResult
executeCommonApi
(
Api
api
,
Map
<
String
,
String
>
inParam
)
{
InvokeResult
invokeResult
=
null
;
String
apiName
=
api
.
getName
();
List
<
RequestParam
>
requestParams
=
null
;
String
requestParamStr
=
api
.
getRequestParam
();
if
(!
requestParamStr
.
equals
(
"null"
))
{
JSONArray
requestParamJ
SON
Array
=
JSONArray
.
parseArray
(
requestParamStr
);
requestParams
=
requestParamJ
SON
Array
.
toJavaList
(
RequestParam
.
class
);
if
(!
NULL
.
equals
(
requestParamStr
))
{
JSONArray
requestParamJ
son
Array
=
JSONArray
.
parseArray
(
requestParamStr
);
requestParams
=
requestParamJ
son
Array
.
toJavaList
(
RequestParam
.
class
);
}
List
<
ConstParam
>
constParams
=
null
;
String
constParamStr
=
api
.
getConstParams
();
if
(!
constParamStr
.
equals
(
"null"
))
{
JSONArray
constParamJ
SON
Array
=
JSONArray
.
parseArray
(
constParamStr
);
constParams
=
constParamJ
SON
Array
.
toJavaList
(
ConstParam
.
class
);
if
(!
NULL
.
equals
(
constParamStr
))
{
JSONArray
constParamJ
son
Array
=
JSONArray
.
parseArray
(
constParamStr
);
constParams
=
constParamJ
son
Array
.
toJavaList
(
ConstParam
.
class
);
}
if
(
null
!=
inParam
&&
null
!=
requestParams
&&
null
!=
constParams
)
{
...
...
@@ -1233,7 +1236,7 @@ public class ApiServiceApplicationImpl implements ApiApplication {
HttpHeaders
httpHeaders
=
extractHttpHeaders
(
requestParams
,
constParams
,
inParam
);
String
queryParams
=
""
;
Map
<
String
,
String
>
bodyParams
=
new
HashMap
<>();
Map
<
String
,
String
>
bodyParams
=
new
HashMap
<>(
16
);
queryParams
=
extractQueryParams
(
requestParams
,
constParams
,
inParam
);
bodyParams
=
extractBodyParams
(
requestParams
,
constParams
,
inParam
);
...
...
@@ -1254,15 +1257,15 @@ public class ApiServiceApplicationImpl implements ApiApplication {
String
uir
=
protocol
+
"://"
+
sourceHost
+
sourcePath
;
if
(
queryParams
.
length
()
>
2
)
{
if
(
sourcePath
.
endsWith
(
"/"
))
{
if
(
queryParams
.
startsWith
(
"/"
))
{
if
(
queryParams
.
length
()
>
TWO
)
{
if
(
sourcePath
.
endsWith
(
SLASH
))
{
if
(
queryParams
.
startsWith
(
SLASH
))
{
uir
+=
queryParams
.
substring
(
1
);
}
else
{
uir
+=
queryParams
;
}
}
else
{
if
(
queryParams
.
startsWith
(
"/"
))
{
if
(
queryParams
.
startsWith
(
SLASH
))
{
uir
+=
queryParams
;
}
else
{
uir
+=
"/"
+
queryParams
;
...
...
@@ -1315,7 +1318,6 @@ public class ApiServiceApplicationImpl implements ApiApplication {
httpHeaders
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
if
(
null
!=
requestParams
&&
null
!=
constParams
)
{
for
(
RequestParam
requestParam
:
requestParams
)
{
if
(
HEAD
.
equals
(
requestParam
.
getPosition
()))
{
Integer
requried
=
requestParam
.
getRequried
();
...
...
@@ -1332,8 +1334,6 @@ public class ApiServiceApplicationImpl implements ApiApplication {
}
}
}
return
httpHeaders
;
}
...
...
@@ -1353,7 +1353,6 @@ public class ApiServiceApplicationImpl implements ApiApplication {
}
}
}
List
<
ConstParam
>
pathConstVariables
=
new
ArrayList
<>();
List
<
ConstParam
>
queryConstVariables
=
new
ArrayList
<>();
if
(
null
!=
constParams
)
{
...
...
@@ -1367,7 +1366,6 @@ public class ApiServiceApplicationImpl implements ApiApplication {
}
}
}
if
(
pathRequsetVariables
.
size
()
>
0
||
pathConstVariables
.
size
()
>
0
)
{
for
(
RequestParam
requestParam
:
pathRequsetVariables
)
{
Integer
requried
=
requestParam
.
getRequried
();
...
...
@@ -1382,7 +1380,6 @@ public class ApiServiceApplicationImpl implements ApiApplication {
stringBuilder
.
append
(
"/"
).
append
(
constParam
.
getDefaultValue
());
}
}
if
(
queryRequsetVariables
.
size
()
>
0
||
queryConstVariables
.
size
()
>
0
)
{
stringBuilder
.
append
(
"?"
);
for
(
RequestParam
queryRequsetVariable
:
queryRequsetVariables
)
{
...
...
@@ -1394,24 +1391,21 @@ public class ApiServiceApplicationImpl implements ApiApplication {
}
stringBuilder
.
append
(
"&"
);
}
for
(
ConstParam
queryConstVariable
:
queryConstVariables
)
{
stringBuilder
.
append
(
queryConstVariable
.
getName
()).
append
(
"="
).
append
(
queryConstVariable
.
getDefaultValue
());
stringBuilder
.
append
(
"&"
);
}
}
String
result
=
stringBuilder
.
toString
();
if
(
result
.
endsWith
(
"&"
))
{
if
(
result
.
endsWith
(
ANDTWO
))
{
result
=
result
.
substring
(
0
,
result
.
length
()
-
1
);
}
return
result
;
}
private
Map
<
String
,
String
>
extractBodyParams
(
List
<
RequestParam
>
requestParams
,
List
<
ConstParam
>
constParams
,
Map
<
String
,
String
>
inParam
)
{
Map
<
String
,
String
>
bodyParams
=
new
HashMap
<>();
Map
<
String
,
String
>
bodyParams
=
new
HashMap
<>(
16
);
if
(
null
!=
requestParams
)
{
for
(
RequestParam
requestParam
:
requestParams
)
{
if
(
BODY
.
equals
(
requestParam
.
getPosition
()))
{
...
...
@@ -1424,7 +1418,6 @@ public class ApiServiceApplicationImpl implements ApiApplication {
}
}
}
if
(
null
!=
constParams
)
{
for
(
ConstParam
constParam
:
constParams
)
{
if
(
BODY
.
equals
(
constParam
.
getPosition
()))
{
...
...
api-service-project/api-service-application/src/main/java/com/zorkdata/apiservice/application/schedule/FetchAllUserFromAuthSchedule.java
View file @
367a8be4
...
...
@@ -94,7 +94,7 @@ public class FetchAllUserFromAuthSchedule {
//解析
LinkedHashMap
map
=
(
LinkedHashMap
)
invokeResult
.
getData
();
ArrayList
dataSourceList
=
(
ArrayList
)
map
.
get
(
CONTENT
);
Map
<
String
,
DataSource
>
dataSourceMap
=
new
HashMap
<>();
Map
<
String
,
DataSource
>
dataSourceMap
=
new
HashMap
<>(
16
);
for
(
int
i
=
0
;
i
<
dataSourceList
.
size
();
i
++)
{
LinkedHashMap
dasourceMap
=
(
LinkedHashMap
)
dataSourceList
.
get
(
i
);
...
...
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/assembler/ApiAssembler.java
View file @
367a8be4
...
...
@@ -101,16 +101,16 @@ public class ApiAssembler {
String
constParams
=
api
.
getConstParams
();
List
<
ConstParamDTO
>
constParamDTO
S
=
JSON
.
parseArray
(
constParams
,
ConstParamDTO
.
class
);
apiDTO
.
setConstParams
(
constParamDTO
S
);
List
<
ConstParamDTO
>
constParamDTO
=
JSON
.
parseArray
(
constParams
,
ConstParamDTO
.
class
);
apiDTO
.
setConstParams
(
constParamDTO
);
String
requestParam
=
api
.
getRequestParam
();
List
<
RequestParamDTO
>
requestParamDTO
S
=
JSON
.
parseArray
(
requestParam
,
RequestParamDTO
.
class
);
apiDTO
.
setRequestParam
(
requestParamDTO
S
);
List
<
RequestParamDTO
>
requestParamDTO
=
JSON
.
parseArray
(
requestParam
,
RequestParamDTO
.
class
);
apiDTO
.
setRequestParam
(
requestParamDTO
);
String
returnParam
=
api
.
getReturnParam
();
List
<
ReturnParamDTO
>
returnParamDTO
S
=
JSON
.
parseArray
(
returnParam
,
ReturnParamDTO
.
class
);
apiDTO
.
setReturnParam
(
returnParamDTO
S
);
List
<
ReturnParamDTO
>
returnParamDTO
=
JSON
.
parseArray
(
returnParam
,
ReturnParamDTO
.
class
);
apiDTO
.
setReturnParam
(
returnParamDTO
);
apiDTO
.
setId
(
api
.
getId
());
return
apiDTO
;
...
...
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/domain/Api.java
View file @
367a8be4
...
...
@@ -204,7 +204,6 @@ public class Api extends AbstractEntity<Api, Integer, ApiRepository> {
private
String
constParams
;
@Column
(
name
=
"request_param"
)
// @Convert(converter = MetricFilterConverter.class)
private
String
requestParam
;
@Column
(
name
=
"return_param"
)
...
...
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/repository/ApiAuthRepository.java
View file @
367a8be4
package
com.zorkdata.apiservice.domain.repository
;
import
com.zorkdata.apiservice.domain.domain.Api
;
import
com.zorkdata.apiservice.domain.domain.ApiAuth
;
import
com.zorkdata.dddlib.core.sdk.InvokeResult
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
javax.transaction.Transactional
;
import
java.util.List
;
/**
...
...
@@ -19,12 +15,12 @@ import java.util.List;
public
interface
ApiAuthRepository
extends
JpaRepository
<
ApiAuth
,
Integer
>,
JpaSpecificationExecutor
<
ApiAuth
>
{
/**
* 非空判断,查询该id是否存在
*
* @param userId
* @param apiId
* @return
*/
@Query
(
value
=
"select count(*) from api_auth where user_id= ?1 and api_id = ?2"
,
nativeQuery
=
true
)
Integer
selectUserId
(
Integer
userId
,
Integer
apiId
);
Integer
selectUserId
(
Integer
userId
,
Integer
apiId
);
/**
* 查看api发布状态
...
...
api-service-project/api-service-domain/src/main/java/com/zorkdata/apiservice/domain/repository/ApiRepository.java
View file @
367a8be4
package
com.zorkdata.apiservice.domain.repository
;
import
cn.hutool.core.date.DateTime
;
import
com.zorkdata.apiservice.domain.domain.Api
;
import
com.zorkdata.apiservice.domain.domain.ApiAuth
;
import
com.zorkdata.apiservice.domain.domain.User
;
import
com.zorkdata.apiservice.domain.dto.ApiDTO
;
import
com.zorkdata.dddlib.domain.EntityRepository
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.stereotype.Repository
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @title: ApiServiceRepositoryB
...
...
@@ -75,6 +69,7 @@ public interface ApiRepository extends EntityRepository<Api, Integer> {
* @param keyword
* @param sortType
* @param sortField
* @param pageNo
* @param pageSize
* @param userid
* @return
...
...
@@ -164,6 +159,14 @@ public interface ApiRepository extends EntityRepository<Api, Integer> {
@Query
(
value
=
"select count(*) from api_call where api_id = ?1 "
,
nativeQuery
=
true
)
Integer
findCountByApiCall
(
Integer
id
);
/**
* 查询24小时调用次数
*
* @param apiId
* @param startTime
* @param endTime
* @return
*/
@Query
(
value
=
"select count(*) from api_call where api_id = ?1 and call_time >= ?2 and call_time <= ?3"
,
nativeQuery
=
true
)
Integer
findLastCall24ByApiCall
(
Integer
apiId
,
Date
startTime
,
Date
endTime
);
...
...
api-service-project/api-service-facade/src/main/java/com/zorkdata/apiservice/facade/facade/ApiFacade.java
View file @
367a8be4
...
...
@@ -6,7 +6,6 @@ import com.zorkdata.apiservice.domain.dto.ApiDTO;
import
com.zorkdata.apiservice.domain.dto.ApiGroupDTO
;
import
com.zorkdata.dddlib.core.sdk.InvokeResult
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -33,8 +32,8 @@ public interface ApiFacade {
/**
* 添加接口分组
*
* @param apiGroupDTO
* @param username
* @return
*/
InvokeResult
addGroup
(
ApiGroupDTO
apiGroupDTO
,
String
username
);
...
...
@@ -70,8 +69,9 @@ public interface ApiFacade {
/**
* 新增Api接口
*
* @param apiDTO
* @param username
* @param userid
* @return
*/
InvokeResult
addApi
(
ApiDTO
apiDTO
,
String
username
,
Integer
userid
);
...
...
@@ -86,8 +86,8 @@ public interface ApiFacade {
/**
* 添加接口授权
*
* @param apiAuthDTO
* @param username
* @return
*/
InvokeResult
addAuth
(
ApiAuthDTO
apiAuthDTO
,
String
username
);
...
...
@@ -118,8 +118,9 @@ public interface ApiFacade {
/**
* 生成注册Api
*
* @param apiDTO
* @param username
* @param userid
* @return
*/
InvokeResult
registApi
(
ApiDTO
apiDTO
,
String
username
,
Integer
userid
);
...
...
@@ -127,41 +128,52 @@ public interface ApiFacade {
/**
* 查询我创建的Api
*
* @param userId
* @param groupId
* @param keyword
* @param pageNo
* @param pageSize
* @param sortField
* @param sortType
* @param sourceWay
* @param datasource
* @return
*/
InvokeResult
getMyApi
(
Integer
userId
,
String
groupId
,
String
keyword
,
Integer
pageNo
,
Integer
pageSize
,
String
sortField
,
String
sortType
,
String
sourceWay
,
String
datasource
);
/**
* 查看API市场
*
* @param keyword
* @param pageNo
* @param pageSize
* @param sortField
* @param sortType
* @param startTime
* @param endTime
* @return
*/
InvokeResult
listMarketApi
(
String
keyword
,
Integer
pageNo
,
Integer
pageSize
,
String
sortField
,
String
sortType
,
Long
startTime
,
Long
endTime
);
/**
* 查看我授权的api
*
*
@param username
* @param pageNo
* @param pageSize
* @param sortField
* @param sortType
* @param startTime
* @param endTime
* @param keyword
* @param userid
* @return
*/
InvokeResult
listMyAuth
(
String
username
,
Integer
pageNo
,
Integer
pageSize
,
String
sortField
,
String
sortType
,
Long
startTime
,
Long
endTime
,
String
keyword
,
Integer
userid
);
/**
* 数据预览
*
* @param userId
* @param apiId
* @param username
* @return
*/
InvokeResult
dataView
(
Integer
userId
,
Integer
apiId
,
String
username
);
...
...
@@ -169,9 +181,9 @@ public interface ApiFacade {
/**
* ll
*
* @param apiName
* @param inParam
* @param username
* @return
*/
InvokeResult
<
Void
>
executeApi
(
String
apiName
,
Map
<
String
,
String
>
inParam
,
String
username
);
...
...
@@ -185,7 +197,6 @@ public interface ApiFacade {
/**
* 获取SqlServer数据类型
*
* @return
*/
List
<
String
>
getSqlServerDataType
();
...
...
api-service-project/api-service-web/src/main/java/com/zorkdata/apiservice/WebApplication.java
View file @
367a8be4
...
...
@@ -6,11 +6,8 @@ import org.springframework.boot.SpringApplication;
import
org.springframework.cloud.client.SpringCloudApplication
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.context.annotation.ComponentScan
;
//import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import
org.springframework.scheduling.annotation.EnableAsync
;
import
java.util.Map
;
/**
* 启动嵌入式的Tomcat并初始化Spring环境.
* <p>
...
...
api-service-project/api-service-web/src/main/java/com/zorkdata/apiservice/config/bean/ServiceBeanConfiguration.java
deleted
100644 → 0
View file @
955e418e
///*
// * Copyright (c) 2019. ZorkData ICube
// */
//
//package com.zorkdata.apiservice.config.bean;
//
//
//import com.zorkdata.dataapi.colddata.ESColdDataApi;
//import com.zorkdata.dataapi.collector.CollectorApi;
//import com.zorkdata.dataapi.colllectrule.CollectionRuleApi;
//import com.zorkdata.dataapi.logsearch.ESApi;
//import com.zorkdata.dataapi.logstruct.LogStructApi;
//import com.zorkdata.dataapi.metricset.MetricApi;
//import com.zorkdata.dataapi.opentsdb.OpenTSdbApi;
//import com.zorkdata.dddlib.api.cc.CCApi;
//import com.zorkdata.dddlib.api.gse.GseApi;
//import com.zorkdata.dddlib.api.job.JobApi;
//import com.zorkdata.dddlib.api.login.BKLoginApi;
//import com.zorkdata.dddlib.api.paas.BKPaaSApi;
//import com.zorkdata.dddlib.api.sdk.cmdb.CMDBClient;
//import com.zorkdata.dddlib.api.sdk.paas.PAASClient;
//import com.zorkdata.dddlib.core.init.BkCoreProperties;
//import com.zorkdata.dddlib.core.init.DataCoreProperties;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * @author: googe (<a href="mailto:gujunling@zorkdata.com.cn">gujunling@zorkdata.com.cn</a>)
// * @date: 2020/2/26
// */
//@Configuration
//public class ServiceBeanConfiguration {
//
// @Bean
// public OpenTSdbApi opentsdbApi(@Autowired DataCoreProperties dataCoreProperties) {
// return new OpenTSdbApi(dataCoreProperties);
// }
//
// @Bean
// public MetricApi metricApi(@Autowired DataCoreProperties dataCoreProperties) {
// return new MetricApi(dataCoreProperties);
// }
//
// @Bean
// public LogStructApi logStructApi(@Autowired DataCoreProperties dataCoreProperties) {
// return new LogStructApi(dataCoreProperties);
// }
//
// @Bean
// public CollectorApi collectorApi(@Autowired DataCoreProperties dataCoreProperties) {
// return new CollectorApi(dataCoreProperties);
// }
//
//
// @Bean
// public CMDBClient getcmdbClient(@Autowired BkCoreProperties bkCoreProperties) {
// return new CMDBClient(bkCoreProperties);
// }
//
// @Bean
// public PAASClient getPaasClient(@Autowired BkCoreProperties bkCoreProperties) {
// return new PAASClient(bkCoreProperties);
// }
//
// @Bean
// public BKPaaSApi getBkPaasApi(@Autowired BkCoreProperties bkCoreProperties) {
// return new BKPaaSApi(bkCoreProperties);
// }
//
// @Bean
// public JobApi getJobApi(@Autowired BkCoreProperties bkCoreProperties) {
// return new JobApi(bkCoreProperties);
// }
//
// @Bean
// public CCApi getCcApi(@Autowired BkCoreProperties bkCoreProperties) {
// return new CCApi(bkCoreProperties);
// }
//
// @Bean
// public ESApi getEsApi(@Autowired DataCoreProperties bkCoreProperties) {
// return new ESApi(bkCoreProperties);
// }
//
//
// /**
// * 蓝鲸Api--gse注入
// *
// * @param bkCoreProperties
// * @return
// */
// @Bean
// public GseApi gseApi(@Autowired BkCoreProperties bkCoreProperties) {
// return new GseApi(bkCoreProperties);
// }
//
// @Bean
// public CollectionRuleApi collectionRuleApi(@Autowired DataCoreProperties dataCoreProperties) {
// return new CollectionRuleApi(dataCoreProperties);
// }
//
// /**
// * 冷数据Api--getESColdDataApi注入
// *
// * @param bkCoreProperties
// * @return
// */
// @Bean
// public ESColdDataApi getESColdDataApi(@Autowired DataCoreProperties bkCoreProperties) {
// return new ESColdDataApi(bkCoreProperties);
// }
//
// @Bean
// public BKLoginApi getBKLoginApi(@Autowired BkCoreProperties bkCoreProperties) {
// return new BKLoginApi(bkCoreProperties);
// }
//
//}
api-service-project/api-service-web/src/main/java/com/zorkdata/apiservice/controller/ApiServicueController.java
View file @
367a8be4
...
...
@@ -4,8 +4,6 @@ import com.onlyone.paas.common.security.annotation.Inner;
import
com.zorkdata.apiservice.BaseController
;
import
com.zorkdata.apiservice.application.cache.DataSourceCache
;
import
com.zorkdata.apiservice.application.dbutils.MysqlDataType
;
import
com.zorkdata.apiservice.application.dbutils.SqlServerDataType
;
import
com.zorkdata.apiservice.domain.domain.ApiGroup
;
import
com.zorkdata.apiservice.domain.domain.DataSource
;
import
com.zorkdata.apiservice.domain.dto.ApiAuthDTO
;
import
com.zorkdata.apiservice.domain.dto.ApiDTO
;
...
...
@@ -17,7 +15,10 @@ import io.swagger.annotations.Api;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -69,9 +70,8 @@ public class ApiServicueController extends BaseController {
@GetMapping
(
"/listDataSource"
)
public
InvokeResult
listDataSource
()
{
Map
<
String
,
DataSource
>
dataSources
=
DataSourceCache
.
getDataSources
();
Map
<
String
,
List
<
DataSource
>>
dasourceMap
=
new
HashMap
<>();
Map
<
String
,
List
<
DataSource
>>
dasourceMap
=
new
HashMap
<>(
16
);
for
(
Map
.
Entry
<
String
,
DataSource
>
entry
:
dataSources
.
entrySet
())
{
String
name
=
entry
.
getKey
();
DataSource
dataSource
=
entry
.
getValue
();
if
(
dataSource
.
getType
()
==
2
)
{
List
<
DataSource
>
mysql
=
dasourceMap
.
get
(
"mysql"
);
...
...
@@ -217,13 +217,6 @@ public class ApiServicueController extends BaseController {
return
InvokeResult
.
success
(
dataTypes
,
"获取msql数据类型成功"
);
}
@Inner
(
value
=
false
)
@GetMapping
(
"/SqlServerDataType"
)
public
InvokeResult
SqlServerDataType
()
{
List
<
String
>
dataTypes
=
SqlServerDataType
.
getDataTypes
();
return
InvokeResult
.
success
(
dataTypes
,
"获取sqlserver数据类型成功"
);
}
@Inner
(
value
=
false
)
@GetMapping
(
"/listMyAuth"
)
public
InvokeResult
listMyAuth
(
...
...
@@ -266,7 +259,6 @@ public class ApiServicueController extends BaseController {
return
InvokeResult
.
success
(
dataTypes
,
"获取SqlServer数据类型成功!"
);
}
@Inner
(
value
=
false
)
@PostMapping
(
"/executeApi/{apiName}"
)
public
InvokeResult
executeApi
(
@PathVariable
String
apiName
,
@RequestBody
(
required
=
false
)
Map
<
String
,
String
>
inParam
)
{
...
...
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