Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
ocrCloudPlatForm
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ocr-cloud-platform
ocrCloudPlatForm
Commits
76615edf
Commit
76615edf
authored
Dec 29, 2023
by
黄明步
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改文件转换
parent
c7a81612
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
223 additions
and
202 deletions
+223
-202
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/RetransmissionService.java
+223
-202
No files found.
src/main/java/com/gxmailu/ocrCloudPlatform/service/impl/RetransmissionService.java
View file @
76615edf
...
@@ -173,44 +173,48 @@ public class RetransmissionService {
...
@@ -173,44 +173,48 @@ public class RetransmissionService {
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
FileUtil
.
mkdir
(
tempSaveDir
);
FileUtil
.
mkdir
(
tempSaveDir
);
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
try
{
try
{
file
.
transferTo
(
tempFile
);
file
.
transferTo
(
tempFile
);
}
catch
(
IOException
e
)
{
paramMap
.
put
(
"file"
,
tempFile
);
return
OcrResult
.
error
(
"异常!"
+
e
);
paramMap
.
put
(
"createOfd"
,
createOfd
);
}
if
(
ocrServerAddress
==
null
)
{
paramMap
.
put
(
"file"
,
tempFile
);
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
paramMap
.
put
(
"createOfd"
,
createOfd
);
}
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
if
(
ocrServerAddress
==
null
)
{
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
// 开始阶段,设置请求开始时间
// 开始阶段,设置请求开始时间
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/"
+
code
)
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/"
+
code
)
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
.
form
(
paramMap
).
execute
().
body
();
// 记录请求结束时间
// 记录请求结束时间
long
endTime
=
System
.
currentTimeMillis
();
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
if
(
StringUtils
.
isEmpty
(
res
))
{
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
return
result
;
}
catch
(
Exception
e
)
{
log
.
error
(
"OCR云平台接口异常"
,
e
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
finally
{
FileUtil
.
del
(
tempSaveDir
);
if
(
ObjUtil
.
isNotNull
(
ocrServerAddress
))
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
}
}
}
FileUtil
.
del
(
tempSaveDir
);
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
return
result
;
}
}
public
OcrResult
commonRecognitionV2
(
String
code
,
String
fileId
,
MultipartFile
file
,
Boolean
createOfd
,
HttpServletRequest
request
)
{
public
OcrResult
commonRecognitionV2
(
String
code
,
String
fileId
,
MultipartFile
file
,
Boolean
createOfd
,
HttpServletRequest
request
)
{
...
@@ -219,44 +223,48 @@ public class RetransmissionService {
...
@@ -219,44 +223,48 @@ public class RetransmissionService {
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
FileUtil
.
mkdir
(
tempSaveDir
);
FileUtil
.
mkdir
(
tempSaveDir
);
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
try
{
try
{
file
.
transferTo
(
tempFile
);
file
.
transferTo
(
tempFile
);
}
catch
(
IOException
e
)
{
paramMap
.
put
(
"file"
,
tempFile
);
return
OcrResult
.
error
(
"异常!"
+
e
);
paramMap
.
put
(
"createOfd"
,
createOfd
);
}
if
(
ocrServerAddress
==
null
)
{
paramMap
.
put
(
"file"
,
tempFile
);
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
paramMap
.
put
(
"createOfd"
,
createOfd
);
}
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
if
(
ocrServerAddress
==
null
)
{
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
// 开始阶段,设置请求开始时间
// 开始阶段,设置请求开始时间
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v2/"
+
code
)
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v2/"
+
code
)
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
.
form
(
paramMap
).
execute
().
body
();
// 记录请求结束时间
// 记录请求结束时间
long
endTime
=
System
.
currentTimeMillis
();
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
if
(
StringUtils
.
isEmpty
(
res
))
{
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
return
result
;
}
catch
(
Exception
e
)
{
log
.
error
(
"OCR云平台接口异常"
,
e
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
finally
{
FileUtil
.
del
(
tempSaveDir
);
if
(
ObjUtil
.
isNotNull
(
ocrServerAddress
))
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
}
}
}
FileUtil
.
del
(
tempSaveDir
);
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
return
result
;
}
}
...
@@ -332,7 +340,7 @@ public class RetransmissionService {
...
@@ -332,7 +340,7 @@ public class RetransmissionService {
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"在处理ID为 {} 的PDF下载过程中发生异常"
,
id
,
e
);
log
.
error
(
"在处理ID为 {} 的PDF下载过程中发生异常"
,
id
,
e
);
returnError
(
response
,
500
,
"OCR云平台接口异常"
);
//
returnError(response, 500, "OCR云平台接口异常");
}
}
}
}
...
@@ -405,7 +413,7 @@ public class RetransmissionService {
...
@@ -405,7 +413,7 @@ public class RetransmissionService {
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"在处理ID为 {} 的PDF下载过程中发生异常"
,
id
,
e
);
log
.
error
(
"在处理ID为 {} 的PDF下载过程中发生异常"
,
id
,
e
);
returnError
(
response
,
500
,
"OCR云平台接口异常"
);
//
returnError(response, 500, "OCR云平台接口异常");
}
}
}
}
...
@@ -415,43 +423,48 @@ public class RetransmissionService {
...
@@ -415,43 +423,48 @@ public class RetransmissionService {
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
FileUtil
.
mkdir
(
tempSaveDir
);
FileUtil
.
mkdir
(
tempSaveDir
);
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
try
{
try
{
file
.
transferTo
(
tempFile
);
file
.
transferTo
(
tempFile
);
}
catch
(
IOException
e
)
{
return
OcrResult
.
error
(
"异常!"
+
e
);
}
paramMap
.
put
(
"file"
,
tempFile
);
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
paramMap
.
put
(
"file"
,
tempFile
);
if
(
ocrServerAddress
==
null
)
{
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
// 设置开始时间
if
(
ocrServerAddress
==
null
)
{
long
startTime
=
System
.
currentTimeMillis
();
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/ft/1001"
)
// 设置开始时间
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
long
startTime
=
System
.
currentTimeMillis
();
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
// 设置结束时间
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/ft/1001"
)
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
// 设置结束时间
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
return
result
;
}
catch
(
IOException
e
)
{
log
.
error
(
"OCR云平台接口异常"
,
e
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
finally
{
FileUtil
.
del
(
tempSaveDir
);
if
(
ObjUtil
.
isNotNull
(
ocrServerAddress
))
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
}
}
}
FileUtil
.
del
(
tempSaveDir
);
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
return
result
;
}
}
public
OcrResult
fullTextRecognitionV2
(
String
fileId
,
MultipartFile
file
,
HttpServletRequest
request
)
{
public
OcrResult
fullTextRecognitionV2
(
String
fileId
,
MultipartFile
file
,
HttpServletRequest
request
)
{
...
@@ -460,43 +473,49 @@ public class RetransmissionService {
...
@@ -460,43 +473,49 @@ public class RetransmissionService {
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
FileUtil
.
mkdir
(
tempSaveDir
);
FileUtil
.
mkdir
(
tempSaveDir
);
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
try
{
try
{
file
.
transferTo
(
tempFile
);
file
.
transferTo
(
tempFile
);
}
catch
(
IOException
e
)
{
return
OcrResult
.
error
(
"异常!"
+
e
);
}
paramMap
.
put
(
"file"
,
tempFile
);
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
paramMap
.
put
(
"file"
,
tempFile
);
if
(
ocrServerAddress
==
null
)
{
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
// 设置开始时间
if
(
ocrServerAddress
==
null
)
{
long
startTime
=
System
.
currentTimeMillis
();
log
.
error
(
"OCR云平台未配置服务器信息"
);
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v2/ft/1001"
)
// 设置开始时间
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
long
startTime
=
System
.
currentTimeMillis
();
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
// 设置结束时间
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v2/ft/1001"
)
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
// 设置结束时间
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
return
result
;
}
catch
(
IOException
e
)
{
log
.
error
(
"OCR云平台接口异常"
,
e
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
finally
{
FileUtil
.
del
(
tempSaveDir
);
if
(
ObjUtil
.
isNotNull
(
ocrServerAddress
))
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
}
}
}
FileUtil
.
del
(
tempSaveDir
);
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
return
result
;
}
}
public
OcrResult
cardRecognition
(
Integer
code
,
String
fileId
,
MultipartFile
file
,
HttpServletRequest
request
)
{
public
OcrResult
cardRecognition
(
Integer
code
,
String
fileId
,
MultipartFile
file
,
HttpServletRequest
request
)
{
...
@@ -505,42 +524,47 @@ public class RetransmissionService {
...
@@ -505,42 +524,47 @@ public class RetransmissionService {
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
FileUtil
.
mkdir
(
tempSaveDir
);
FileUtil
.
mkdir
(
tempSaveDir
);
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
try
{
try
{
file
.
transferTo
(
tempFile
);
file
.
transferTo
(
tempFile
);
}
catch
(
IOException
e
)
{
paramMap
.
put
(
"file"
,
tempFile
);
return
OcrResult
.
error
(
"异常!"
+
e
);
}
paramMap
.
put
(
"file"
,
tempFile
);
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
if
(
ocrServerAddress
==
null
)
{
if
(
ocrServerAddress
==
null
)
{
log
.
error
(
"OCR云平台未配置服务器信息"
);
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
()
);
}
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
// 设置开始时间
// 设置开始时间
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/kv/"
+
code
)
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/kv/"
+
code
)
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
.
form
(
paramMap
).
execute
().
body
();
// 设置结束时间
// 设置结束时间
long
endTime
=
System
.
currentTimeMillis
();
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
if
(
StringUtils
.
isEmpty
(
res
))
{
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
return
result
;
}
catch
(
IOException
e
)
{
log
.
error
(
"OCR云平台接口异常"
,
e
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
finally
{
FileUtil
.
del
(
tempSaveDir
);
if
(
ObjUtil
.
isNotNull
(
ocrServerAddress
))
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
}
}
}
FileUtil
.
del
(
tempSaveDir
);
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
return
result
;
}
}
public
OcrResult
cardRecognitionBaseMinio
(
String
id
,
String
bucket
,
public
OcrResult
cardRecognitionBaseMinio
(
String
id
,
String
bucket
,
...
@@ -591,44 +615,49 @@ public class RetransmissionService {
...
@@ -591,44 +615,49 @@ public class RetransmissionService {
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
FileUtil
.
mkdir
(
tempSaveDir
);
FileUtil
.
mkdir
(
tempSaveDir
);
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
file
.
getOriginalFilename
())));
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
try
{
try
{
file
.
transferTo
(
tempFile
);
file
.
transferTo
(
tempFile
);
}
catch
(
IOException
e
)
{
paramMap
.
put
(
"file"
,
tempFile
);
return
OcrResult
.
error
(
"异常!"
+
e
);
}
paramMap
.
put
(
"file"
,
tempFile
);
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
if
(
ocrServerAddress
==
null
)
{
if
(
ocrServerAddress
==
null
)
{
log
.
error
(
"OCR云平台未配置服务器信息"
);
return
OcrResult
.
error
(
"OCR云平台未配置服务器信息"
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
()
);
}
}
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
// 设置开始时间
// 设置开始时间
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
1
,
startTime
,
null
,
null
,
ocrServerAddress
,
request
);
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/6002"
)
String
res
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/sync/v1/6002"
)
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"Authorization"
,
request
.
getHeader
(
"Authorization"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Timestamp"
,
request
.
getHeader
(
"X-Timestamp"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
header
(
"X-Checksum"
,
request
.
getHeader
(
"X-Checksum"
))
.
form
(
paramMap
).
execute
().
body
();
.
form
(
paramMap
).
execute
().
body
();
// 设置结束时间
// 设置结束时间
long
endTime
=
System
.
currentTimeMillis
();
long
endTime
=
System
.
currentTimeMillis
();
if
(
StringUtils
.
isEmpty
(
res
))
{
if
(
StringUtils
.
isEmpty
(
res
))
{
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
null
,
ocrServerAddress
,
request
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
}
FileUtil
.
del
(
tempSaveDir
);
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
OcrResult
result
=
JSONUtil
.
toBean
(
res
,
OcrResult
.
class
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
this
.
setRequestToRedis
(
2
,
startTime
,
endTime
,
result
,
ocrServerAddress
,
request
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
saveToAppAbilityRecordAll
(
result
,
request
,
ocrServerAddress
.
getIp
(),
fileId
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
return
result
;
return
result
;
}
catch
(
Exception
e
)
{
log
.
error
(
"OCR云平台接口异常"
,
e
);
return
new
OcrResult
(
"007500"
,
"识别失败,请重试"
,
null
,
DateUtil
.
date
());
}
finally
{
FileUtil
.
del
(
tempSaveDir
);
if
(
ObjUtil
.
isNotNull
(
ocrServerAddress
))
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
}
}
}
}
public
void
fileConvert
(
String
fileId
,
MultipartFile
srcFile
,
String
dstFileType
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
public
void
fileConvert
(
String
fileId
,
MultipartFile
srcFile
,
String
dstFileType
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
...
@@ -638,20 +667,15 @@ public class RetransmissionService {
...
@@ -638,20 +667,15 @@ public class RetransmissionService {
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
String
tempSaveDir
=
tempDir
+
File
.
separator
+
IdUtil
.
fastSimpleUUID
()
+
"_"
+
System
.
currentTimeMillis
();
FileUtil
.
mkdir
(
tempSaveDir
);
FileUtil
.
mkdir
(
tempSaveDir
);
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
srcFile
.
getOriginalFilename
())));
File
tempFile
=
new
File
(
tempSaveDir
,
Objects
.
requireNonNull
(
FileUtil
.
getName
(
srcFile
.
getOriginalFilename
())));
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
try
{
try
{
srcFile
.
transferTo
(
tempFile
);
srcFile
.
transferTo
(
tempFile
);
}
catch
(
IOException
e
)
{
paramMap
.
put
(
"srcFile"
,
tempFile
);
return
;
}
if
(
null
==
ocrServerAddress
)
{
paramMap
.
put
(
"srcFile"
,
srcFile
);
log
.
error
(
"云平台未配置服务器信息"
);
try
{
// ServerInfo ocrServerAddress = getOcrServerAddress();
ServerInfo
ocrServerAddress
=
getServerAddressByRequestCount
();
if
(
ocrServerAddress
==
null
)
{
returnError
(
response
,
500
,
"OCR云平台未配置服务器信息"
);
return
;
return
;
}
}
// setActiveServer(ocrServerAddress.getIp());
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
1
);
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
String
ocrApi
=
"http://"
+
ocrServerAddress
.
getIp
()
+
":"
+
ocrServerAddress
.
getOcrPort
();
HttpResponse
httpResponse
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/file/convert"
)
HttpResponse
httpResponse
=
HttpRequest
.
post
(
ocrApi
+
"/ofs/api/file/convert"
)
...
@@ -661,22 +685,19 @@ public class RetransmissionService {
...
@@ -661,22 +685,19 @@ public class RetransmissionService {
.
contentType
(
ContentType
.
MULTIPART
.
getValue
())
.
contentType
(
ContentType
.
MULTIPART
.
getValue
())
.
form
(
paramMap
).
execute
();
.
form
(
paramMap
).
execute
();
Map
<
String
,
List
<
String
>>
headers
=
httpResponse
.
headers
();
System
.
out
.
println
(
httpResponse
.
body
());
if
(!
headers
.
isEmpty
())
{
byte
[]
bytes
=
httpResponse
.
bodyBytes
();
// 遍历赋值header
try
(
OutputStream
outputStream
=
response
.
getOutputStream
())
{
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
headers
.
entrySet
())
{
outputStream
.
write
(
bytes
);
response
.
setHeader
(
entry
.
getKey
(),
entry
.
getValue
().
get
(
0
));
}
}
}
FileUtil
.
del
(
tempSaveDir
);
}
catch
(
Exception
e
)
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
// 赋值body
IoUtil
.
copy
(
httpResponse
.
bodyStream
(),
response
.
getOutputStream
());
}
catch
(
IOException
e
)
{
log
.
error
(
"OCR云平台接口异常"
,
e
);
log
.
error
(
"OCR云平台接口异常"
,
e
);
returnError
(
response
,
500
,
"OCR云平台接口异常"
);
}
finally
{
FileUtil
.
del
(
tempSaveDir
);
if
(
ObjUtil
.
isNotNull
(
ocrServerAddress
))
{
addServerRequestCount
(
ocrServerAddress
.
getIp
(),
-
1
);
}
}
}
}
}
@Async
(
"dataPersistThreadPoolTaskExecutor"
)
@Async
(
"dataPersistThreadPoolTaskExecutor"
)
...
...
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