Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
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
黄营
datax-cloud
Commits
d373febc
Commit
d373febc
authored
Mar 31, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.0.0项目初始化
parent
55b3ed65
Show whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
1162 additions
and
30 deletions
+1162
-30
BaseQueryParams.java
...e/src/main/java/cn/datax/common/base/BaseQueryParams.java
+2
-0
datax-service-data-market-dev.yml
...c/main/resources/config/datax-service-data-market-dev.yml
+74
-0
DataSourceDto.java
.../cn/datax/service/data/factory/api/dto/DataSourceDto.java
+1
-1
DbSchema.java
.../java/cn/datax/service/data/factory/api/dto/DbSchema.java
+1
-1
DataSetEntity.java
.../datax/service/data/factory/api/entity/DataSetEntity.java
+0
-3
DataSourceEntity.java
...tax/service/data/factory/api/entity/DataSourceEntity.java
+1
-0
DbSchema.java
...va/cn/datax/service/data/factory/api/entity/DbSchema.java
+0
-17
DataSourceVo.java
...va/cn/datax/service/data/factory/api/vo/DataSourceVo.java
+0
-1
DataSetServiceImpl.java
...service/data/factory/service/impl/DataSetServiceImpl.java
+0
-1
DataSourceServiceImpl.java
...vice/data/factory/service/impl/DataSourceServiceImpl.java
+0
-1
DataSetMapper.xml
...ctory-service/src/main/resources/mapper/DataSetMapper.xml
+32
-0
DataSourceMapper.xml
...ry-service/src/main/resources/mapper/DataSourceMapper.xml
+3
-3
pom.xml
...ata-market-service-parent/data-market-service-api/pom.xml
+51
-0
DataApiDto.java
...java/cn/datax/service/data/market/api/dto/DataApiDto.java
+60
-0
ExecuteConfig.java
...a/cn/datax/service/data/market/api/dto/ExecuteConfig.java
+36
-0
FieldParam.java
...java/cn/datax/service/data/market/api/dto/FieldParam.java
+30
-0
ReqParam.java
...n/java/cn/datax/service/data/market/api/dto/ReqParam.java
+45
-0
ResParam.java
...n/java/cn/datax/service/data/market/api/dto/ResParam.java
+36
-0
TryParam.java
...n/java/cn/datax/service/data/market/api/dto/TryParam.java
+23
-0
DataApiEntity.java
...n/datax/service/data/market/api/entity/DataApiEntity.java
+79
-0
DataApiQuery.java
.../cn/datax/service/data/market/api/query/DataApiQuery.java
+22
-0
DataApiVo.java
...n/java/cn/datax/service/data/market/api/vo/DataApiVo.java
+35
-0
pom.xml
...es/data-market-service-parent/data-market-service/pom.xml
+88
-0
DataMarketApplication.java
...a/cn/datax/service/data/market/DataMarketApplication.java
+22
-0
DataResourceServerConfig.java
.../service/data/market/config/DataResourceServerConfig.java
+67
-0
SwaggerConfig.java
...va/cn/datax/service/data/market/config/SwaggerConfig.java
+106
-0
DataApiController.java
...tax/service/data/market/controller/DataApiController.java
+121
-0
DataApiDao.java
...ain/java/cn/datax/service/data/market/dao/DataApiDao.java
+18
-0
DataApiMapper.java
...cn/datax/service/data/market/mapstruct/DataApiMapper.java
+20
-0
DataApiService.java
.../cn/datax/service/data/market/service/DataApiService.java
+22
-0
DataApiServiceImpl.java
.../service/data/market/service/impl/DataApiServiceImpl.java
+51
-0
bootstrap.yml
...rent/data-market-service/src/main/resources/bootstrap.yml
+29
-0
DataApiMapper.xml
...arket-service/src/main/resources/mapper/DataApiMapper.xml
+37
-0
spy.properties
...ent/data-market-service/src/main/resources/spy.properties
+26
-0
pom.xml
datax-modules/data-market-service-parent/pom.xml
+21
-0
pom.xml
datax-modules/pom.xml
+2
-0
Generate.java
...n/src/main/java/cn/datax/tool/codegen/utils/Generate.java
+1
-1
serviceImpl.java.vm
...-codegen/src/main/resources/templates/serviceImpl.java.vm
+0
-1
No files found.
datax-common/datax-common-core/src/main/java/cn/datax/common/base/BaseQueryParams.java
View file @
d373febc
...
@@ -10,6 +10,8 @@ public class BaseQueryParams implements Serializable {
...
@@ -10,6 +10,8 @@ public class BaseQueryParams implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
// 关键字
private
String
keyword
;
// 当前页码
// 当前页码
private
Integer
pageNum
=
1
;
private
Integer
pageNum
=
1
;
// 分页条数
// 分页条数
...
...
datax-config/src/main/resources/config/datax-service-data-market-dev.yml
0 → 100644
View file @
d373febc
# 数据源配置
spring
:
redis
:
database
:
1
host
:
127.0.0.1
port
:
6379
password
:
# 密码(默认为空)
timeout
:
6000ms
# 连接超时时长(毫秒)
lettuce
:
pool
:
max-active
:
1000
# 连接池最大连接数(使用负值表示没有限制)
max-wait
:
-1ms
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle
:
10
# 连接池中的最大空闲连接
min-idle
:
5
# 连接池中的最小空闲连接
datasource
:
dynamic
:
type
:
com.zaxxer.hikari.HikariDataSource
hikari
:
auto-commit
:
false
connection-timeout
:
30000
idle-timeout
:
25000
login-timeout
:
5
max-lifetime
:
30000
read-only
:
false
validation-timeout
:
3000
maximum-pool-size
:
15
minimum-idle
:
5
pool-name
:
DataxHikariCP
connection-test-query
:
SELECT 1 FROM DUAL
data-source-properties
:
cachePrepStmts
:
true
prepStmtCacheSize
:
250
prepStmtCacheSqlLimit
:
2048
useServerPrepStmts
:
true
useLocalSessionState
:
true
rewriteBatchedStatements
:
true
cacheResultSetMetadata
:
true
cacheServerConfiguration
:
true
elideSetAutoCommits
:
true
maintainTimeStats
:
false
primary
:
mysql
datasource
:
mysql
:
driver-class-name
:
com.p6spy.engine.spy.P6SpyDriver
url
:
jdbc:p6spy:mysql://127.0.0.1:3306/data_cloud?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username
:
root
password
:
1234@abcd
mybatis-plus
:
mapper-locations
:
classpath*:mapper/*Mapper.xml
type-aliases-package
:
cn.datax.service.data.market.api.entity
global-config
:
db-config
:
id-type
:
ASSIGN_ID
banner
:
false
configuration
:
map-underscore-to-camel-case
:
true
cache-enabled
:
false
call-setters-on-nulls
:
true
log-impl
:
org.apache.ibatis.logging.stdout.StdOutImpl
# spring security 配置
security
:
oauth2
:
client
:
access-token-uri
:
http://localhost:8612/auth/oauth/token
user-authorization-uri
:
http://localhost:8612/auth/oauth/authorize
client-id
:
datax
client-secret
:
123456
scope
:
all
resource
:
loadBalanced
:
true
token-info-uri
:
http://localhost:8612/auth/oauth/check_token
\ No newline at end of file
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/dto/DataSourceDto.java
View file @
d373febc
...
@@ -36,5 +36,5 @@ public class DataSourceDto implements Serializable {
...
@@ -36,5 +36,5 @@ public class DataSourceDto implements Serializable {
private
String
remark
;
private
String
remark
;
@ApiModelProperty
(
value
=
"数据源连接信息"
)
@ApiModelProperty
(
value
=
"数据源连接信息"
)
@Valid
@Valid
private
DbSchema
Dto
dbSchema
;
private
DbSchema
dbSchema
;
}
}
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/dto/DbSchema
Dto
.java
→
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/dto/DbSchema.java
View file @
d373febc
...
@@ -11,7 +11,7 @@ import java.io.Serializable;
...
@@ -11,7 +11,7 @@ import java.io.Serializable;
@ApiModel
(
value
=
"数据源连接信息Model"
)
@ApiModel
(
value
=
"数据源连接信息Model"
)
@Data
@Data
public
class
DbSchema
Dto
implements
Serializable
{
public
class
DbSchema
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
...
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/entity/DataSetEntity.java
View file @
d373febc
...
@@ -2,9 +2,6 @@ package cn.datax.service.data.factory.api.entity;
...
@@ -2,9 +2,6 @@ package cn.datax.service.data.factory.api.entity;
import
cn.datax.common.base.DataScopeBaseEntity
;
import
cn.datax.common.base.DataScopeBaseEntity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
cn.datax.common.base.BaseEntity
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
...
...
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/entity/DataSourceEntity.java
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
factory
.
api
.
entity
;
package
cn
.
datax
.
service
.
data
.
factory
.
api
.
entity
;
import
cn.datax.common.base.DataScopeBaseEntity
;
import
cn.datax.common.base.DataScopeBaseEntity
;
import
cn.datax.service.data.factory.api.dto.DbSchema
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
;
import
com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
;
...
...
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/entity/DbSchema.java
deleted
100644 → 0
View file @
55b3ed65
package
cn
.
datax
.
service
.
data
.
factory
.
api
.
entity
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
DbSchema
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
host
;
private
String
username
;
private
String
password
;
private
Integer
port
;
private
String
dbName
;
}
datax-modules/data-factory-service-parent/data-factory-service-api/src/main/java/cn/datax/service/data/factory/api/vo/DataSourceVo.java
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
factory
.
api
.
vo
;
package
cn
.
datax
.
service
.
data
.
factory
.
api
.
vo
;
import
cn.datax.service.data.factory.api.entity.DbSchema
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.Data
;
...
...
datax-modules/data-factory-service-parent/data-factory-service/src/main/java/cn/datax/service/data/factory/service/impl/DataSetServiceImpl.java
View file @
d373febc
...
@@ -2,7 +2,6 @@ package cn.datax.service.data.factory.service.impl;
...
@@ -2,7 +2,6 @@ package cn.datax.service.data.factory.service.impl;
import
cn.datax.service.data.factory.api.dto.DataSetDto
;
import
cn.datax.service.data.factory.api.dto.DataSetDto
;
import
cn.datax.service.data.factory.api.entity.DataSetEntity
;
import
cn.datax.service.data.factory.api.entity.DataSetEntity
;
import
cn.datax.service.data.factory.dao.DataSetDao
;
import
cn.datax.service.data.factory.service.DataSetService
;
import
cn.datax.service.data.factory.service.DataSetService
;
import
cn.datax.service.data.factory.mapstruct.DataSetMapper
;
import
cn.datax.service.data.factory.mapstruct.DataSetMapper
;
import
cn.datax.service.data.factory.dao.DataSetDao
;
import
cn.datax.service.data.factory.dao.DataSetDao
;
...
...
datax-modules/data-factory-service-parent/data-factory-service/src/main/java/cn/datax/service/data/factory/service/impl/DataSourceServiceImpl.java
View file @
d373febc
...
@@ -5,7 +5,6 @@ import cn.datax.common.database.DbQuery;
...
@@ -5,7 +5,6 @@ import cn.datax.common.database.DbQuery;
import
cn.datax.common.database.constants.DbQueryProperty
;
import
cn.datax.common.database.constants.DbQueryProperty
;
import
cn.datax.common.database.constants.DbType
;
import
cn.datax.common.database.constants.DbType
;
import
cn.datax.service.data.factory.api.dto.DataSourceDto
;
import
cn.datax.service.data.factory.api.dto.DataSourceDto
;
import
cn.datax.service.data.factory.api.entity.DbSchema
;
import
cn.datax.service.data.factory.api.entity.DataSourceEntity
;
import
cn.datax.service.data.factory.api.entity.DataSourceEntity
;
import
cn.datax.service.data.factory.dao.DataSourceDao
;
import
cn.datax.service.data.factory.dao.DataSourceDao
;
import
cn.datax.service.data.factory.service.DataSourceService
;
import
cn.datax.service.data.factory.service.DataSourceService
;
...
...
datax-modules/data-factory-service-parent/data-factory-service/src/main/resources/mapper/DataSetMapper.xml
0 → 100644
View file @
d373febc
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.datax.service.data.factory.dao.DataSetDao"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"cn.datax.service.data.factory.api.entity.DataSetEntity"
>
<result
column=
"id"
property=
"id"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"create_dept"
property=
"createDept"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"source_id"
property=
"sourceId"
/>
<result
column=
"set_name"
property=
"setName"
/>
<result
column=
"remark"
property=
"remark"
/>
<result
column=
"set_sql"
property=
"setSql"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
id,
status,
create_by,
create_time,
create_dept,
update_by,
update_time,
source_id, set_name, remark, set_sql
</sql>
</mapper>
datax-modules/data-factory-service-parent/data-factory-service/src/main/resources/mapper/DataSourceMapper.xml
View file @
d373febc
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<result
column=
"status"
property=
"status"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"
dept_id"
property=
"deptId
"
/>
<result
column=
"
create_dept"
property=
"createDept
"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"db_type"
property=
"dbType"
/>
<result
column=
"db_type"
property=
"dbType"
/>
...
@@ -23,10 +23,10 @@
...
@@ -23,10 +23,10 @@
status,
status,
create_by,
create_by,
create_time,
create_time,
dept_id
,
create_dept
,
update_by,
update_by,
update_time,
update_time,
db_type, source_name, source_desc, db_schema
db_type, source_name, source_desc,
remark,
db_schema
</sql>
</sql>
</mapper>
</mapper>
datax-modules/data-market-service-parent/data-market-service-api/pom.xml
0 → 100644
View file @
d373febc
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
data-market-service-parent
</artifactId>
<groupId>
cn.datax
</groupId>
<version>
2.0.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<version>
2.0.0
</version>
<artifactId>
data-market-service-api
</artifactId>
<dependencies>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
<version>
${swagger2.version}
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-bean-validators
</artifactId>
<version>
${swagger2.version}
</version>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger-ui
</artifactId>
<version>
${swagger2.version}
</version>
</dependency>
<dependency>
<groupId>
com.github.xiaoymin
</groupId>
<artifactId>
swagger-bootstrap-ui
</artifactId>
<version>
${swagger-bootstrap.version}
</version>
</dependency>
<!--feign 依赖-->
<dependency>
<groupId>
io.github.openfeign
</groupId>
<artifactId>
feign-okhttp
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-openfeign
</artifactId>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
datax-common-core
</artifactId>
<version>
2.0.0
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/dto/DataApiDto.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
dto
;
import
cn.datax.common.validate.ValidationGroups
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.Size
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* <p>
* 数据API信息表 实体DTO
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@ApiModel
(
value
=
"数据API信息表Model"
)
@Data
public
class
DataApiDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"主键ID"
)
@NotBlank
(
message
=
"主键ID不能为空"
,
groups
=
{
ValidationGroups
.
Update
.
class
})
private
String
id
;
@ApiModelProperty
(
value
=
"API名称"
)
@NotBlank
(
message
=
"API名称不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
apiName
;
@ApiModelProperty
(
value
=
"API版本"
)
@NotBlank
(
message
=
"API版本不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
apiVersion
;
@ApiModelProperty
(
value
=
"API路径"
)
@NotBlank
(
message
=
"API路径不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
apiUrl
;
@ApiModelProperty
(
value
=
"API描述"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"请求方式"
)
@NotBlank
(
message
=
"请求方式不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
reqMethod
;
@ApiModelProperty
(
value
=
"返回格式"
)
@NotBlank
(
message
=
"返回格式不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
resType
;
@ApiModelProperty
(
value
=
"执行配置"
)
@Valid
private
ExecuteConfig
executeConfig
;
@ApiModelProperty
(
value
=
"请求参数"
)
@Valid
private
List
<
ReqParam
>
reqParams
;
@ApiModelProperty
(
value
=
"返回参数"
)
@Valid
@NotEmpty
(
message
=
"返回参数不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
@Size
(
min
=
1
,
message
=
"返回参数长度不能少于{min}位"
)
private
List
<
ResParam
>
resParams
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/dto/ExecuteConfig.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
dto
;
import
cn.datax.common.validate.ValidationGroups
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.util.List
;
@ApiModel
(
value
=
"执行配置信息Model"
)
@Data
public
class
ExecuteConfig
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"数据源"
)
@NotBlank
(
message
=
"数据源不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
sourceId
;
@ApiModelProperty
(
value
=
"配置方式"
)
@NotBlank
(
message
=
"配置方式不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
configType
;
@ApiModelProperty
(
value
=
"选择表"
)
private
String
tableName
;
@ApiModelProperty
(
value
=
"字段列表"
)
@Valid
private
List
<
FieldParam
>
fieldParams
;
@ApiModelProperty
(
value
=
"查询SQL"
)
private
String
sqlText
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/dto/FieldParam.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
dto
;
import
cn.datax.common.validate.ValidationGroups
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"字段信息Model"
)
@Data
public
class
FieldParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"字段名称"
)
@NotBlank
(
message
=
"字段名称不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
fieldName
;
@ApiModelProperty
(
value
=
"作为请求参数"
)
@NotNull
(
message
=
"作为请求参数不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
Integer
reqable
;
@ApiModelProperty
(
value
=
"作为返回参数"
)
@NotNull
(
message
=
"作为返回参数不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
Integer
resable
;
@ApiModelProperty
(
value
=
"字段类型"
)
@NotBlank
(
message
=
"字段类型不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
fieldType
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/dto/ReqParam.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
dto
;
import
cn.datax.common.validate.ValidationGroups
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"请求参数信息Model"
)
@Data
public
class
ReqParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"参数名称"
)
@NotBlank
(
message
=
"参数名称不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
paramName
;
@ApiModelProperty
(
value
=
"字段名称"
)
@NotBlank
(
message
=
"字段名称不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
fieldName
;
@ApiModelProperty
(
value
=
"是否为空"
)
@NotNull
(
message
=
"是否为空不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
Integer
nullable
;
@ApiModelProperty
(
value
=
"描述"
)
@NotBlank
(
message
=
"描述不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
remark
;
@ApiModelProperty
(
value
=
"数据类型"
)
@NotBlank
(
message
=
"数据类型不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
dataType
;
@ApiModelProperty
(
value
=
"示例值"
)
@NotBlank
(
message
=
"示例值不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
exampleValue
;
@ApiModelProperty
(
value
=
"默认值"
)
@NotBlank
(
message
=
"默认值不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
defaultValue
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/dto/ResParam.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
dto
;
import
cn.datax.common.validate.ValidationGroups
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"返回参数信息Model"
)
@Data
public
class
ResParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"参数名称"
)
@NotBlank
(
message
=
"参数名称不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
paramName
;
@ApiModelProperty
(
value
=
"字段名称"
)
@NotBlank
(
message
=
"字段名称不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
fieldName
;
@ApiModelProperty
(
value
=
"描述"
)
@NotBlank
(
message
=
"描述不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
remark
;
@ApiModelProperty
(
value
=
"数据类型"
)
@NotBlank
(
message
=
"数据类型不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
dataType
;
@ApiModelProperty
(
value
=
"示例值"
)
@NotBlank
(
message
=
"示例值不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
exampleValue
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/dto/TryParam.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
dto
;
import
cn.datax.common.validate.ValidationGroups
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
@ApiModel
(
value
=
"API测试信息Model"
)
@Data
public
class
TryParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"参数名称"
)
@NotBlank
(
message
=
"参数名称不能为空"
,
groups
=
{
ValidationGroups
.
Insert
.
class
,
ValidationGroups
.
Update
.
class
})
private
String
paramName
;
@ApiModelProperty
(
value
=
"参数值"
)
private
Object
paramValue
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/entity/DataApiEntity.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
entity
;
import
cn.datax.common.base.DataScopeBaseEntity
;
import
cn.datax.service.data.market.api.dto.ExecuteConfig
;
import
cn.datax.service.data.market.api.dto.ReqParam
;
import
cn.datax.service.data.market.api.dto.ResParam
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* <p>
* 数据API信息表
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
value
=
"data_api"
,
autoResultMap
=
true
)
public
class
DataApiEntity
extends
DataScopeBaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* API名称
*/
private
String
apiName
;
/**
* API版本
*/
private
String
apiVersion
;
/**
* API路径
*/
private
String
apiUrl
;
/**
* API描述
*/
private
String
remark
;
/**
* 请求方式
*/
private
String
reqMethod
;
/**
* 返回格式
*/
private
String
resType
;
/**
* 执行配置
*/
@TableField
(
typeHandler
=
JacksonTypeHandler
.
class
)
private
ExecuteConfig
executeConfig
;
/**
* 请求参数
*/
@TableField
(
typeHandler
=
JacksonTypeHandler
.
class
)
private
List
<
ReqParam
>
reqParams
;
/**
* 返回参数
*/
@TableField
(
typeHandler
=
JacksonTypeHandler
.
class
)
private
List
<
ResParam
>
resParams
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/query/DataApiQuery.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
query
;
import
cn.datax.common.base.BaseQueryParams
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 数据API信息表 查询实体
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
DataApiQuery
extends
BaseQueryParams
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
apiName
;
}
datax-modules/data-market-service-parent/data-market-service-api/src/main/java/cn/datax/service/data/market/api/vo/DataApiVo.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
api
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
* 数据API信息表 实体VO
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@Data
public
class
DataApiVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
id
;
private
Integer
status
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
LocalDateTime
createTime
;
private
String
apiName
;
private
String
apiVersion
;
private
String
apiUrl
;
private
String
remark
;
private
String
reqMethod
;
private
String
resType
;
private
String
configJson
;
private
String
reqJson
;
private
String
resJson
;
}
datax-modules/data-market-service-parent/data-market-service/pom.xml
0 → 100644
View file @
d373febc
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
data-market-service-parent
</artifactId>
<groupId>
cn.datax
</groupId>
<version>
2.0.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<version>
2.0.0
</version>
<artifactId>
data-market-service
</artifactId>
<dependencies>
<!--web 模块-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<exclusions>
<exclusion>
<artifactId>
spring-boot-starter-tomcat
</artifactId>
<groupId>
org.springframework.boot
</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-undertow
</artifactId>
</dependency>
<!--配置中心客户端 -->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-config
</artifactId>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
<version>
${mapstruct.version}
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${mapstruct.version}
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
datax-common-mybatis
</artifactId>
<version>
2.0.0
</version>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
datax-common-redis
</artifactId>
<version>
2.0.0
</version>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
datax-common-security
</artifactId>
<version>
2.0.0
</version>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
datax-common-database
</artifactId>
<version>
2.0.0
</version>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
datax-common-log
</artifactId>
<version>
2.0.0
</version>
</dependency>
<dependency>
<groupId>
cn.datax
</groupId>
<artifactId>
data-market-service-api
</artifactId>
<version>
2.0.0
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/DataMarketApplication.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
;
import
cn.datax.common.log.annotation.EnableDataLog
;
import
cn.datax.common.mybatis.annotation.EnableDataMybatis
;
import
cn.datax.common.redis.annotation.EnableDataRedis
;
import
cn.datax.common.security.annotation.EnableDataServerProtect
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.cloud.client.SpringCloudApplication
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
@EnableDataServerProtect
@EnableDataMybatis
@EnableDataRedis
@EnableDataLog
@EnableFeignClients
(
basePackages
=
{
"cn.datax.service.system.api.feign"
})
@SpringCloudApplication
public
class
DataMarketApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
DataMarketApplication
.
class
);
}
}
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/config/DataResourceServerConfig.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
config
;
import
cn.datax.common.security.handler.DataAccessDeniedHandler
;
import
cn.datax.common.security.handler.DataAuthExceptionEntryPoint
;
import
cn.datax.common.security.utils.DataRedisTokenServices
;
import
cn.datax.common.security.utils.RedisTokenStore
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer
;
import
org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter
;
import
org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer
;
import
org.springframework.security.oauth2.provider.token.TokenStore
;
@Configuration
@EnableResourceServer
@EnableGlobalMethodSecurity
(
prePostEnabled
=
true
)
public
class
DataResourceServerConfig
extends
ResourceServerConfigurerAdapter
{
@Autowired
private
DataAccessDeniedHandler
accessDeniedHandler
;
@Autowired
private
DataAuthExceptionEntryPoint
exceptionEntryPoint
;
@Autowired
private
RedisConnectionFactory
redisConnectionFactory
;
@Bean
public
TokenStore
redisTokenStore
()
{
return
new
RedisTokenStore
(
redisConnectionFactory
);
}
@Override
public
void
configure
(
ResourceServerSecurityConfigurer
resources
)
{
DataRedisTokenServices
dataTokenServices
=
new
DataRedisTokenServices
();
dataTokenServices
.
setTokenStore
(
redisTokenStore
());
resources
.
tokenStore
(
redisTokenStore
())
.
tokenServices
(
dataTokenServices
)
.
authenticationEntryPoint
(
exceptionEntryPoint
)
.
accessDeniedHandler
(
accessDeniedHandler
);
}
@Override
public
void
configure
(
HttpSecurity
http
)
throws
Exception
{
//允许使用iframe 嵌套,避免swagger-ui 不被加载的问题
http
.
headers
().
frameOptions
().
disable
();
http
.
authorizeRequests
()
.
antMatchers
(
"/actuator/**"
,
"/v2/api-docs/**"
,
"/swagger-ui.html"
,
"/doc.html"
,
"/swagger-resources/**"
,
"/webjars/**"
,
// feign 内部调用不用授权
"/inner/**"
).
permitAll
()
.
anyRequest
().
authenticated
()
.
and
().
csrf
().
disable
();
}
}
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/config/SwaggerConfig.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
config
;
import
com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
springfox.documentation.builders.*
;
import
springfox.documentation.schema.ModelRef
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.service.ApiKey
;
import
springfox.documentation.service.Parameter
;
import
springfox.documentation.service.ResponseMessage
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
java.util.ArrayList
;
import
java.util.List
;
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public
class
SwaggerConfig
{
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
*
* @return
*/
@Bean
public
Docket
createRestApi
(){
//版本类型是swagger2
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
//通过调用自定义方法apiInfo,获得文档的主要信息
.
apiInfo
(
apiInfo
())
//设置全局参数
.
globalOperationParameters
(
globalParamBuilder
())
//设置全局响应参数
.
globalResponseMessage
(
RequestMethod
.
GET
,
responseBuilder
())
.
globalResponseMessage
(
RequestMethod
.
POST
,
responseBuilder
())
.
globalResponseMessage
(
RequestMethod
.
PUT
,
responseBuilder
())
.
globalResponseMessage
(
RequestMethod
.
DELETE
,
responseBuilder
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"cn.datax.service.data.market.controller"
))
//扫描该包下面的API注解
.
paths
(
PathSelectors
.
any
())
.
build
()
//设置安全认证
.
securitySchemes
(
security
());
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://项目实际地址/swagger-ui.html
* @return
*/
private
ApiInfo
apiInfo
()
{
return
new
ApiInfoBuilder
()
.
title
(
"数据市场管理中心"
)
//接口管理文档首页显示
.
description
(
"数据市场管理中心接口文档"
)
//API的描述
.
version
(
"1.0"
)
.
build
();
}
/**
* 安全认证参数
* @return
*/
private
List
<
ApiKey
>
security
()
{
List
<
ApiKey
>
apiKeys
=
new
ArrayList
<>();
apiKeys
.
add
(
new
ApiKey
(
"Authorization"
,
"Authorization"
,
"header"
));
return
apiKeys
;
}
/**
* 构建全局参数列表
* @return
*/
private
List
<
Parameter
>
globalParamBuilder
(){
List
<
Parameter
>
pars
=
new
ArrayList
<>();
pars
.
add
(
parameterBuilder
(
"Authorization"
,
"令牌"
,
"string"
,
"header"
,
false
).
build
());
return
pars
;
}
/**
* 创建参数
* @return
*/
private
ParameterBuilder
parameterBuilder
(
String
name
,
String
desc
,
String
type
,
String
parameterType
,
boolean
required
)
{
ParameterBuilder
tokenPar
=
new
ParameterBuilder
();
tokenPar
.
name
(
name
).
description
(
desc
).
modelRef
(
new
ModelRef
(
type
)).
parameterType
(
parameterType
).
required
(
required
).
build
();
return
tokenPar
;
}
/**
* 创建全局响应值
* @return
*/
private
List
<
ResponseMessage
>
responseBuilder
()
{
List
<
ResponseMessage
>
responseMessageList
=
new
ArrayList
<>();
responseMessageList
.
add
(
new
ResponseMessageBuilder
().
code
(
200
).
message
(
"响应成功"
).
build
());
responseMessageList
.
add
(
new
ResponseMessageBuilder
().
code
(
500
).
message
(
"服务器内部错误"
).
build
());
return
responseMessageList
;
}
}
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/controller/DataApiController.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
controller
;
import
cn.datax.common.core.JsonPage
;
import
cn.datax.common.core.R
;
import
cn.datax.common.validate.ValidationGroups
;
import
cn.datax.service.data.market.api.dto.DataApiDto
;
import
cn.datax.service.data.market.api.entity.DataApiEntity
;
import
cn.datax.service.data.market.api.vo.DataApiVo
;
import
cn.datax.service.data.market.api.query.DataApiQuery
;
import
cn.datax.service.data.market.mapstruct.DataApiMapper
;
import
cn.datax.service.data.market.service.DataApiService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
cn.datax.common.base.BaseController
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>
* 数据API信息表 前端控制器
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@Api
(
tags
=
{
"数据API信息表"
})
@RestController
@RequestMapping
(
"/market/dataApi"
)
public
class
DataApiController
extends
BaseController
{
@Autowired
private
DataApiService
dataApiService
;
@Autowired
private
DataApiMapper
dataApiMapper
;
/**
* 通过ID查询信息
*
* @param id
* @return
*/
@ApiOperation
(
value
=
"获取详细信息"
,
notes
=
"根据url的id来获取详细信息"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@GetMapping
(
"/{id}"
)
public
R
getDataApiById
(
@PathVariable
String
id
)
{
DataApiEntity
dataApiEntity
=
dataApiService
.
getById
(
id
);
return
R
.
ok
().
setData
(
dataApiMapper
.
toVO
(
dataApiEntity
));
}
/**
* 分页查询信息
*
* @param dataApiQuery
* @return
*/
@ApiOperation
(
value
=
"分页查询"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"dataApiQuery"
,
value
=
"查询实体dataApiQuery"
,
required
=
true
,
dataTypeClass
=
DataApiQuery
.
class
)
})
@GetMapping
(
"/page"
)
public
R
getRolePage
(
DataApiQuery
dataApiQuery
)
{
QueryWrapper
<
DataApiEntity
>
queryWrapper
=
new
QueryWrapper
<>();
IPage
<
DataApiEntity
>
page
=
dataApiService
.
page
(
new
Page
<>(
dataApiQuery
.
getPageNum
(),
dataApiQuery
.
getPageSize
()),
queryWrapper
);
List
<
DataApiVo
>
collect
=
page
.
getRecords
().
stream
().
map
(
dataApiMapper:
:
toVO
).
collect
(
Collectors
.
toList
());
JsonPage
<
DataApiVo
>
jsonPage
=
new
JsonPage
<>(
page
.
getCurrent
(),
page
.
getSize
(),
page
.
getTotal
(),
collect
);
return
R
.
ok
().
setData
(
jsonPage
);
}
/**
* 添加
* @param dataApi
* @return
*/
@ApiOperation
(
value
=
"添加信息"
,
notes
=
"根据dataApi对象添加信息"
)
@ApiImplicitParam
(
name
=
"dataApi"
,
value
=
"详细实体dataApi"
,
required
=
true
,
dataType
=
"DataApiDto"
)
@PostMapping
()
public
R
saveDataApi
(
@RequestBody
@Validated
({
ValidationGroups
.
Insert
.
class
})
DataApiDto
dataApi
)
{
dataApiService
.
saveDataApi
(
dataApi
);
return
R
.
ok
();
}
/**
* 修改
* @param dataApi
* @return
*/
@ApiOperation
(
value
=
"修改信息"
,
notes
=
"根据url的id来指定修改对象,并根据传过来的信息来修改详细信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
),
@ApiImplicitParam
(
name
=
"dataApi"
,
value
=
"详细实体dataApi"
,
required
=
true
,
dataType
=
"DataApiDto"
)
})
@PutMapping
(
"/{id}"
)
public
R
updateDataApi
(
@PathVariable
String
id
,
@RequestBody
@Validated
({
ValidationGroups
.
Update
.
class
})
DataApiDto
dataApi
)
{
dataApiService
.
updateDataApi
(
dataApi
);
return
R
.
ok
();
}
/**
* 删除
* @param id
* @return
*/
@ApiOperation
(
value
=
"删除"
,
notes
=
"根据url的id来指定删除对象"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"ID"
,
required
=
true
,
dataType
=
"String"
,
paramType
=
"path"
)
@DeleteMapping
(
"/{id}"
)
public
R
deleteDataApiById
(
@PathVariable
String
id
)
{
dataApiService
.
deleteDataApiById
(
id
);
return
R
.
ok
();
}
}
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/dao/DataApiDao.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
dao
;
import
cn.datax.common.base.BaseDao
;
import
cn.datax.service.data.market.api.entity.DataApiEntity
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* <p>
* 数据API信息表 Mapper 接口
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@Mapper
public
interface
DataApiDao
extends
BaseDao
<
DataApiEntity
>
{
}
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/mapstruct/DataApiMapper.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
mapstruct
;
import
cn.datax.common.mapstruct.EntityMapper
;
import
cn.datax.service.data.market.api.dto.DataApiDto
;
import
cn.datax.service.data.market.api.entity.DataApiEntity
;
import
cn.datax.service.data.market.api.vo.DataApiVo
;
import
org.mapstruct.Mapper
;
/**
* <p>
* 数据API信息表 Mapper 实体映射
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@Mapper
(
componentModel
=
"spring"
)
public
interface
DataApiMapper
extends
EntityMapper
<
DataApiDto
,
DataApiEntity
,
DataApiVo
>
{
}
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/service/DataApiService.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
service
;
import
cn.datax.service.data.market.api.entity.DataApiEntity
;
import
cn.datax.service.data.market.api.dto.DataApiDto
;
import
cn.datax.common.base.BaseService
;
/**
* <p>
* 数据API信息表 服务类
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
public
interface
DataApiService
extends
BaseService
<
DataApiEntity
>
{
void
saveDataApi
(
DataApiDto
dataApi
);
void
updateDataApi
(
DataApiDto
dataApi
);
void
deleteDataApiById
(
String
id
);
}
datax-modules/data-market-service-parent/data-market-service/src/main/java/cn/datax/service/data/market/service/impl/DataApiServiceImpl.java
0 → 100644
View file @
d373febc
package
cn
.
datax
.
service
.
data
.
market
.
service
.
impl
;
import
cn.datax.service.data.market.api.entity.DataApiEntity
;
import
cn.datax.service.data.market.api.dto.DataApiDto
;
import
cn.datax.service.data.market.service.DataApiService
;
import
cn.datax.service.data.market.mapstruct.DataApiMapper
;
import
cn.datax.service.data.market.dao.DataApiDao
;
import
cn.datax.common.base.BaseServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
/**
* <p>
* 数据API信息表 服务实现类
* </p>
*
* @author yuwei
* @since 2020-03-31
*/
@Service
@Transactional
(
propagation
=
Propagation
.
SUPPORTS
,
readOnly
=
true
,
rollbackFor
=
Exception
.
class
)
public
class
DataApiServiceImpl
extends
BaseServiceImpl
<
DataApiDao
,
DataApiEntity
>
implements
DataApiService
{
@Autowired
private
DataApiDao
dataApiDao
;
@Autowired
private
DataApiMapper
dataApiMapper
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveDataApi
(
DataApiDto
dataApiDto
)
{
DataApiEntity
dataApi
=
dataApiMapper
.
toEntity
(
dataApiDto
);
dataApiDao
.
insert
(
dataApi
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateDataApi
(
DataApiDto
dataApiDto
)
{
DataApiEntity
dataApi
=
dataApiMapper
.
toEntity
(
dataApiDto
);
dataApiDao
.
updateById
(
dataApi
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteDataApiById
(
String
id
)
{
dataApiDao
.
deleteById
(
id
);
}
}
datax-modules/data-market-service-parent/data-market-service/src/main/resources/bootstrap.yml
0 → 100644
View file @
d373febc
server
:
port
:
8814
spring
:
application
:
name
:
datax-service-data-market
profiles
:
active
:
dev
cloud
:
config
:
fail-fast
:
true
name
:
${spring.application.name}
profile
:
${spring.profiles.active}
discovery
:
enabled
:
true
service-id
:
datax-config
# 注册中心配置
eureka
:
instance
:
lease-renewal-interval-in-seconds
:
20
client
:
register-with-eureka
:
true
fetch-registry
:
true
instance-info-replication-interval-seconds
:
30
registry-fetch-interval-seconds
:
3
service-url
:
defaultZone
:
http://localhost:8610/eureka
\ No newline at end of file
datax-modules/data-market-service-parent/data-market-service/src/main/resources/mapper/DataApiMapper.xml
0 → 100644
View file @
d373febc
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.datax.service.data.market.dao.DataApiDao"
>
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"cn.datax.service.data.market.api.entity.DataApiEntity"
>
<result
column=
"id"
property=
"id"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"create_by"
property=
"createBy"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"create_dept"
property=
"createDept"
/>
<result
column=
"update_by"
property=
"updateBy"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"api_name"
property=
"apiName"
/>
<result
column=
"api_version"
property=
"apiVersion"
/>
<result
column=
"api_url"
property=
"apiUrl"
/>
<result
column=
"remark"
property=
"remark"
/>
<result
column=
"req_method"
property=
"reqMethod"
/>
<result
column=
"res_type"
property=
"resType"
/>
<result
column=
"config_json"
property=
"executeConfig"
typeHandler=
"com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
/>
<result
column=
"req_json"
property=
"reqParams"
typeHandler=
"com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
/>
<result
column=
"res_json"
property=
"resParams"
typeHandler=
"com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
/>
</resultMap>
<!-- 通用查询结果列 -->
<sql
id=
"Base_Column_List"
>
id,
status,
create_by,
create_time,
create_dept,
update_by,
update_time,
api_name, api_version, api_url, remark, req_method, res_type, config_json, req_json, res_json
</sql>
</mapper>
datax-modules/data-market-service-parent/data-market-service/src/main/resources/spy.properties
0 → 100644
View file @
d373febc
module.log
=
com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat
=
com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#日志输出到控制台
appender
=
com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# 使用日志系统记录 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 设置 p6spy driver 代理
deregisterdrivers
=
true
# 取消JDBC URL前缀
useprefix
=
true
# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories
=
info,debug,result,batch,resultset
# 日期格式
dateformat
=
yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection
=
true
# 慢SQL记录标准 2 秒
outagedetectioninterval
=
2
# 开启过滤
filter
=
true
# 配置不打印的内容
exclude
=
select 1
\ No newline at end of file
datax-modules/data-market-service-parent/pom.xml
0 → 100644
View file @
d373febc
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
datax-modules
</artifactId>
<groupId>
cn.datax
</groupId>
<version>
2.0.0
</version>
</parent>
<packaging>
pom
</packaging>
<modelVersion>
4.0.0
</modelVersion>
<version>
2.0.0
</version>
<description>
数据市场
</description>
<artifactId>
data-market-service-parent
</artifactId>
<modules>
<module>
data-market-service
</module>
<module>
data-market-service-api
</module>
</modules>
</project>
\ No newline at end of file
datax-modules/pom.xml
View file @
d373febc
...
@@ -17,5 +17,6 @@
...
@@ -17,5 +17,6 @@
<module>
file-service-parent
</module>
<module>
file-service-parent
</module>
<module>
email-service-parent
</module>
<module>
email-service-parent
</module>
<module>
data-factory-service-parent
</module>
<module>
data-factory-service-parent
</module>
<module>
data-market-service-parent
</module>
</modules>
</modules>
</project>
</project>
\ No newline at end of file
datax-tools/datax-tool-codegen/src/main/java/cn/datax/tool/codegen/utils/Generate.java
View file @
d373febc
...
@@ -16,7 +16,7 @@ public class Generate {
...
@@ -16,7 +16,7 @@ public class Generate {
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
// 代码生成器
// 代码生成器
generateByTables
(
"F://code"
,
"
factory"
,
"cn.datax.service.data"
,
new
String
[]{
"data_set
"
});
generateByTables
(
"F://code"
,
"
market"
,
"cn.datax.service.data"
,
new
String
[]{
"data_api
"
});
}
}
/**
/**
...
...
datax-tools/datax-tool-codegen/src/main/resources/templates/serviceImpl.java.vm
View file @
d373febc
...
@@ -2,7 +2,6 @@ package ${package.ServiceImpl};
...
@@ -2,7 +2,6 @@ package ${package.ServiceImpl};
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
api
.
entity
.${
entity
};
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
api
.
entity
.${
entity
};
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
api
.
dto
.${
className
}
Dto
;
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
api
.
dto
.${
className
}
Dto
;
import
${
package
.
Mapper
}.${
table
.
mapperName
};
import
${
package
.
Service
}.${
table
.
serviceName
};
import
${
package
.
Service
}.${
table
.
serviceName
};
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
mapstruct
.${
className
}
Mapper
;
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
mapstruct
.${
className
}
Mapper
;
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
dao
.${
className
}
Dao
;
import
${
cfg
.
PackageParent
}#
if
(${
package
.
ModuleName
}).${
package
.
ModuleName
}#
end
.
dao
.${
className
}
Dao
;
...
...
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