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
4ec9698a
Commit
4ec9698a
authored
Mar 23, 2020
by
杨钧
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加查询进件流水方法
parent
183c30cd
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
168 additions
and
3 deletions
+168
-3
ApplyRequestHistory.java
...up/customer/model/kaordermapping/ApplyRequestHistory.java
+54
-0
IKaService.java
src/main/java/cn/quantgroup/customer/service/IKaService.java
+9
-0
KaServiceImpl.java
...va/cn/quantgroup/customer/service/impl/KaServiceImpl.java
+40
-0
OrderServiceImpl.java
...cn/quantgroup/customer/service/impl/OrderServiceImpl.java
+65
-3
No files found.
src/main/java/cn/quantgroup/customer/model/kaordermapping/ApplyRequestHistory.java
0 → 100644
View file @
4ec9698a
package
cn
.
quantgroup
.
customer
.
model
.
kaordermapping
;
import
lombok.*
;
import
javax.persistence.*
;
import
java.sql.Timestamp
;
/**
* Created with suntao on 2018/5/24
*/
@Data
public
class
ApplyRequestHistory
{
private
Long
id
;
private
String
requestId
;
private
String
phoneNo
;
private
Long
userId
;
private
String
userName
;
private
String
uuid
;
private
String
idNo
;
private
Long
channelId
;
private
String
productId
;
private
Boolean
isSuccess
;
private
String
descriptionValue
;
private
String
descriptionDetail
;
private
int
idType
=
0
;
private
int
applyType
;
private
int
requestType
;
private
String
md5
;
private
String
channelOrderNo
;
private
Long
orderMappingId
;
private
String
extData
;
private
Timestamp
createdAt
=
new
Timestamp
(
System
.
currentTimeMillis
());
}
src/main/java/cn/quantgroup/customer/service/IKaService.java
View file @
4ec9698a
package
cn
.
quantgroup
.
customer
.
service
;
package
cn
.
quantgroup
.
customer
.
service
;
import
cn.quantgroup.customer.model.kaordermapping.ApplyRequestHistory
;
import
cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult
;
import
cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult
;
import
cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping
;
import
cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping
;
import
cn.quantgroup.customer.model.order.CallbackRecord
;
import
cn.quantgroup.customer.model.order.CallbackRecord
;
...
@@ -35,4 +36,12 @@ public interface IKaService {
...
@@ -35,4 +36,12 @@ public interface IKaService {
* @return
* @return
*/
*/
JsonResult
<
List
<
CallbackRecord
>>
querySendRecords
(
String
applyNo
,
Long
channelId
,
Boolean
aTrue
);
JsonResult
<
List
<
CallbackRecord
>>
querySendRecords
(
String
applyNo
,
Long
channelId
,
Boolean
aTrue
);
/**
* 查询最新渠道进件请求流水
* @param applyNo
* @param channelId
* @return
*/
JsonResult
<
ApplyRequestHistory
>
queryLatestChannelRequestFlows
(
String
applyNo
,
Long
channelId
);
}
}
src/main/java/cn/quantgroup/customer/service/impl/KaServiceImpl.java
View file @
4ec9698a
...
@@ -2,6 +2,7 @@ package cn.quantgroup.customer.service.impl;
...
@@ -2,6 +2,7 @@ package cn.quantgroup.customer.service.impl;
import
cn.quantgroup.customer.enums.ErrorCodeEnum
;
import
cn.quantgroup.customer.enums.ErrorCodeEnum
;
import
cn.quantgroup.customer.exception.BusinessException
;
import
cn.quantgroup.customer.exception.BusinessException
;
import
cn.quantgroup.customer.model.kaordermapping.ApplyRequestHistory
;
import
cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult
;
import
cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult
;
import
cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping
;
import
cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping
;
import
cn.quantgroup.customer.model.order.CallbackRecord
;
import
cn.quantgroup.customer.model.order.CallbackRecord
;
...
@@ -201,4 +202,43 @@ public class KaServiceImpl implements IKaService {
...
@@ -201,4 +202,43 @@ public class KaServiceImpl implements IKaService {
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
}
}
}
}
@Override
public
JsonResult
<
ApplyRequestHistory
>
queryLatestChannelRequestFlows
(
String
applyNo
,
Long
channelId
)
{
String
logPre
=
"[KaServiceImpl.queryLatestChannelRequestFlows] 查询最新渠道进件请求流水"
;
log
.
info
(
"{}, applyNo={},channelId={}"
,
logPre
,
applyNo
,
channelId
);
String
url
=
kaSysUrl
+
"/external/query/applyRequest"
;
try
{
Map
<
String
,
Object
>
param
=
Maps
.
newHashMap
();
if
(
Objects
.
isNull
(
channelId
)
||
StringUtils
.
isBlank
(
applyNo
)){
log
.
error
(
"{} 查询渠道进件流水,渠道号和渠道订单号不允许为空 applyNo={},channelId={}"
,
logPre
,
applyNo
,
channelId
);
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
PARAM_ERROR
.
getMessage
(),
ErrorCodeEnum
.
PARAM_ERROR
.
getCode
());
}
param
.
put
(
"applyNo"
,
applyNo
);
param
.
put
(
"channelId"
,
String
.
valueOf
(
channelId
));
String
result
;
try
{
result
=
httpService
.
get
(
url
,
param
);
}
catch
(
Exception
e
)
{
log
.
error
(
" {} http请求异常 url={},param={}"
,
logPre
,
url
,
param
,
e
);
return
JsonResult
.
buildErrorStateResult
(
"通讯异常"
,
null
);
}
log
.
info
(
"{} 请求ka系统返回值:{}"
,
logPre
,
result
);
if
(
StringUtils
.
isBlank
(
result
))
{
log
.
error
(
"{} 返回结果为空,查询失败 jsonResult={}"
,
logPre
,
result
);
return
JsonResult
.
buildErrorStateResult
(
"查询数据异常"
,
null
);
}
TypeReference
<
JsonResult
<
ApplyRequestHistory
>>
typeToken
=
new
TypeReference
<
JsonResult
<
ApplyRequestHistory
>>()
{
};
return
JSONTools
.
deserialize
(
result
,
typeToken
);
}
catch
(
Exception
e
)
{
log
.
error
(
"{} 网络通讯异常,applyNo={},channelId={},ex:{}"
,
applyNo
,
channelId
,
ExceptionUtils
.
getStackTrace
(
e
));
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
}
}
}
}
src/main/java/cn/quantgroup/customer/service/impl/OrderServiceImpl.java
View file @
4ec9698a
...
@@ -3,6 +3,7 @@ package cn.quantgroup.customer.service.impl;
...
@@ -3,6 +3,7 @@ package cn.quantgroup.customer.service.impl;
import
cn.quantgroup.customer.enums.ErrorCodeEnum
;
import
cn.quantgroup.customer.enums.ErrorCodeEnum
;
import
cn.quantgroup.customer.enums.OrderStatusEnums
;
import
cn.quantgroup.customer.enums.OrderStatusEnums
;
import
cn.quantgroup.customer.model.Tuple
;
import
cn.quantgroup.customer.model.Tuple
;
import
cn.quantgroup.customer.model.kaordermapping.ApplyRequestHistory
;
import
cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping
;
import
cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping
;
import
cn.quantgroup.customer.model.order.*
;
import
cn.quantgroup.customer.model.order.*
;
import
cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam
;
import
cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam
;
...
@@ -114,22 +115,81 @@ public class OrderServiceImpl implements IOrderService {
...
@@ -114,22 +115,81 @@ public class OrderServiceImpl implements IOrderService {
// 查询订单信息 查询ka
// 查询订单信息 查询ka
JsonResult
<
LoanOrderMapping
>
orderMappingResult
=
kaService
.
findOrderMapping
(
orderQuery
);
JsonResult
<
LoanOrderMapping
>
orderMappingResult
=
kaService
.
findOrderMapping
(
orderQuery
);
LoanOrderMapping
loanOrderMapping
;
LoanOrderMapping
loanOrderMapping
;
if
(!
orderMappingResult
.
isSuccess
()
||
Objects
.
isNull
(
loanOrderMapping
=
orderMappingResult
.
getData
())
)
{
if
(!
orderMappingResult
.
isSuccess
())
{
log
.
error
(
"{} 查询订单信息orderMapping失败 result={} orderQuery={}"
,
logPre
,
orderMappingResult
,
orderQuery
);
log
.
error
(
"{} 查询订单信息orderMapping失败 result={} orderQuery={}"
,
logPre
,
orderMappingResult
,
orderQuery
);
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
RETURN_ERROR
.
getMessage
(),
ErrorCodeEnum
.
RETURN_ERROR
.
getCode
());
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
RETURN_ERROR
.
getMessage
(),
ErrorCodeEnum
.
RETURN_ERROR
.
getCode
());
}
}
loanOrderMapping
=
orderMappingResult
.
getData
();
// 可能是进件失败,此时需要根据渠道订单号和渠道号查询进件request表
if
(
Objects
.
isNull
(
loanOrderMapping
)){
if
(
Objects
.
isNull
(
orderQuery
.
getChannelId
())
||
StringUtils
.
isBlank
(
orderQuery
.
getChannelOrderNo
())){
log
.
error
(
"{} orderMapping为空,且渠道号和渠道订单号为空 result={} orderQuery={}"
,
logPre
,
orderMappingResult
,
orderQuery
);
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
PARAM_ERROR
.
getMessage
(),
ErrorCodeEnum
.
PARAM_ERROR
.
getCode
());
}
else
{
return
buildNoOrderMapping
(
orderQuery
.
getChannelOrderNo
(),
orderQuery
.
getChannelId
());
}
}
else
{
return
buildHasOrderMapping
(
orderQuery
,
loanOrderMapping
);
}
}
/**
* 处理查询不到orderMapping的情况,可能是进件失败,也可能不存在该笔订单
* @param channelOrderNo
* @param channelId
* @return
*/
private
JsonResult
buildNoOrderMapping
(
String
channelOrderNo
,
Long
channelId
)
{
String
logPre
=
"OrderServiceImpl.buildNoOrderMapping"
;
// 查询订单信息 查询ka
JsonResult
<
ApplyRequestHistory
>
orderMappingResult
=
kaService
.
queryLatestChannelRequestFlows
(
channelOrderNo
,
channelId
);
ApplyRequestHistory
applyRequestHistory
;
if
(!
orderMappingResult
.
isSuccess
()
||
Objects
.
isNull
(
applyRequestHistory
=
orderMappingResult
.
getData
()))
{
log
.
error
(
"{} 最新渠道进件请求流水失败,不存在进件流水信息 result={} channelOrderNo={},channelId={}"
,
logPre
,
orderMappingResult
,
channelOrderNo
,
channelId
);
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
RETURN_ERROR
.
getMessage
(),
ErrorCodeEnum
.
RETURN_ERROR
.
getCode
());
}
// 存在进件信息,可能是进件失败
final
String
statusStr
=
"进件失败"
;
OrderInfo
orderInfo
=
OrderInfo
.
builder
()
.
channelOrderNo
(
channelOrderNo
)
.
channelId
(
channelId
)
.
status
(
statusStr
)
.
remark
(
applyRequestHistory
.
getDescriptionDetail
())
.
build
();
OrderInfoVo
orderInfoVo
=
OrderInfoVo
.
builder
()
.
orderInfo
(
orderInfo
)
.
noticeList
(
Collections
.
emptyList
())
.
build
();
log
.
info
(
"{} 查询订单信息,返回信息 orderInfoVo={}"
,
logPre
,
orderInfoVo
);
return
JsonResult
.
buildSuccessResult
(
"处理成功"
,
orderInfoVo
);
}
/**
* 处理渠道订单表有数据的情形
* @param orderQuery
* @param loanOrderMapping
* @return
*/
private
JsonResult
buildHasOrderMapping
(
OrderQueryParam
orderQuery
,
LoanOrderMapping
loanOrderMapping
)
{
String
logPre
=
"OrderServiceImpl.buildHasOrderMapping"
;
// 查询订单状态 xyqb
// 查询订单状态 xyqb
orderQuery
.
setApplyOrderNo
(
loanOrderMapping
.
getApplyNo
());
orderQuery
.
setApplyOrderNo
(
loanOrderMapping
.
getApplyNo
());
orderQuery
.
setLoanId
(
loanOrderMapping
.
getLoanId
());
orderQuery
.
setLoanId
(
loanOrderMapping
.
getLoanId
());
orderQuery
.
setChannelId
(
loanOrderMapping
.
getRegisteredFrom
());
orderQuery
.
setChannelId
(
loanOrderMapping
.
getRegisteredFrom
());
JsonResult
<
OrderStatus
>
orderStatusResult
=
xyqbService
.
orderStatusQuery
(
orderQuery
);
JsonResult
<
OrderStatus
>
orderStatusResult
=
xyqbService
.
orderStatusQuery
(
orderQuery
);
OrderStatus
orderStatus
;
OrderStatus
orderStatus
;
if
(!
orderStatusResult
.
isSuccess
()
||
Objects
.
isNull
(
orderStatus
=
orderStatusResult
.
getData
())
)
{
if
(!
orderStatusResult
.
isSuccess
())
{
log
.
error
(
"{} 查询订单状态 orderStatus 失败 result={} orderQuery={}"
,
logPre
,
orderStatusResult
,
orderQuery
);
log
.
error
(
"{} 查询订单状态 orderStatus 失败 result={} orderQuery={}"
,
logPre
,
orderStatusResult
,
orderQuery
);
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
RETURN_ERROR
.
getMessage
(),
ErrorCodeEnum
.
RETURN_ERROR
.
getCode
());
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
RETURN_ERROR
.
getMessage
(),
ErrorCodeEnum
.
RETURN_ERROR
.
getCode
());
}
}
orderStatus
=
orderStatusResult
.
getData
();
// 查询通知记录 查询ka
// 查询通知记录 查询ka
JsonResult
<
List
<
CallbackRecord
>>
callbackListResult
=
queryOrderCallback
(
orderQuery
);
JsonResult
<
List
<
CallbackRecord
>>
callbackListResult
=
queryOrderCallback
(
orderQuery
);
if
(!
callbackListResult
.
isSuccess
())
{
if
(!
callbackListResult
.
isSuccess
())
{
...
@@ -137,12 +197,14 @@ public class OrderServiceImpl implements IOrderService {
...
@@ -137,12 +197,14 @@ public class OrderServiceImpl implements IOrderService {
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
RETURN_ERROR
.
getMessage
(),
ErrorCodeEnum
.
RETURN_ERROR
.
getCode
());
return
JsonResult
.
buildErrorStateResult
(
ErrorCodeEnum
.
RETURN_ERROR
.
getMessage
(),
ErrorCodeEnum
.
RETURN_ERROR
.
getCode
());
}
}
final
String
statusStr
=
"进件成功"
;
OrderInfo
orderInfo
=
OrderInfo
.
builder
()
OrderInfo
orderInfo
=
OrderInfo
.
builder
()
.
channelOrderNo
(
loanOrderMapping
.
getChannelOrderNo
())
.
channelOrderNo
(
loanOrderMapping
.
getChannelOrderNo
())
.
applyNo
(
loanOrderMapping
.
getApplyNo
())
.
applyNo
(
loanOrderMapping
.
getApplyNo
())
.
channelId
(
loanOrderMapping
.
getRegisteredFrom
())
.
channelId
(
loanOrderMapping
.
getRegisteredFrom
())
.
loanId
(
loanOrderMapping
.
getLoanId
())
.
loanId
(
loanOrderMapping
.
getLoanId
())
.
status
(
orderStatus
.
getStatus
().
getValue
())
.
status
(
Objects
.
nonNull
(
orderStatus
)?
orderStatus
.
getStatus
().
getValue
():
statusStr
)
.
remark
(
statusStr
)
.
build
();
.
build
();
OrderInfoVo
orderInfoVo
=
OrderInfoVo
.
builder
()
OrderInfoVo
orderInfoVo
=
OrderInfoVo
.
builder
()
...
...
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