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
c38b56ce
Commit
c38b56ce
authored
Apr 16, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.0.0项目初始化
parent
a78ae097
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
76 additions
and
61 deletions
+76
-61
AbstractFactory.java
...service/data/market/api/call/factory/AbstractFactory.java
+8
-0
AlgorithmFactory.java
...ervice/data/market/api/call/factory/AlgorithmFactory.java
+4
-9
FactoryProducer.java
...service/data/market/api/call/factory/FactoryProducer.java
+1
-1
RegexFactory.java
...ax/service/data/market/api/call/factory/RegexFactory.java
+4
-9
ADDRESSCrypto.java
...ce/data/market/api/call/factory/crypto/ADDRESSCrypto.java
+1
-1
AESCrypto.java
...ervice/data/market/api/call/factory/crypto/AESCrypto.java
+8
-6
AlgorithmRegistry.java
...ata/market/api/call/factory/crypto/AlgorithmRegistry.java
+1
-1
BANKCARDCrypto.java
...e/data/market/api/call/factory/crypto/BANKCARDCrypto.java
+1
-1
BASE64Crypto.java
...ice/data/market/api/call/factory/crypto/BASE64Crypto.java
+1
-1
CHINESENAMECrypto.java
...ata/market/api/call/factory/crypto/CHINESENAMECrypto.java
+1
-1
CNAPSCODECrypto.java
.../data/market/api/call/factory/crypto/CNAPSCODECrypto.java
+1
-1
Crypto.java
...x/service/data/market/api/call/factory/crypto/Crypto.java
+1
-1
DESCrypto.java
...ervice/data/market/api/call/factory/crypto/DESCrypto.java
+6
-5
EMAILCrypto.java
...vice/data/market/api/call/factory/crypto/EMAILCrypto.java
+1
-1
FIXEDPHONECrypto.java
...data/market/api/call/factory/crypto/FIXEDPHONECrypto.java
+1
-1
IDCARDCrypto.java
...ice/data/market/api/call/factory/crypto/IDCARDCrypto.java
+1
-1
MD5Crypto.java
...ervice/data/market/api/call/factory/crypto/MD5Crypto.java
+1
-1
MOBILEPHONECrypto.java
...ata/market/api/call/factory/crypto/MOBILEPHONECrypto.java
+1
-1
RegexRegistry.java
...ce/data/market/api/call/factory/crypto/RegexRegistry.java
+1
-1
SHA1Crypto.java
...rvice/data/market/api/call/factory/crypto/SHA1Crypto.java
+1
-1
SHA256Crypto.java
...ice/data/market/api/call/factory/crypto/SHA256Crypto.java
+1
-1
ApiCallServiceImpl.java
...data/market/api/call/service/impl/ApiCallServiceImpl.java
+30
-6
AbstractFactory.java
...ice/data/market/data/masking/factory/AbstractFactory.java
+0
-10
No files found.
datax-modules/data-market-service-parent/data-market-service-api-call/src/main/java/cn/datax/service/data/market/api/call/factory/AbstractFactory.java
0 → 100644
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
;
import
cn.datax.service.data.market.api.call.factory.crypto.Crypto
;
public
abstract
class
AbstractFactory
{
public
abstract
Crypto
getCrypto
(
Integer
type
);
}
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/AlgorithmFactory.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/AlgorithmFactory.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
;
import
cn.datax.service.data.market.api.call.factory.crypto.AlgorithmRegistry
;
import
cn.datax.service.data.market.api.call.factory.crypto.Crypto
;
import
cn.datax.service.data.market.api.enums.AlgorithmCrypto
;
import
cn.datax.service.data.market.data.masking.factory.crypto.AlgorithmRegistry
;
import
cn.datax.service.data.market.data.masking.factory.crypto.Crypto
;
public
class
AlgorithmFactory
extends
AbstractFactory
{
private
static
final
AlgorithmRegistry
ALGORITHM_REGISTRY
=
new
AlgorithmRegistry
();
@Override
public
Crypto
get
Algorithm
(
Integer
type
)
{
public
Crypto
get
Crypto
(
Integer
type
)
{
AlgorithmCrypto
crypto
=
AlgorithmCrypto
.
getAlgorithmCrypto
(
type
);
return
ALGORITHM_REGISTRY
.
getAlgorithm
(
crypto
);
}
@Override
public
Crypto
getRegex
(
Integer
type
)
{
return
null
;
}
}
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/FactoryProducer.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/FactoryProducer.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
;
import
cn.datax.service.data.market.api.enums.CipherType
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/RegexFactory.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/RegexFactory.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
;
import
cn.datax.service.data.market.api.call.factory.crypto.Crypto
;
import
cn.datax.service.data.market.api.call.factory.crypto.RegexRegistry
;
import
cn.datax.service.data.market.api.enums.RegexCrypto
;
import
cn.datax.service.data.market.data.masking.factory.crypto.Crypto
;
import
cn.datax.service.data.market.data.masking.factory.crypto.RegexRegistry
;
public
class
RegexFactory
extends
AbstractFactory
{
private
static
final
RegexRegistry
REGEX_REGISTRY
=
new
RegexRegistry
();
@Override
public
Crypto
getAlgorithm
(
Integer
type
)
{
return
null
;
}
@Override
public
Crypto
getRegex
(
Integer
type
)
{
public
Crypto
getCrypto
(
Integer
type
)
{
RegexCrypto
crypto
=
RegexCrypto
.
getRegexCrypto
(
type
);
return
REGEX_REGISTRY
.
getRegex
(
crypto
);
}
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/ADDRESSCrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/ADDRESSCrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/AESCrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/AESCrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
cn.hutool.core.util.StrUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
javax.crypto.*
;
import
javax.crypto.Cipher
;
import
javax.crypto.KeyGenerator
;
import
javax.crypto.SecretKey
;
import
javax.crypto.spec.SecretKeySpec
;
import
java.security.SecureRandom
;
import
java.util.Base64
;
...
...
@@ -12,7 +14,7 @@ public class AESCrypto implements Crypto {
@Override
public
String
encrypt
(
String
content
)
{
if
(
Str
ingUtils
.
isBlank
(
content
))
{
if
(
Str
Util
.
isBlank
(
content
))
{
return
null
;
}
try
{
...
...
@@ -27,9 +29,9 @@ public class AESCrypto implements Crypto {
//5.根据字节数组生成AES密钥
SecretKeySpec
key
=
new
SecretKeySpec
(
enCodeFormat
,
"AES"
);
//6.根据指定算法AES生成密码器
javax
.
crypto
.
Cipher
cipher
=
javax
.
crypto
.
Cipher
.
getInstance
(
"AES"
);
Cipher
cipher
=
Cipher
.
getInstance
(
"AES"
);
//7.初始化密码器,第一个参数为加密(Encrypt_mode)或者解密解密(Decrypt_mode)操作,第二个参数为使用的KEY
cipher
.
init
(
javax
.
crypto
.
Cipher
.
ENCRYPT_MODE
,
key
);
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
key
);
//8.根据密码器的初始化方式--加密:将数据加密
byte
[]
AES_encrypt
=
cipher
.
doFinal
(
content
.
getBytes
(
CHARSET_UTF8
));
//9.将字符串返回
...
...
@@ -57,7 +59,7 @@ public class AESCrypto implements Crypto {
//5.根据字节数组生成AES密钥
SecretKeySpec
key
=
new
SecretKeySpec
(
enCodeFormat
,
"AES"
);
//6.根据指定算法AES生成密码器
javax
.
crypto
.
Cipher
cipher
=
javax
.
crypto
.
Cipher
.
getInstance
(
"AES"
);
Cipher
cipher
=
Cipher
.
getInstance
(
"AES"
);
//7.初始化密码器,第一个参数为加密(Encrypt_mode)或者解密解密(Decrypt_mode)操作,第二个参数为使用的KEY
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
key
);
// 初始化
//8.根据密码器的初始化方式--加密:将数据加密
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/AlgorithmRegistry.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/AlgorithmRegistry.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
cn.datax.service.data.market.api.enums.AlgorithmCrypto
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/BANKCARDCrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/BANKCARDCrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/BASE64Crypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/BASE64Crypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/CHINESENAMECrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/CHINESENAMECrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/CNAPSCODECrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/CNAPSCODECrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/Crypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/Crypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
public
interface
Crypto
{
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/DESCrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/DESCrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
import
javax.crypto.*
;
import
javax.crypto.Cipher
;
import
javax.crypto.KeyGenerator
;
import
javax.crypto.SecretKey
;
import
javax.crypto.spec.SecretKeySpec
;
import
java.security.SecureRandom
;
import
java.util.Base64
;
...
...
@@ -21,8 +22,8 @@ public class DESCrypto implements Crypto {
SecretKey
secretKey
=
kGen
.
generateKey
();
byte
[]
enCodeFormat
=
secretKey
.
getEncoded
();
SecretKeySpec
key
=
new
SecretKeySpec
(
enCodeFormat
,
"DES"
);
javax
.
crypto
.
Cipher
cipher
=
javax
.
crypto
.
Cipher
.
getInstance
(
"DES"
);
cipher
.
init
(
javax
.
crypto
.
Cipher
.
ENCRYPT_MODE
,
key
);
Cipher
cipher
=
Cipher
.
getInstance
(
"DES"
);
cipher
.
init
(
Cipher
.
ENCRYPT_MODE
,
key
);
byte
[]
DES_encrypt
=
cipher
.
doFinal
(
content
.
getBytes
(
CHARSET_UTF8
));
return
Base64
.
getEncoder
().
encodeToString
(
DES_encrypt
);
}
catch
(
Exception
e
)
{
...
...
@@ -41,7 +42,7 @@ public class DESCrypto implements Crypto {
SecretKey
secretKey
=
kGen
.
generateKey
();
byte
[]
enCodeFormat
=
secretKey
.
getEncoded
();
SecretKeySpec
key
=
new
SecretKeySpec
(
enCodeFormat
,
"DES"
);
javax
.
crypto
.
Cipher
cipher
=
javax
.
crypto
.
Cipher
.
getInstance
(
"DES"
);
Cipher
cipher
=
Cipher
.
getInstance
(
"DES"
);
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
key
);
byte
[]
DES_decrypt
=
cipher
.
doFinal
(
Base64
.
getDecoder
().
decode
(
content
));
return
new
String
(
DES_decrypt
,
CHARSET_UTF8
);
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/EMAILCrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/EMAILCrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/FIXEDPHONECrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/FIXEDPHONECrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/IDCARDCrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/IDCARDCrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/MD5Crypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/MD5Crypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/MOBILEPHONECrypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/MOBILEPHONECrypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/RegexRegistry.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/RegexRegistry.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
cn.datax.service.data.market.api.enums.RegexCrypto
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/SHA1Crypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/SHA1Crypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-
data-masking/src/main/java/cn/datax/service/data/market/data/masking
/factory/crypto/SHA256Crypto.java
→
datax-modules/data-market-service-parent/data-market-service-
api-call/src/main/java/cn/datax/service/data/market/api/call
/factory/crypto/SHA256Crypto.java
View file @
c38b56ce
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
.
crypto
;
package
cn
.
datax
.
service
.
data
.
market
.
api
.
call
.
factory
.
crypto
;
import
org.apache.commons.lang3.StringUtils
;
...
...
datax-modules/data-market-service-parent/data-market-service-api-call/src/main/java/cn/datax/service/data/market/api/call/service/impl/ApiCallServiceImpl.java
View file @
c38b56ce
...
...
@@ -11,6 +11,9 @@ import cn.datax.common.utils.ThrowableUtil;
import
cn.datax.service.data.factory.api.dto.DbSchema
;
import
cn.datax.service.data.factory.api.entity.DataSourceEntity
;
import
cn.datax.service.data.factory.api.feign.DataSourceServiceFeign
;
import
cn.datax.service.data.market.api.call.factory.AbstractFactory
;
import
cn.datax.service.data.market.api.call.factory.FactoryProducer
;
import
cn.datax.service.data.market.api.call.factory.crypto.Crypto
;
import
cn.datax.service.data.market.api.call.service.ApiCallService
;
import
cn.datax.service.data.market.api.call.utils.SqlBuilderUtil
;
import
cn.datax.service.data.market.api.call.utils.ThreadUtil
;
...
...
@@ -90,20 +93,41 @@ public class ApiCallServiceImpl implements ApiCallService {
ApiMaskEntity
apiMask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
maskResult
.
getData
()),
ApiMaskEntity
.
class
);
rules
=
apiMask
.
getRules
();
}
PageResult
<
Map
<
String
,
Object
>>
pageResult
;
try
{
pageResult
=
dbQuery
.
queryByPage
(
sqlFilterResult
.
getSql
(),
acceptedFilters
,
offset
,
pageSize
);
}
catch
(
Exception
e
)
{
log
.
error
(
"全局异常信息ex={}, StackTrace={}"
,
e
.
getMessage
(),
ThrowableUtil
.
getStackTrace
(
e
));
ThreadUtil
.
getInstance
().
get
().
setStatus
(
0
);
ThreadUtil
.
getInstance
().
get
().
setMsg
(
e
.
getMessage
());
throw
new
DataException
(
"API调用查询结果集出错"
);
}
try
{
PageResult
<
Map
<
String
,
Object
>>
pageResult
=
dbQuery
.
queryByPage
(
sqlFilterResult
.
getSql
(),
acceptedFilters
,
offset
,
pageSize
);
if
(
CollUtil
.
isNotEmpty
(
rules
)){
// 并行流处理脱敏
// pageResult.getData().parallelStream()
List
<
FieldRule
>
finalRules
=
rules
;
pageResult
.
getData
().
parallelStream
().
forEach
(
m
->
{
finalRules
.
stream
().
forEach
(
r
->
{
if
(
m
.
containsKey
(
r
.
getFieldName
()))
{
Object
obj
=
m
.
get
(
r
.
getFieldName
());
if
(
null
!=
obj
){
AbstractFactory
factory
=
FactoryProducer
.
getFactory
(
r
.
getCipherType
());
Crypto
crypto
=
factory
.
getCrypto
(
r
.
getCryptType
());
String
encrypt
=
crypto
.
encrypt
(
String
.
valueOf
(
obj
));
m
.
put
(
r
.
getFieldName
(),
encrypt
);
}
}
});
});
}
pageResult
.
setPageNum
(
pageNum
).
setPageSize
(
pageSize
);
ThreadUtil
.
getInstance
().
get
().
setCallerSize
(
pageResult
.
getData
().
size
());
return
pageResult
;
}
catch
(
Exception
e
)
{
log
.
error
(
"全局异常信息ex={}, StackTrace={}"
,
e
.
getMessage
(),
ThrowableUtil
.
getStackTrace
(
e
));
ThreadUtil
.
getInstance
().
get
().
setStatus
(
0
);
ThreadUtil
.
getInstance
().
get
().
setMsg
(
e
.
getMessage
());
throw
new
DataException
(
"API调用
查询结果集
出错"
);
throw
new
DataException
(
"API调用
数据脱敏
出错"
);
}
pageResult
.
setPageNum
(
pageNum
).
setPageSize
(
pageSize
);
ThreadUtil
.
getInstance
().
get
().
setCallerSize
(
pageResult
.
getData
().
size
());
return
pageResult
;
}
}
datax-modules/data-market-service-parent/data-market-service-data-masking/src/main/java/cn/datax/service/data/market/data/masking/factory/AbstractFactory.java
deleted
100644 → 0
View file @
a78ae097
package
cn
.
datax
.
service
.
data
.
market
.
data
.
masking
.
factory
;
import
cn.datax.service.data.market.data.masking.factory.crypto.Crypto
;
public
abstract
class
AbstractFactory
{
public
abstract
Crypto
getAlgorithm
(
Integer
type
);
public
abstract
Crypto
getRegex
(
Integer
type
);
}
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