Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-enterprise-base
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
base_platform_enterprise
gic-enterprise-base
Commits
3519770d
Commit
3519770d
authored
Feb 03, 2020
by
guojuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
如果是完整数据下载,不加密
parent
dd1858c5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
74 additions
and
9 deletions
+74
-9
DownloadReportTempDTO.java
...main/java/com/gic/download/dto/DownloadReportTempDTO.java
+39
-0
DataDownloadUtils.java
...c/main/java/com/gic/download/utils/DataDownloadUtils.java
+24
-3
DownloadUtils.java
...d/src/main/java/com/gic/download/utils/DownloadUtils.java
+11
-6
No files found.
gic-enterprise-download/src/main/java/com/gic/download/dto/DownloadReportTempDTO.java
0 → 100644
View file @
3519770d
package
com
.
gic
.
download
.
dto
;
import
java.io.Serializable
;
/**
* 下载中心记录
* @ClassName: DownloadReportTempDTO
* @Description:
* @author guojuxing
* @date 2020/2/3 4:55 PM
*/
public
class
DownloadReportTempDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4845073563932941443L
;
/**
* 报告类型 1:完整数据, 2:脱敏数据, 3:二维码
*/
private
Integer
dataType
;
/**
* 数据总量
*/
private
Integer
dataCount
;
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
Integer
getDataCount
()
{
return
dataCount
;
}
public
void
setDataCount
(
Integer
dataCount
)
{
this
.
dataCount
=
dataCount
;
}
}
gic-enterprise-download/src/main/java/com/gic/download/utils/DataDownloadUtils.java
View file @
3519770d
...
...
@@ -12,6 +12,7 @@ import java.util.regex.Pattern;
import
javax.annotation.PostConstruct
;
import
com.gic.download.dto.DownloadReportTempDTO
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
...
...
@@ -84,6 +85,25 @@ public class DataDownloadUtils {
}
/**
* 根据ID获取记录,获取现在数据类型和总数信息
* @param reportId
* @return
*/
public
static
DownloadReportTempDTO
getByReportId
(
Integer
reportId
)
{
ServiceResponse
<
DownloadReportDTO
>
reportResult
=
dataDownloadUtils
.
downloadReportApiService
.
getDownloadReport
(
reportId
);
if
(
reportResult
.
isSuccess
())
{
DownloadReportDTO
report
=
reportResult
.
getResult
();
DownloadReportTempDTO
temp
=
new
DownloadReportTempDTO
();
temp
.
setDataCount
(
report
.
getDataCount
());
temp
.
setDataType
(
report
.
getDataType
());
return
temp
;
}
LOGGER
.
info
(
"根据reportId获取数据错误:{}"
,
JSON
.
toJSONString
(
reportResult
));
return
null
;
}
/**
* 初始化下载工具类
* @param initParams
* @throws IOException
...
...
@@ -152,7 +172,8 @@ public class DataDownloadUtils {
writer
.
flush
();
String
fieldCode
=
"/"
+
System
.
currentTimeMillis
()
+
"_"
+
params
.
getFileName
()
+
".csv"
;
//文件存进腾讯云
String
url
=
FileOperateUtils
.
simpleUploadFileFromLocal
(
csvFile
,
fieldCode
,
BucketNameEnum
.
REPORT_50000
.
getName
());
String
url
=
FileOperateUtils
.
simpleUploadFileFromLocal
(
csvFile
,
fieldCode
,
BucketNameEnum
.
REPORT_50000
.
getName
());
if
(
StringUtils
.
isNotBlank
(
url
))
{
url
=
"https://"
+
url
;
}
...
...
@@ -300,8 +321,8 @@ public class DataDownloadUtils {
* @param fileUrl
*/
public
static
void
uploadFile
(
Integer
reportId
,
String
fileUrl
)
{
ServiceResponse
<
Integer
>
result
=
dataDownloadUtils
.
downloadReportApiService
.
updateDownloadUrl
(
reportId
,
fileUrl
);
ServiceResponse
<
Integer
>
result
=
dataDownloadUtils
.
downloadReportApiService
.
updateDownloadUrl
(
reportId
,
fileUrl
);
if
(!
result
.
isSuccess
())
{
throw
new
CommonException
(
result
);
}
...
...
gic-enterprise-download/src/main/java/com/gic/download/utils/DownloadUtils.java
View file @
3519770d
...
...
@@ -7,6 +7,7 @@ import java.util.*;
import
javax.servlet.http.HttpServletResponse
;
import
com.gic.download.constants.ExcelExtensionEnum
;
import
com.gic.download.dto.DownloadReportTempDTO
;
import
com.gic.thirdparty.BucketNameEnum
;
import
com.gic.thirdparty.FileOperateUtils
;
import
org.apache.commons.beanutils.BeanUtils
;
...
...
@@ -163,7 +164,7 @@ public class DownloadUtils {
}
};
writeOutputStream
(
loader
,
propertyNameList
,
writer
,
needEncryptField
);
writeOutputStream
(
loader
,
propertyNameList
,
writer
,
needEncryptField
,
reportId
);
// 写入excel
if
(!
ExcelUtils
.
setExcelInfo
(
sheet
,
columnWidth
,
headerList
,
rows
))
{
throw
new
IOException
(
"设置导出文件内容失败。"
);
...
...
@@ -184,7 +185,7 @@ public class DownloadUtils {
// 写文件头
writer
.
write
(
headerList
);
// 写文件
writeOutputStream
(
loader
,
propertyNameList
,
writer
,
needEncryptField
);
writeOutputStream
(
loader
,
propertyNameList
,
writer
,
needEncryptField
,
reportId
);
}
else
{
writer
=
new
Writer
()
{
@Override
...
...
@@ -197,7 +198,7 @@ public class DownloadUtils {
// 写文件头
writer
.
write
(
headerList
);
// 写文件
writeOutputStream
(
loader
,
propertyNameList
,
writer
,
needEncryptField
);
writeOutputStream
(
loader
,
propertyNameList
,
writer
,
needEncryptField
,
reportId
);
}
out
.
flush
();
tempFile
.
deleteOnExit
();
...
...
@@ -246,8 +247,9 @@ public class DownloadUtils {
}
protected
<
T
>
void
writeOutputStream
(
DownloadDataLoader
<
T
>
loader
,
List
<
String
>
propertyNames
,
Writer
writer
,
List
<
String
>
needEncryptField
)
throws
Exception
{
Writer
writer
,
List
<
String
>
needEncryptField
,
Integer
reportId
)
throws
Exception
{
DownloadReportTempDTO
tempReport
=
DataDownloadUtils
.
getByReportId
(
reportId
);
int
pageNum
=
1
;
int
maxLength
=
102400
;
while
(
maxLength
--
>
0
)
{
...
...
@@ -273,8 +275,11 @@ public class DownloadUtils {
// 将属性值转换成字符串
String
convertValue
=
loader
.
convertProperty
(
bean
,
name
,
property
);
//加密处理
if
(
needEncryptField
!=
null
&&
needEncryptField
.
contains
(
name
))
{
convertValue
=
encrypt
(
convertValue
);
//如果不是完整数据,则需要加密处理
if
(
tempReport
!=
null
&&
tempReport
.
getDataType
().
intValue
()
!=
1
)
{
if
(
needEncryptField
!=
null
&&
needEncryptField
.
contains
(
name
))
{
convertValue
=
encrypt
(
convertValue
);
}
}
// 组装成row
result
.
add
(
convertValue
);
...
...
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