Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-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
data-hook
gic-cloud
Commits
a4eb5325
Commit
a4eb5325
authored
Sep 23, 2021
by
陶光胜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
取数平台调整
parent
cd3b9d96
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
14 deletions
+44
-14
FlatQueryTaskCondition.java
...ic/cloud/data/hook/api/entity/FlatQueryTaskCondition.java
+10
-0
CsvResultSetHelper.java
...ic/cloud/data/hook/service/entity/CsvResultSetHelper.java
+31
-11
FlatQueryResultServiceImpl.java
...ud/data/hook/service/impl/FlatQueryResultServiceImpl.java
+2
-2
FreeQueryServiceImpl.java
...ic/cloud/data/hook/service/impl/FreeQueryServiceImpl.java
+1
-1
No files found.
gic-cloud-data-hook-api/src/main/java/com/gic/cloud/data/hook/api/entity/FlatQueryTaskCondition.java
View file @
a4eb5325
...
...
@@ -108,6 +108,16 @@ public class FlatQueryTaskCondition {
return
results
;
}
public
List
<
String
>
getAllFields
(){
List
<
String
>
results
=
Lists
.
newArrayList
();
if
(
this
.
conditions
!=
null
&&
this
.
conditions
.
size
()
>
0
)
{
for
(
FlatQueryCondition
condition
:
this
.
conditions
)
{
results
.
add
(
condition
.
getFieldName
());
}
// FOR OVER
}
// IF OVER
return
results
;
}
/** 排序字段指定 */
protected
String
orderField
=
""
;
...
...
gic-cloud-data-hook-service/src/main/java/com/gic/cloud/data/hook/service/entity/CsvResultSetHelper.java
View file @
a4eb5325
package
com
.
gic
.
cloud
.
data
.
hook
.
service
.
entity
;
import
com.alibaba.dubbo.common.utils.StringUtils
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.cloud.data.hook.api.entity.FlatQueryCondition
;
import
com.gic.cloud.data.hook.service.DecryptUtils
;
import
com.gic.cloud.data.hook.service.impl.FreeQueryServiceImpl
;
import
com.opencsv.ResultSetHelper
;
...
...
@@ -22,9 +24,12 @@ public class CsvResultSetHelper implements ResultSetHelper {
/** 数据过滤用关键字集合 */
private
List
<
String
>
filters
=
null
;
public
CsvResultSetHelper
(
String
filterMode
,
List
<
String
>
filters
)
{
private
List
<
FlatQueryCondition
>
allFields
=
null
;
public
CsvResultSetHelper
(
String
filterMode
,
List
<
String
>
filters
,
List
<
FlatQueryCondition
>
allFields
)
{
this
.
filterMode
=
filterMode
;
this
.
filters
=
filters
;
this
.
allFields
=
allFields
;
}
@Override
...
...
@@ -66,13 +71,6 @@ public class CsvResultSetHelper implements ResultSetHelper {
result
=
new
String
[
columnCount
];
for
(
int
i
=
0
;
i
<
columnCount
;
i
++)
{
String
columnName
=
resultSet
.
getMetaData
().
getColumnLabel
(
i
+
1
);
System
.
out
.
println
(
"getColumnLabel = "
+
resultSet
.
getMetaData
().
getColumnLabel
(
i
+
1
));
System
.
out
.
println
(
"getColumnName = "
+
resultSet
.
getMetaData
().
getColumnName
(
i
+
1
));
System
.
out
.
println
(
"getCatalogName = "
+
resultSet
.
getMetaData
().
getCatalogName
(
i
+
1
));
System
.
out
.
println
(
"getColumnClassName = "
+
resultSet
.
getMetaData
().
getColumnClassName
(
i
+
1
));
System
.
out
.
println
(
"getColumnTypeName = "
+
resultSet
.
getMetaData
().
getColumnTypeName
(
i
+
1
));
System
.
out
.
println
(
"getColumnType = "
+
resultSet
.
getMetaData
().
getColumnType
(
i
+
1
));
System
.
out
.
println
(
"getSchemaName = "
+
resultSet
.
getMetaData
().
getSchemaName
(
i
+
1
));
// 数据处理判断
boolean
doDesensi
=
false
;
// 是否进行脱敏
boolean
doDecrypt
=
false
;
// 是否进行解密
...
...
@@ -82,7 +80,10 @@ public class CsvResultSetHelper implements ResultSetHelper {
doDesensi
=
true
;
}
}
if
(
FreeQueryServiceImpl
.
FILETERS_USER_NAME
.
contains
(
columnName
)){
if
(
allFields
!=
null
&&
isName
(
columnName
)){
doDesensi
=
true
;
}
if
(
allFields
==
null
&&
FreeQueryServiceImpl
.
FILETERS_USER_NAME
.
contains
(
columnName
)){
doDesensi
=
true
;
}
}
else
if
(
this
.
filterMode
.
equals
(
CsvDataFilterMode
.
DECRYPT
))
{
// 如果需要解密
...
...
@@ -91,13 +92,18 @@ public class CsvResultSetHelper implements ResultSetHelper {
doDecrypt
=
true
;
}
}
if
(
FreeQueryServiceImpl
.
FILETERS_USER_NAME
.
contains
(
columnName
)){
if
(
allFields
!=
null
&&
isName
(
columnName
)){
doDecrypt
=
true
;
}
if
(
allFields
==
null
&&
FreeQueryServiceImpl
.
FILETERS_USER_NAME
.
contains
(
columnName
)){
doDecrypt
=
true
;
}
}
// 数据处理
if
(
doDesensi
)
{
// 如果需要脱敏处理
if
(
FreeQueryServiceImpl
.
FILETERS_USER_NAME
.
contains
(
columnName
)){
if
(
allFields
!=
null
&&
isName
(
columnName
)){
result
[
i
]
=
DecryptUtils
.
dataSecurityProcessUserName
(
resultSet
.
getString
(
columnName
));
}
else
if
(
allFields
==
null
&&
FreeQueryServiceImpl
.
FILETERS_USER_NAME
.
contains
(
columnName
))
{
result
[
i
]
=
DecryptUtils
.
dataSecurityProcessUserName
(
resultSet
.
getString
(
columnName
));
}
else
{
result
[
i
]
=
"******"
;
...
...
@@ -132,4 +138,18 @@ public class CsvResultSetHelper implements ResultSetHelper {
}
// IF OVER
return
result
;
}
private
boolean
isName
(
String
columnName
){
if
(
StringUtils
.
isBlank
(
columnName
)){
return
false
;
}
for
(
FlatQueryCondition
condition
:
allFields
){
if
(
condition
.
getFieldMark
().
equals
(
columnName
)){
if
(
FreeQueryServiceImpl
.
FILETERS_USER_NAME
.
contains
(
condition
.
getFieldName
())){
return
true
;
}
}
}
return
false
;
}
}
gic-cloud-data-hook-service/src/main/java/com/gic/cloud/data/hook/service/impl/FlatQueryResultServiceImpl.java
View file @
a4eb5325
...
...
@@ -580,7 +580,7 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
}
//CSVWriter csvWriter = new CSVWriter(new FileWriter(csvPath), '\t');
OutputStreamWriter
out
=
new
OutputStreamWriter
(
new
FileOutputStream
(
originalFilePath
),
Charset
.
forName
(
"GBK"
));
ResultSetHelper
helper
=
new
CsvResultSetHelper
(
task
.
getQueryDataType
()
==
QueryDataType
.
FULL
?
CsvDataFilterMode
.
DECRYPT
:
CsvDataFilterMode
.
DESENSI
,
condition
.
getDecryptFilters
());
ResultSetHelper
helper
=
new
CsvResultSetHelper
(
task
.
getQueryDataType
()
==
QueryDataType
.
FULL
?
CsvDataFilterMode
.
DECRYPT
:
CsvDataFilterMode
.
DESENSI
,
condition
.
getDecryptFilters
()
,
condition
.
getConditions
()
);
CSVWriter
writer
=
new
CSVWriter
(
out
,
','
);
writer
.
setResultService
(
helper
);
writer
.
writeAll
(
rs
,
true
);
...
...
@@ -773,7 +773,7 @@ public class FlatQueryResultServiceImpl implements IFlatQueryResultService {
}
//CSVWriter csvWriter = new CSVWriter(new FileWriter(csvPath), '\t');
OutputStreamWriter
out
=
new
OutputStreamWriter
(
new
FileOutputStream
(
originalFilePath
),
Charset
.
forName
(
"GBK"
));
ResultSetHelper
helper
=
new
CsvResultSetHelper
(
task
.
getQueryDataType
()
==
QueryDataType
.
FULL
?
CsvDataFilterMode
.
DECRYPT
:
CsvDataFilterMode
.
DESENSI
,
condition
.
getDecryptFilters
());
ResultSetHelper
helper
=
new
CsvResultSetHelper
(
task
.
getQueryDataType
()
==
QueryDataType
.
FULL
?
CsvDataFilterMode
.
DECRYPT
:
CsvDataFilterMode
.
DESENSI
,
condition
.
getDecryptFilters
()
,
condition
.
getConditions
()
);
CSVWriter
writer
=
new
CSVWriter
(
out
,
','
);
writer
.
setResultService
(
helper
);
writer
.
writeAll
(
rs
,
true
);
...
...
gic-cloud-data-hook-service/src/main/java/com/gic/cloud/data/hook/service/impl/FreeQueryServiceImpl.java
View file @
a4eb5325
...
...
@@ -412,7 +412,7 @@ public class FreeQueryServiceImpl implements IFreeQueryService {
//CSVWriter csvWriter = new CSVWriter(new FileWriter(csvPath), '\t');
OutputStreamWriter
out
=
new
OutputStreamWriter
(
new
FileOutputStream
(
originalFilePath
),
Charset
.
forName
(
"GBK"
));
ResultSetHelper
helper
=
new
CsvResultSetHelper
(
task
.
getQueryDataType
()
==
QueryDataType
.
FULL
?
CsvDataFilterMode
.
NONE
:
CsvDataFilterMode
.
DESENSI
,
FreeQueryServiceImpl
.
getFieldsFilters
(
condition
.
getDesensiType
()));
ResultSetHelper
helper
=
new
CsvResultSetHelper
(
task
.
getQueryDataType
()
==
QueryDataType
.
FULL
?
CsvDataFilterMode
.
NONE
:
CsvDataFilterMode
.
DESENSI
,
FreeQueryServiceImpl
.
getFieldsFilters
(
condition
.
getDesensiType
())
,
null
);
CSVWriter
writer
=
new
CSVWriter
(
out
,
','
);
writer
.
setResultService
(
helper
);
writer
.
writeAll
(
rs
,
true
);
...
...
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