Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
customer-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
QG
customer-service
Commits
255e1fc6
Commit
255e1fc6
authored
Feb 24, 2022
by
吴琼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
导入
parent
237b5dd8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
52 deletions
+32
-52
pom.xml
pom.xml
+4
-0
TransactionReceiptRecordRest.java
...uantgroup/customer/rest/TransactionReceiptRecordRest.java
+11
-2
TransactionReceiptRecordServiceImpl.java
...mer/service/impl/TransactionReceiptRecordServiceImpl.java
+17
-50
No files found.
pom.xml
View file @
255e1fc6
...
...
@@ -273,6 +273,10 @@
<artifactId>
jsch
</artifactId>
<version>
0.1.54
</version>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-test
</artifactId>
</dependency>
</dependencies>
</project>
src/main/java/cn/quantgroup/customer/rest/TransactionReceiptRecordRest.java
View file @
255e1fc6
...
...
@@ -9,14 +9,19 @@ import com.alibaba.fastjson.JSONArray;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Maps
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.entity.ContentType
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.mock.web.MockMultipartFile
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -57,9 +62,13 @@ public class TransactionReceiptRecordRest {
*/
@RequestMapping
(
"/orderQuery/importTransactionReceiptRecord"
)
@ResponseBody
public
JsonResult
importTransactionReceiptRecord
(
MultipartFile
f
ile
)
{
public
JsonResult
importTransactionReceiptRecord
(
MultipartFile
multipartF
ile
)
{
try
{
return
transactionReceiptRecordService
.
importTransactionReceiptRecord
(
file
);
/* File excelFile =new File("D://交易凭证.xlsx");
FileInputStream inputStream =new FileInputStream(excelFile);
MultipartFile multipartFile = new MockMultipartFile(excelFile.getName(), excelFile.getName(),
ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);*/
return
transactionReceiptRecordService
.
importTransactionReceiptRecord
(
multipartFile
);
}
catch
(
IOException
e
){
e
.
printStackTrace
();
return
JsonResult
.
buildErrorStateResult
(
"上传文件出现错误"
);
...
...
src/main/java/cn/quantgroup/customer/service/impl/TransactionReceiptRecordServiceImpl.java
View file @
255e1fc6
...
...
@@ -26,8 +26,8 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.apache.poi.hssf.usermodel.HSSFCell
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
...
...
@@ -40,17 +40,11 @@ import org.springframework.data.domain.PageRequest;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.persistence.criteria.Predicate
;
import
java.io.ByteArrayInputStream
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.List
;
import
java.util.concurrent.ArrayBlockingQueue
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
@Slf4j
@Service
(
"transactionReceiptRecordService"
)
...
...
@@ -132,6 +126,7 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
if
(
maxBatchNo
==
null
||
maxBatchNo
.
longValue
()
==
0
l
){
maxBatchNo
=
1
l
;
}
//读取所有数据
List
<
TransactionReceiptRecord
>
readList
=
read
(
file
.
getOriginalFilename
(),
file
.
getInputStream
());
//0代表初始状态,1代表导入成功,2代表导入失败
...
...
@@ -194,44 +189,15 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
continue
;
}
/** 循环Excel的列 */
TransactionReceiptRecord
record
=
new
TransactionReceiptRecord
();
for
(
int
c
=
0
;
c
<
totalCols
;
c
++)
{
Cell
cell
=
row
.
getCell
(
c
);
String
cellValue
=
""
;
if
(
null
!=
cell
)
{
// 以下是判断数据的类型
switch
(
cell
.
getCellType
())
{
case
0
:
// 数字
cellValue
=
cell
.
getNumericCellValue
()
+
""
;
break
;
case
1
:
// 字符串
cellValue
=
cell
.
getStringCellValue
();
break
;
case
4
:
// Boolean
cellValue
=
cell
.
getBooleanCellValue
()
+
""
;
break
;
case
2
:
// 公式
cellValue
=
cell
.
getCellFormula
()
+
""
;
break
;
case
3
:
// 空值
cellValue
=
""
;
break
;
case
5
:
// 故障
cellValue
=
"非法字符"
;
break
;
default
:
cellValue
=
"未知类型"
;
break
;
}
}
if
(
r
==
1
){
continue
;
}
cell
.
setCellType
(
cell
.
CELL_TYPE_STRING
);
String
cellValue
=
cell
.
getStringCellValue
();
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
cellValue
))
{
continue
;
}
TransactionReceiptRecord
record
=
new
TransactionReceiptRecord
();
if
(
c
==
1
){
record
.
setSerialNo
(
cellValue
);
}
else
if
(
c
==
2
){
...
...
@@ -241,8 +207,8 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
}
else
if
(
c
==
4
){
record
.
setOrderNo
(
cellValue
);
}
recordList
.
add
(
record
);
}
recordList
.
add
(
record
);
}
return
recordList
;
}
...
...
@@ -379,6 +345,7 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
for
(
List
<
TransactionReceiptRecord
>
recordList
:
splitNList
){
//调用金融用户中心校验userId是否一致
String
userIds
=
""
;
HashMap
<
String
,
TransactionReceiptRecord
>
map
=
new
HashMap
();
//循环获取userid进行拼接
for
(
int
i
=
0
;
i
<
recordList
.
size
();
i
++){
TransactionReceiptRecord
record
=
recordList
.
get
(
i
);
...
...
@@ -387,12 +354,14 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
}
else
{
userIds
+=
record
.
getUserId
()+
""
;
}
map
.
put
(
record
.
getUserId
()+
record
.
getUserName
(),
record
);
}
Map
<
String
,
String
>
header
=
Maps
.
newHashMap
();
header
.
put
(
"Content-type"
,
"application/x-www-form-urlencoded"
);
Map
param
=
Maps
.
newHashMap
();
param
.
put
(
"userIds"
,
userIds
);
String
userUrl
=
userSysUrl
+
"/api/sync/listByUserIds"
;
//String userUrl = userSysUrl + "/api/sync/listByUserIds";
String
userUrl
=
"http://passportapi-qa2.liangkebang.net/api/sync/listByUserIds"
;
String
userResult
=
httpService
.
get
(
userUrl
,
param
);
if
(
StringUtils
.
isEmpty
(
userResult
))
{
return
JsonResult
.
buildErrorStateResult
(
"批量查询userId报错"
);
...
...
@@ -401,16 +370,14 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
JSONObject
userJsonObject
=
JSONObject
.
parseObject
(
userResult
);
String
dataStr
=
userJsonObject
.
getString
(
"data"
);
JSONArray
userArray
=
JSONArray
.
parseArray
(
dataStr
);
//未查询到信息的userid
List
list
=
new
ArrayList
();
for
(
int
i
=
0
;
i
<
userArray
.
size
();
i
++){
JSONObject
object
=
(
JSONObject
)
userArray
.
get
(
i
);
Integer
userId
=
object
.
getInteger
(
"userId"
);
String
userId
=
object
.
getString
(
"userId"
);
String
userName
=
object
.
getString
(
"name"
);
TransactionReceiptRecord
record
=
recordList
.
get
(
i
);
if
(
record
.
getUserId
().
intValue
()
!=
userId
.
intValue
()
||
userName
.
equals
(
record
.
getUserName
())){
failList
.
add
(
record
);
}
}
}
//调用kdsp接口校验userId和交易单号是否一致
String
kUrl
=
kdspOperationUrl
+
"/api/kdsp/op/fa-cui/transaction-proof/check"
;
//得到json字符串
...
...
@@ -430,10 +397,10 @@ public class TransactionReceiptRecordServiceImpl implements ITransactionReceiptR
transactionReceiptRecordRepo
.
updateTransactionStatusByImportStatus
(
2
,
record
.
getOrderNo
());
}
for
(
TransactionReceiptRecord
record
:
sucessList
){
transactionReceiptRecordRepo
.
updateTransactionStatusByImportStatus
(
2
,
record
.
getOrderNo
());
transactionReceiptRecordRepo
.
updateTransactionStatusByImportStatus
(
1
,
record
.
getOrderNo
());
}
}
return
JsonResult
.
buildSuccessResult
(
"数据
全部导入
成功"
,
null
);
return
JsonResult
.
buildSuccessResult
(
"数据
状态更新
成功"
,
null
);
}
@Override
...
...
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