Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform
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
QA
qa-platform
Commits
e37caaf5
Commit
e37caaf5
authored
Sep 08, 2021
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化vcc相关接口
parent
b3454443
Changes
28
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
953 additions
and
232 deletions
+953
-232
VccController.java
.../cn/qg/qaplatform/controller/zdata/vcc/VccController.java
+247
-0
VccGenController.java
.../qg/qaplatform/controller/zdata/vcc/VccGenController.java
+0
-59
VccQueryController.java
...g/qaplatform/controller/zdata/vcc/VccQueryController.java
+0
-58
Account.java
src/main/java/cn/qg/qaplatform/entity/vcc/Account.java
+131
-0
AcsPayOrder.java
src/main/java/cn/qg/qaplatform/entity/vcc/AcsPayOrder.java
+186
-0
RiskRecord.java
src/main/java/cn/qg/qaplatform/entity/vcc/RiskRecord.java
+71
-0
UserQuotaRecord.java
...ain/java/cn/qg/qaplatform/entity/vcc/UserQuotaRecord.java
+128
-0
User.java
src/main/java/cn/qg/qaplatform/entity/xyqbuser/User.java
+54
-0
VccUserEntity.java
...ain/java/cn/qg/qaplatform/entity/zdata/VccUserEntity.java
+11
-0
AccountMapper.java
src/main/java/cn/qg/qaplatform/mapper/vcc/AccountMapper.java
+7
-0
AcsPayOrderMapper.java
...n/java/cn/qg/qaplatform/mapper/vcc/AcsPayOrderMapper.java
+7
-0
RiskRecordMapper.java
...in/java/cn/qg/qaplatform/mapper/vcc/RiskRecordMapper.java
+7
-0
UserQuotaRecordMapper.java
...va/cn/qg/qaplatform/mapper/vcc/UserQuotaRecordMapper.java
+7
-0
UserMapper.java
...ain/java/cn/qg/qaplatform/mapper/xyqbUser/UserMapper.java
+7
-0
VccAccountMapper.java
.../java/cn/qg/qaplatform/mapper/zdata/VccAccountMapper.java
+0
-10
AccountService.java
...ain/java/cn/qg/qaplatform/service/vcc/AccountService.java
+7
-0
AcsPayOrderService.java
...java/cn/qg/qaplatform/service/vcc/AcsPayOrderService.java
+7
-0
RiskRecordService.java
.../java/cn/qg/qaplatform/service/vcc/RiskRecordService.java
+7
-0
UserQuotaRecordService.java
.../cn/qg/qaplatform/service/vcc/UserQuotaRecordService.java
+7
-0
AccountServiceImpl.java
...cn/qg/qaplatform/service/vcc/impl/AccountServiceImpl.java
+11
-0
AcsPayOrderServiceImpl.java
...g/qaplatform/service/vcc/impl/AcsPayOrderServiceImpl.java
+11
-0
RiskRecordServiceImpl.java
...qg/qaplatform/service/vcc/impl/RiskRecordServiceImpl.java
+11
-0
UserQuotaRecordServiceImpl.java
...platform/service/vcc/impl/UserQuotaRecordServiceImpl.java
+11
-0
UserService.java
...n/java/cn/qg/qaplatform/service/xyqbUser/UserService.java
+7
-0
UserServiceImpl.java
.../qg/qaplatform/service/xyqbUser/impl/UserServiceImpl.java
+11
-0
VccDataService.java
...va/cn/qg/qaplatform/service/zdata/vcc/VccDataService.java
+0
-9
VccDataServiceImpl.java
...qaplatform/service/zdata/vcc/impl/VccDataServiceImpl.java
+0
-84
VccAccountMapper.xml
src/main/resources/mapper/zdata/VccAccountMapper.xml
+0
-12
No files found.
src/main/java/cn/qg/qaplatform/controller/zdata/vcc/VccController.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
controller
.
zdata
.
vcc
;
import
cn.qg.qaplatform.config.SwitchDataSource
;
import
cn.qg.qaplatform.entity.vcc.Account
;
import
cn.qg.qaplatform.entity.vcc.AcsPayOrder
;
import
cn.qg.qaplatform.entity.vcc.RiskRecord
;
import
cn.qg.qaplatform.entity.vcc.UserQuotaRecord
;
import
cn.qg.qaplatform.entity.xyqbuser.User
;
import
cn.qg.qaplatform.entity.zdata.VccOpenResultVo
;
import
cn.qg.qaplatform.entity.zdata.VccUserEntity
;
import
cn.qg.qaplatform.process.Vcc
;
import
cn.qg.qaplatform.service.vcc.AccountService
;
import
cn.qg.qaplatform.service.vcc.AcsPayOrderService
;
import
cn.qg.qaplatform.service.vcc.RiskRecordService
;
import
cn.qg.qaplatform.service.vcc.UserQuotaRecordService
;
import
cn.qg.qaplatform.service.xyqbUser.UserService
;
import
cn.qg.qaplatform.service.zdata.vcc.VccDataService
;
import
cn.qg.qaplatform.utils.HttpClientUtils
;
import
cn.qg.qaplatform.utils.JsonResult
;
import
cn.qg.qaplatform.utils.Result
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.api.R
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* vcc 相关接口
* @author libo
*/
@Slf4j
@CrossOrigin
@RestController
@RequestMapping
(
"/vcc"
)
public
class
VccController
{
@Autowired
UserService
userService
;
@Autowired
AccountService
accountService
;
@Autowired
UserQuotaRecordService
userQuotaRecordService
;
@Autowired
RiskRecordService
riskRecordService
;
@Autowired
AcsPayOrderService
acsPayOrderService
;
@Autowired
VccDataService
vccDataService
;
/**
* vcc造数据
* @param namespace 环境
* @param phoneNo 手机号
* @param channel 渠道号
* @param status 状态
* @return
* @throws Exception
*/
@PostMapping
(
"/gen"
)
public
JsonResult
genVccUser
(
@RequestParam
(
value
=
"namespace"
)
String
namespace
,
@RequestParam
(
value
=
"phoneNo"
)
String
phoneNo
,
@RequestParam
(
value
=
"channel"
)
String
channel
,
@RequestParam
(
value
=
"status"
)
Integer
status
)
throws
Exception
{
if
(
status
!=
1
&&
status
!=
2
&&
status
!=
3
&&
status
!=
4
)
{
return
JsonResult
.
clientFailed
(
"状态值必须是1、2、3、4中的一个!"
);
}
VccOpenResultVo
result
=
vccDataService
.
makeVccUser
(
namespace
,
phoneNo
,
channel
,
status
);
if
(
result
==
null
)
{
return
JsonResult
.
serverFailed
();
}
return
JsonResult
.
success
(
result
);
}
/**
* vcc捞数据
* @param namespace 环境
* @param status 状态
* @param pageNum 第几页
* @param pageSize 每页展示多少个
* @return
*/
@GetMapping
(
"/getData"
)
public
Result
getVccData
(
@RequestParam
(
value
=
"namespace"
)
String
namespace
,
@RequestParam
(
value
=
"status"
)
Integer
status
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
pageNum
,
@RequestParam
(
defaultValue
=
"10"
)
Integer
pageSize
)
{
// 数据源切换到vcc_talos
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"vcc_talos"
);
IPage
<
Account
>
accountIPage
=
new
Page
<>(
pageNum
,
pageSize
);
QueryWrapper
<
Account
>
accountQueryWrapper
=
new
QueryWrapper
<>();
accountQueryWrapper
.
eq
(
"status"
,
status
);
IPage
<
Account
>
accountIPageResult
=
accountService
.
page
(
accountIPage
,
accountQueryWrapper
);
List
<
VccUserEntity
>
vccUserEntityList
=
new
ArrayList
<>();
QueryWrapper
<
UserQuotaRecord
>
userQuotaRecordQueryWrapper
=
new
QueryWrapper
<>();
// 数据源切换到vcc_quota
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"vcc_quota"
);
for
(
Account
account:
accountIPageResult
.
getRecords
())
{
VccUserEntity
vccUserEntity
=
new
VccUserEntity
();
vccUserEntity
.
setUserId
(
String
.
valueOf
(
account
.
getUserId
()));
vccUserEntity
.
setUuid
(
account
.
getUuid
());
vccUserEntity
.
setPhoneNo
(
account
.
getPhoneNo
());
vccUserEntity
.
setRegisteredFrom
(
account
.
getRegisteredFrom
());
vccUserEntity
.
setNextApplyTime
(
account
.
getNextApplyTime
());
vccUserEntity
.
setStatus
(
account
.
getStatus
());
vccUserEntity
.
setType
(
account
.
getType
());
vccUserEntity
.
setCreatedAt
(
account
.
getCreatedAt
());
userQuotaRecordQueryWrapper
.
eq
(
"uuid"
,
account
.
getUuid
())
.
orderByDesc
(
"id"
);
List
<
UserQuotaRecord
>
userQuotaRecordList
=
userQuotaRecordService
.
list
(
userQuotaRecordQueryWrapper
);
if
(
userQuotaRecordList
.
size
()
>
0
)
{
vccUserEntity
.
setRiskAmount
(
userQuotaRecordList
.
get
(
0
).
getRiskAmount
());
vccUserEntity
.
setEnableAmount
(
userQuotaRecordList
.
get
(
0
).
getEnableAmount
());
}
vccUserEntityList
.
add
(
vccUserEntity
);
userQuotaRecordQueryWrapper
.
clear
();
}
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
resultMap
.
put
(
"total"
,
accountIPageResult
.
getTotal
());
resultMap
.
put
(
"list"
,
vccUserEntityList
);
return
Result
.
buildSuccessResult
(
resultMap
);
}
/**
* vcc查数据
* @param namespace 环境
* @param phoneNo 手机号
* @return
*/
@GetMapping
(
"/checkData"
)
public
Result
checkUserData
(
String
namespace
,
String
phoneNo
)
{
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"vcc_talos"
);
QueryWrapper
<
Account
>
accountQueryWrapper
=
new
QueryWrapper
<>();
accountQueryWrapper
.
eq
(
"phone_no"
,
phoneNo
);
Account
account
=
accountService
.
getOne
(
accountQueryWrapper
);
if
(
account
==
null
)
{
return
Result
.
buildErrorStateResult
(
"该用户不是VCC用户"
,
false
);
}
return
Result
.
buildSuccessResult
(
account
);
}
/**
* VCC风控授信回调
* @param namespace 环境
* @param phoneNo 手机号
* @param result 回调结果,true-授信成功,false-授信失败
* @param amount
* @return
*/
@GetMapping
(
"/risk"
)
public
Result
vccRiskControl
(
String
namespace
,
String
phoneNo
,
Boolean
result
,
Integer
amount
)
{
if
(
amount
==
null
)
{
amount
=
10000
;
}
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"xyqb_user"
);
QueryWrapper
<
User
>
userQueryWrapper
=
new
QueryWrapper
<>();
userQueryWrapper
.
eq
(
"phone_no"
,
phoneNo
);
User
user
=
userService
.
getOne
(
userQueryWrapper
);
if
(
user
==
null
)
{
return
Result
.
buildErrorStateResult
(
"用户不存在"
,
false
);
}
String
uuid
=
user
.
getUuid
();
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"vcc_talos"
);
QueryWrapper
<
RiskRecord
>
riskRecordQueryWrapper
=
new
QueryWrapper
<>();
riskRecordQueryWrapper
.
eq
(
"uuid"
,
uuid
).
orderByDesc
(
"id"
);
List
<
RiskRecord
>
riskRecordList
=
riskRecordService
.
list
(
riskRecordQueryWrapper
);
if
(
riskRecordList
.
size
()
==
0
)
{
return
Result
.
buildErrorStateResult
(
"risk_record未找到授信提交记录"
,
false
);
}
if
(
riskRecordList
.
get
(
0
).
getApplyStatus
()
==
1
)
{
return
Result
.
buildErrorStateResult
(
"用户已风控授信拒绝,无法重新授信回调!"
,
false
);
}
if
(
riskRecordList
.
get
(
0
).
getApplyStatus
()
==
2
)
{
return
Result
.
buildErrorStateResult
(
"用户已完成授信,无法重新授信回调!"
,
false
);
}
String
riskNo
=
riskRecordList
.
get
(
0
).
getRiskNo
();
JSONObject
creditResult
=
Vcc
.
vccWindControlCreditCallback
(
namespace
,
uuid
,
riskNo
,
result
,
amount
);
if
(
creditResult
.
get
(
"content"
).
toString
().
equals
(
"success"
))
{
return
Result
.
buildSuccessResult
(
"授信回调成功!"
);
}
else
{
return
Result
.
buildErrorStateResult
(
"授信回调失败,请依次检查vcc_talos、acs_service、vcc_quota是否有报错"
,
false
);
}
}
/**
* vcc还款回调
* @param namespace 环境
* @param phoneNo 手机号
* @param result 回调结果
* @return
*/
@GetMapping
(
"/repay/callback"
)
public
Result
vccRepayCallback
(
String
namespace
,
String
phoneNo
,
Integer
result
)
{
String
url
=
"https://acs-"
+
namespace
+
".liangkebang.net/ex/paycenter/repay_notify"
;
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"xyqb_user"
);
QueryWrapper
<
User
>
userQueryWrapper
=
new
QueryWrapper
<>();
userQueryWrapper
.
eq
(
"phone_no"
,
phoneNo
);
User
user
=
userService
.
getOne
(
userQueryWrapper
);
if
(
user
==
null
)
{
return
Result
.
buildErrorStateResult
(
"该用户不存在!"
,
false
);
}
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"acsdb"
);
QueryWrapper
<
AcsPayOrder
>
acsPayOrderQueryWrapper
=
new
QueryWrapper
<>();
acsPayOrderQueryWrapper
.
eq
(
"user_id"
,
user
.
getId
()).
orderByDesc
(
"id"
);
List
<
AcsPayOrder
>
acsPayOrderList
=
acsPayOrderService
.
list
(
acsPayOrderQueryWrapper
);
if
(
acsPayOrderList
.
size
()
==
0
)
{
return
Result
.
buildErrorStateResult
(
"acs_pay_order未查到用户有还款记录"
,
false
);
}
Integer
orderNo
=
acsPayOrderList
.
get
(
0
).
getId
();
Map
<
String
,
Object
>
formData
=
new
HashMap
<>();
formData
.
put
(
"orderNo"
,
orderNo
);
if
(
result
.
equals
(
1
))
{
formData
.
put
(
"remark"
,
"还款成功"
);
}
if
(
result
.
equals
(
2
))
{
formData
.
put
(
"remark"
,
"还款失败"
);
}
formData
.
put
(
"payStatus"
,
result
);
formData
.
put
(
"orderData"
,
"{\"payApproachDesc\":\"易宝-广达小贷-VCC专用\",\"orderId\":\"79884519018498\",\"payApproach\":\"65\",\"payApproachName\":\"YEE_PAY_GDXD_VCC\",\"payGateway\":\"0\",\"cardNo\":\"6217000025253636858\",\"payGatewayName\":\"YEE_PAY\"}"
);
JSONObject
response
=
HttpClientUtils
.
doPost
(
url
,
formData
);
log
.
info
(
"{}环境,用户{},VCC还款回调结果:{}"
,
namespace
,
phoneNo
,
response
);
try
{
if
(
response
.
get
(
"content"
).
equals
(
"SUCCESS"
))
{
return
Result
.
buildSuccessResult
(
"还款回调成功!"
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
Result
.
buildErrorStateResult
(
JSON
.
toJSONString
(
response
),
false
);
}
return
Result
.
buildSuccessResult
(
"还款回调成功!"
);
}
}
src/main/java/cn/qg/qaplatform/controller/zdata/vcc/VccGenController.java
deleted
100644 → 0
View file @
b3454443
package
cn
.
qg
.
qaplatform
.
controller
.
zdata
.
vcc
;
import
cn.qg.qaplatform.utils.JsonResult
;
import
cn.qg.qaplatform.entity.zdata.VccOpenResultVo
;
import
cn.qg.qaplatform.service.zdata.vcc.VccDataService
;
import
com.alibaba.fastjson.JSONObject
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
@CrossOrigin
@RestController
@RequestMapping
(
"vcc"
)
@Api
(
tags
=
"vcc造数据"
)
public
class
VccGenController
{
@Autowired
VccDataService
vccDataService
;
@PostMapping
(
"/gen"
)
@ApiOperation
(
value
=
"vcc造数据"
)
public
JsonResult
genVccUser
(
@RequestParam
(
value
=
"namespace"
)
String
namespace
,
@RequestParam
(
value
=
"phoneNo"
)
String
phoneNo
,
@RequestParam
(
value
=
"channel"
)
String
channel
,
@RequestParam
(
value
=
"status"
)
Integer
status
)
throws
Exception
{
if
(
status
!=
1
&&
status
!=
2
&&
status
!=
3
&&
status
!=
4
)
{
return
JsonResult
.
clientFailed
(
"状态值必须是1、2、3、4中的一个!"
);
}
VccOpenResultVo
result
=
vccDataService
.
makeVccUser
(
namespace
,
phoneNo
,
channel
,
status
);
if
(
result
==
null
)
{
return
JsonResult
.
serverFailed
();
}
return
JsonResult
.
success
(
result
);
}
/**
* vcc授信回调简单版本
* @param namespace 环境
* @param phoneNo 手机号
* @param result 结果
* @param amount 金额
* @return
*/
@GetMapping
(
"/risk"
)
public
JsonResult
vccRiskControl
(
String
namespace
,
String
phoneNo
,
Boolean
result
,
Integer
amount
)
{
if
(
amount
==
null
)
{
amount
=
10000
;
}
return
JsonResult
.
success
(
vccDataService
.
vccManualRiskControl
(
namespace
,
phoneNo
,
result
,
amount
));
}
@GetMapping
(
"/repay/callback"
)
public
JsonResult
vccRepayCallback
(
String
namespace
,
String
phoneNo
,
Integer
result
)
{
JSONObject
response
=
vccDataService
.
vccRepayCallback
(
namespace
,
phoneNo
,
result
);
return
JsonResult
.
success
(
response
);
}
}
src/main/java/cn/qg/qaplatform/controller/zdata/vcc/VccQueryController.java
deleted
100644 → 0
View file @
b3454443
package
cn
.
qg
.
qaplatform
.
controller
.
zdata
.
vcc
;
import
cn.qg.qaplatform.utils.JsonResult
;
import
cn.qg.qaplatform.enums.VccStatusEnum
;
import
cn.qg.qaplatform.entity.zdata.VccUserEntity
;
import
cn.qg.qaplatform.service.zdata.vcc.VccDataService
;
import
cn.qg.qaplatform.utils.page.PageResult
;
import
io.swagger.annotations.Api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.Map
;
@CrossOrigin
@Api
(
tags
=
"vcc查询"
)
@RestController
@RequestMapping
(
"/vcc"
)
public
class
VccQueryController
{
@Autowired
VccDataService
vccDataService
;
@GetMapping
(
"/getData"
)
public
JsonResult
getVccData
(
@RequestParam
(
value
=
"namespace"
)
String
namespace
,
@RequestParam
(
value
=
"status"
)
Integer
status
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
pageNum
,
@RequestParam
(
defaultValue
=
"10"
)
Integer
pageSize
)
{
PageResult
vccData
=
vccDataService
.
getVccData
(
namespace
,
status
,
pageNum
,
pageSize
);
return
JsonResult
.
success
(
vccData
);
}
@GetMapping
(
"/getStatus"
)
public
JsonResult
getUserStatus
(
String
namespace
,
String
phoneNo
)
{
VccUserEntity
vccUserEntity
=
vccDataService
.
queryUserVccStatus
(
namespace
,
phoneNo
);
if
(
vccUserEntity
==
null
)
{
return
JsonResult
.
serverFailed
(
"该用户不存在!"
);
}
return
JsonResult
.
success
(
vccUserEntity
);
}
@GetMapping
(
"/checkData"
)
public
JsonResult
checkUserData
(
String
namespace
,
String
phoneNo
)
{
VccUserEntity
vccUserEntity
=
vccDataService
.
queryUserVccStatus
(
namespace
,
phoneNo
);
if
(
vccUserEntity
==
null
)
{
return
JsonResult
.
serverFailed
(
"该用户不存在!"
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"phoneNo"
,
vccUserEntity
.
getPhoneNo
());
map
.
put
(
"userId"
,
vccUserEntity
.
getUserId
());
map
.
put
(
"uuid"
,
vccUserEntity
.
getUuid
());
map
.
put
(
"registeredFrom"
,
vccUserEntity
.
getRegisteredFrom
());
map
.
put
(
"nextApplyTime"
,
vccUserEntity
.
getNextApplyTime
());
map
.
put
(
"createdAt"
,
vccUserEntity
.
getCreatedAt
());
map
.
put
(
"status"
,
VccStatusEnum
.
getDescByCode
(
vccUserEntity
.
getStatus
()));
return
JsonResult
.
success
(
map
);
}
}
src/main/java/cn/qg/qaplatform/entity/vcc/Account.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
entity
.
vcc
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.util.Date
;
/**
* vcc_talos.account
*/
@Data
@TableName
(
"account"
)
public
class
Account
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* user.id
*/
private
Long
userId
;
/**
* user.uuid
*/
private
String
uuid
;
/**
* user.registered_from
*/
private
Long
registeredFrom
;
/**
* 支付密码
*/
private
String
payPwd
;
/**
* 支付密码salt
*/
private
String
payPwdSalt
;
/**
* 账户状态:0-初始状态,1-激活成功,2-激活失败,3-禁用,4-审核中
*/
private
Integer
status
;
/**
* 进度:0-用户未完成OCR、10-用户活体未完成、20-运营商授权未完成、30-用户相关联系人未完成、36-用户未确认激活、40-激活必要的用户授权信息完成、50-审核中、51-审核拒绝、60-未设置交易密码、70-绑卡未完成、80-绑卡完成
*/
private
Integer
progress
;
/**
* 是否提额完成
*/
private
Integer
quotaUpFinished
;
/**
* 账单日,-1: 月末
*/
private
Integer
billDay
;
/**
* 还款日
*/
private
Integer
repayDay
;
/**
* 风控通知时间
*/
private
Date
riskNotifyTime
;
/**
* 下次可申请激活时间
*/
private
Date
nextApplyTime
;
/**
* 创建时间
*/
private
Date
createdAt
;
/**
* 更新时间
*/
private
Date
updatedAt
;
/**
* 电话号
*/
private
String
phoneNo
;
/**
* VCC用户注册渠道.ps:registered_from是用户中心的注册渠道
*/
private
Long
registeredChannel
;
/**
* VCC用户注册子渠道
*/
private
Long
sonRegisteredChannel
;
private
String
phoneHash
;
/**
* 完成授信时的渠道
*/
private
Long
endChannel
;
/**
* 是否存在XYQB现金额度
*/
private
Integer
cashQuotaStatus
;
/**
* 账号类别:vcc(C端虚拟信用卡)/scacard(企业信用卡)
*/
private
String
type
;
/**
* 0 - 正常导流,1 - 全额导流
*/
private
Integer
guideType
;
/**
* 如果为1 则不受交易金额及商户白名单限制
*/
private
Integer
free
;
}
src/main/java/cn/qg/qaplatform/entity/vcc/AcsPayOrder.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
entity
.
vcc
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* acsdb.acs_pay_order
*/
@Data
@TableName
(
value
=
"acs_pay_order"
)
public
class
AcsPayOrder
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 用户id
*/
private
Integer
userId
;
/**
* 账户id
*/
private
Integer
accountId
;
/**
* 交易id
*/
private
Integer
transId
;
/**
* 还款类型 Repay-主动还款 Deduct-自动还款/批量扣款
*/
private
String
orderType
;
/**
* Processing - 还款处理中 Complete - 还款成功 Failed - 还款失败 New - 待处理
*/
private
String
orderStatus
;
/**
* 金额
*/
private
BigDecimal
amount
;
/**
* 还款类型
*/
private
String
repayType
;
/**
* 支付商务流水号(易宝返回)
*/
private
String
orderNo
;
/**
* 废弃字段
*/
private
String
repayOrderNo
;
/**
* ip
*/
private
String
ip
;
/**
* 废弃字段
*/
private
String
channel
;
/**
* 废弃字段
*/
private
String
sessionId
;
/**
* 还款描述
*/
private
String
repaymentDescription
;
/**
* 废弃字段
*/
private
String
divideParam
;
/**
* 还款时间戳(毫秒)
*/
private
String
repaidAt
;
/**
* 流水号(内部生成)
*/
private
String
businessFlowNo
;
/**
* 电话号
*/
private
String
phone
;
/**
* 身份证号
*/
private
String
idCard
;
/**
* 姓名
*/
private
String
name
;
/**
* 银行名称
*/
private
String
bankName
;
/**
* 银行卡号(后4位)
*/
private
String
bankCardNo
;
/**
* 支付中心绑卡编号
*/
private
Integer
payCenterCardId
;
/**
* 废弃字段
*/
private
String
chargeType
;
/**
* 扩展字段
*/
private
String
extData
;
/**
* 响应码(支付中心)
*/
private
String
respCode
;
/**
* 响应信息(支付中心)
*/
private
String
respMsg
;
/**
* 待还账单编号(acs_bill主键id)
*/
private
Integer
repayBillId
;
/**
* 还款类型 C 全额还款 P 部分还款 O 逾期还款 F 提前还款
*/
private
String
commandFlag
;
/**
* 对账状态 Has(已对账)/null(未对账)
*/
private
String
accountingStatus
;
/**
* 版本
*/
private
Integer
version
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 账单no
*/
private
String
repayBillNo
;
}
src/main/java/cn/qg/qaplatform/entity/vcc/RiskRecord.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
entity
.
vcc
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.util.Date
;
/**
* vcc_talos.risk_record
*/
@Data
@TableName
(
value
=
"risk_record"
)
public
class
RiskRecord
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 用户ID
*/
private
Long
userId
;
private
String
uuid
;
/**
* 申请来源渠道
*/
private
Long
applyFrom
;
/**
* 申请来源子渠道
*/
private
Long
sonApplyFrom
;
/**
* 申请状态 0-发起申请风控审核中 1-风控审核拒绝 2-风控审核通过
*/
private
Integer
applyStatus
;
/**
* 风控申请ID
*/
private
String
riskNo
;
/**
* 备注
*/
private
String
remark
;
/**
* 授信申请时间
*/
private
Date
applyTime
;
/**
* 风控回调通知时间
*/
private
Date
riskNotifyTime
;
/**
* 是否可用
*/
private
Integer
isAvailable
;
private
Date
createdAt
;
private
Date
updatedAt
;
}
src/main/java/cn/qg/qaplatform/entity/vcc/UserQuotaRecord.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
entity
.
vcc
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* vcc_quota.user_quota_record
*/
@Data
@TableName
(
"user_quota_record"
)
public
class
UserQuotaRecord
{
/**
* id
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* uuid用户唯一编号
*/
private
String
uuid
;
/**
* userId用户ID
*/
private
Long
userId
;
/**
* 额度产品id
*/
private
Long
productId
;
/**
* 额度产品编码
*/
private
String
productCode
;
/**
* 渠道编号
*/
private
String
channel
;
/**
* 产品标记,A默认,B对照
*/
private
String
mark
;
/**
* 用户额度状态,1正常,2冻结,4永久冻结
*/
private
Integer
status
;
/**
* 授信额度,-9999不设置
*/
private
BigDecimal
riskAmount
;
/**
* 授信截止时间
*/
private
Date
riskDeadline
;
/**
* 激活额度,-9999不设置
*/
private
BigDecimal
activatedAmount
;
/**
* 待激活额度,-9999不设置
*/
private
BigDecimal
unactivatedAmount
;
/**
* 可用额度,-9999不设置
*/
private
BigDecimal
enableAmount
;
/**
* 已用额度
*/
private
BigDecimal
usedAmount
;
/**
* 预占用额度
*/
private
BigDecimal
reserveAmount
;
/**
* 冻结额度
*/
private
BigDecimal
freezeAmount
;
/**
* 可取现额度
*/
private
BigDecimal
pocketAmount
;
/**
* 已取现额度
*/
private
BigDecimal
usedPocketAmount
;
/**
* 金额验签
*/
private
String
amountSign
;
/**
* 版本号
*/
private
Long
version
;
/**
* 创建时间
*/
private
Date
createdAt
;
/**
* 更新时间
*/
private
Date
updatedAt
;
}
src/main/java/cn/qg/qaplatform/entity/xyqbuser/User.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
entity
.
xyqbuser
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.util.Date
;
/**
* xyqb_user.user
*/
@Data
@TableName
(
value
=
"user"
)
public
class
User
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 手机号
*/
private
String
phoneNo
;
/**
* 密码
*/
private
String
password
;
/**
* channel.id
*/
private
Long
registeredFrom
;
/**
* uuid
*/
private
String
uuid
;
/**
* 是否可用
*/
private
Boolean
enable
;
/**
* 创建时间
*/
private
Date
createdAt
;
/**
* 更新时间
*/
private
Date
updatedAt
;
}
src/main/java/cn/qg/qaplatform/entity/zdata/VccUserEntity.java
View file @
e37caaf5
...
...
@@ -2,6 +2,7 @@ package cn.qg.qaplatform.entity.zdata;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
...
...
@@ -46,4 +47,14 @@ public class VccUserEntity {
* 账号类别:vcc/scacard/xyqb_mall'
*/
private
String
type
;
/**
* 授信总额度
*/
private
BigDecimal
riskAmount
;
/**
* 剩余可用额度
*/
private
BigDecimal
enableAmount
;
}
src/main/java/cn/qg/qaplatform/mapper/vcc/AccountMapper.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
mapper
.
vcc
;
import
cn.qg.qaplatform.entity.vcc.Account
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
public
interface
AccountMapper
extends
BaseMapper
<
Account
>
{
}
src/main/java/cn/qg/qaplatform/mapper/vcc/AcsPayOrderMapper.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
mapper
.
vcc
;
import
cn.qg.qaplatform.entity.vcc.AcsPayOrder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
public
interface
AcsPayOrderMapper
extends
BaseMapper
<
AcsPayOrder
>
{
}
src/main/java/cn/qg/qaplatform/mapper/vcc/RiskRecordMapper.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
mapper
.
vcc
;
import
cn.qg.qaplatform.entity.vcc.RiskRecord
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
public
interface
RiskRecordMapper
extends
BaseMapper
<
RiskRecord
>
{
}
src/main/java/cn/qg/qaplatform/mapper/vcc/UserQuotaRecordMapper.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
mapper
.
vcc
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
cn.qg.qaplatform.entity.vcc.UserQuotaRecord
;
public
interface
UserQuotaRecordMapper
extends
BaseMapper
<
UserQuotaRecord
>
{
}
src/main/java/cn/qg/qaplatform/mapper/xyqbUser/UserMapper.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
mapper
.
xyqbUser
;
import
cn.qg.qaplatform.entity.xyqbuser.User
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
public
interface
UserMapper
extends
BaseMapper
<
User
>
{
}
src/main/java/cn/qg/qaplatform/mapper/zdata/VccAccountMapper.java
deleted
100644 → 0
View file @
b3454443
package
cn
.
qg
.
qaplatform
.
mapper
.
zdata
;
import
java.util.Map
;
public
interface
VccAccountMapper
{
Integer
getNewestRepayOrderNo
(
String
userId
);
Map
<
String
,
Object
>
getNewestRepayResult
(
String
userId
);
}
src/main/java/cn/qg/qaplatform/service/vcc/AccountService.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
;
import
cn.qg.qaplatform.entity.vcc.Account
;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
AccountService
extends
IService
<
Account
>
{
}
src/main/java/cn/qg/qaplatform/service/vcc/AcsPayOrderService.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
;
import
cn.qg.qaplatform.entity.vcc.AcsPayOrder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
AcsPayOrderService
extends
IService
<
AcsPayOrder
>
{
}
src/main/java/cn/qg/qaplatform/service/vcc/RiskRecordService.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
;
import
cn.qg.qaplatform.entity.vcc.RiskRecord
;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
RiskRecordService
extends
IService
<
RiskRecord
>
{
}
src/main/java/cn/qg/qaplatform/service/vcc/UserQuotaRecordService.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
;
import
cn.qg.qaplatform.entity.vcc.UserQuotaRecord
;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
UserQuotaRecordService
extends
IService
<
UserQuotaRecord
>
{
}
src/main/java/cn/qg/qaplatform/service/vcc/impl/AccountServiceImpl.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
.
impl
;
import
cn.qg.qaplatform.entity.vcc.Account
;
import
cn.qg.qaplatform.mapper.vcc.AccountMapper
;
import
cn.qg.qaplatform.service.vcc.AccountService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
@Service
public
class
AccountServiceImpl
extends
ServiceImpl
<
AccountMapper
,
Account
>
implements
AccountService
{
}
src/main/java/cn/qg/qaplatform/service/vcc/impl/AcsPayOrderServiceImpl.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
.
impl
;
import
cn.qg.qaplatform.entity.vcc.AcsPayOrder
;
import
cn.qg.qaplatform.mapper.vcc.AcsPayOrderMapper
;
import
cn.qg.qaplatform.service.vcc.AcsPayOrderService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
@Service
public
class
AcsPayOrderServiceImpl
extends
ServiceImpl
<
AcsPayOrderMapper
,
AcsPayOrder
>
implements
AcsPayOrderService
{
}
src/main/java/cn/qg/qaplatform/service/vcc/impl/RiskRecordServiceImpl.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
.
impl
;
import
cn.qg.qaplatform.entity.vcc.RiskRecord
;
import
cn.qg.qaplatform.mapper.vcc.RiskRecordMapper
;
import
cn.qg.qaplatform.service.vcc.RiskRecordService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
@Service
public
class
RiskRecordServiceImpl
extends
ServiceImpl
<
RiskRecordMapper
,
RiskRecord
>
implements
RiskRecordService
{
}
src/main/java/cn/qg/qaplatform/service/vcc/impl/UserQuotaRecordServiceImpl.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
vcc
.
impl
;
import
cn.qg.qaplatform.entity.vcc.UserQuotaRecord
;
import
cn.qg.qaplatform.mapper.vcc.UserQuotaRecordMapper
;
import
cn.qg.qaplatform.service.vcc.UserQuotaRecordService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
@Service
public
class
UserQuotaRecordServiceImpl
extends
ServiceImpl
<
UserQuotaRecordMapper
,
UserQuotaRecord
>
implements
UserQuotaRecordService
{
}
src/main/java/cn/qg/qaplatform/service/xyqbUser/UserService.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
xyqbUser
;
import
cn.qg.qaplatform.entity.xyqbuser.User
;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
UserService
extends
IService
<
User
>
{
}
src/main/java/cn/qg/qaplatform/service/xyqbUser/impl/UserServiceImpl.java
0 → 100644
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
xyqbUser
.
impl
;
import
cn.qg.qaplatform.entity.xyqbuser.User
;
import
cn.qg.qaplatform.mapper.xyqbUser.UserMapper
;
import
cn.qg.qaplatform.service.xyqbUser.UserService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
@Service
public
class
UserServiceImpl
extends
ServiceImpl
<
UserMapper
,
User
>
implements
UserService
{
}
src/main/java/cn/qg/qaplatform/service/zdata/vcc/VccDataService.java
View file @
e37caaf5
...
...
@@ -16,18 +16,9 @@ public interface VccDataService {
*/
VccOpenResultVo
makeVccUser
(
String
namespace
,
String
phoneNo
,
String
openedChannel
,
Integer
status
)
throws
Exception
;
/**
* 根据状态批量获取vcc数据
*/
PageResult
getVccData
(
String
namespace
,
Integer
status
,
Integer
pageNum
,
Integer
pageSize
);
/**
* 根据手机号获取用户vcc状态
*/
VccUserEntity
queryUserVccStatus
(
String
namespace
,
String
phoneNo
);
Boolean
vccManualRiskControl
(
String
namespace
,
String
phoneNo
,
Boolean
result
,
Integer
amount
);
JSONObject
vccRepayCallback
(
String
namespace
,
String
phoneNo
,
Integer
result
);
}
src/main/java/cn/qg/qaplatform/service/zdata/vcc/impl/VccDataServiceImpl.java
View file @
e37caaf5
package
cn
.
qg
.
qaplatform
.
service
.
zdata
.
vcc
.
impl
;
import
cn.qg.qaplatform.config.SwitchDataSource
;
import
cn.qg.qaplatform.entity.zdata.XjfqGenProcessVo
;
import
cn.qg.qaplatform.enums.VccStatusEnum
;
import
cn.qg.qaplatform.mapper.zdata.VccAccountMapper
;
import
cn.qg.qaplatform.mapper.zdata.VccDataMapper
;
import
cn.qg.qaplatform.entity.zdata.VccOpenResultVo
;
import
cn.qg.qaplatform.entity.zdata.VccUserEntity
;
...
...
@@ -11,19 +9,12 @@ import cn.qg.qaplatform.mapper.zdata.XyqbLoanDataMapper;
import
cn.qg.qaplatform.process.Vcc
;
import
cn.qg.qaplatform.service.zdata.risk.RuleEngineService
;
import
cn.qg.qaplatform.service.zdata.vcc.VccDataService
;
import
cn.qg.qaplatform.utils.HttpClientUtils
;
import
cn.qg.qaplatform.utils.page.PageResult
;
import
cn.qg.qaplatform.utils.page.PageUtil
;
import
cn.qg.qaplatform.service.zdata.xyqb.XyqbBasicQueryService
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -34,9 +25,6 @@ public class VccDataServiceImpl implements VccDataService {
@Autowired
VccDataMapper
vccDataMapper
;
@Autowired
VccAccountMapper
vccAccountMapper
;
@Autowired
RuleEngineService
ruleEngineService
;
...
...
@@ -160,22 +148,6 @@ public class VccDataServiceImpl implements VccDataService {
return
vccOpenResultVo
;
}
/**
* vcc捞数据
* @param namespace 环境
* @param status 状态
* @return
*/
@Override
public
PageResult
getVccData
(
String
namespace
,
Integer
status
,
Integer
pageNum
,
Integer
pageSize
)
{
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"vcc_talos"
);
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
VccUserEntity
>
result
=
vccDataMapper
.
queryVccDataByStatus
(
status
);
PageInfo
<
VccUserEntity
>
pageList
=
new
PageInfo
<>(
result
);
PageResult
pageResult
=
PageUtil
.
getPageResult
(
pageList
,
pageNum
,
pageSize
);
return
pageResult
;
}
/**
* 根据手机号获取用户vcc状态
* @param namespace 环境
...
...
@@ -187,60 +159,4 @@ public class VccDataServiceImpl implements VccDataService {
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"vcc_talos"
);
return
vccDataMapper
.
queryUserVccStatus
(
phoneNo
);
}
/**
* vcc手动风控回调
* @param namespace 环境
* @param phoneNo 手机号
* @param result 结果,true/false
* @param amount 授信金额
* @return
*/
@Override
public
Boolean
vccManualRiskControl
(
String
namespace
,
String
phoneNo
,
Boolean
result
,
Integer
amount
)
{
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"xyqb_user"
);
XjfqGenProcessVo
xjfqGenProcessVo
=
xyqbLoanDataMapper
.
getUserInfoByPhoneNo
(
phoneNo
);
if
(
xjfqGenProcessVo
==
null
)
{
return
false
;
}
String
uuid
=
xjfqGenProcessVo
.
getUuid
();
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"vcc_talos"
);
Map
<
String
,
Object
>
riskRecord
=
vccDataMapper
.
getVccRiskRecord
(
uuid
);
if
(
riskRecord
==
null
)
{
return
false
;
}
String
riskNo
=
riskRecord
.
get
(
"risk_no"
).
toString
();
JSONObject
creditResult
=
Vcc
.
vccWindControlCreditCallback
(
namespace
,
uuid
,
riskNo
,
result
,
amount
);
return
creditResult
.
get
(
"content"
).
toString
().
equals
(
"success"
);
}
/**
* vcc还款回调
* @param namespace 环境
* @param phoneNo 手机号
* @param result 回调结果,true/false
* @return
*/
@Override
public
JSONObject
vccRepayCallback
(
String
namespace
,
String
phoneNo
,
Integer
result
)
{
String
url
=
"https://acs-"
+
namespace
+
".liangkebang.net/ex/paycenter/repay_notify"
;
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"xyqb_user"
);
XjfqGenProcessVo
xjfqGenProcessVo
=
xyqbLoanDataMapper
.
getUserInfoByPhoneNo
(
phoneNo
);
SwitchDataSource
.
dataSourceSwitch
(
namespace
,
"acsdb"
);
Integer
orderNo
=
vccAccountMapper
.
getNewestRepayOrderNo
(
xjfqGenProcessVo
.
getUserId
());
Map
<
String
,
Object
>
formData
=
new
HashMap
<>();
formData
.
put
(
"orderNo"
,
orderNo
);
if
(
result
.
equals
(
1
))
{
formData
.
put
(
"remark"
,
"还款成功"
);
}
if
(
result
.
equals
(
2
))
{
formData
.
put
(
"remark"
,
"还款失败"
);
}
formData
.
put
(
"payStatus"
,
result
);
formData
.
put
(
"orderData"
,
"{\"payApproachDesc\":\"易宝-广达小贷-VCC专用\",\"orderId\":\"79884519018498\",\"payApproach\":\"65\",\"payApproachName\":\"YEE_PAY_GDXD_VCC\",\"payGateway\":\"0\",\"cardNo\":\"6217000025253636858\",\"payGatewayName\":\"YEE_PAY\"}"
);
JSONObject
response
=
HttpClientUtils
.
doPost
(
url
,
formData
);
log
.
info
(
"vcc还款回调结果:{}"
,
response
);
return
response
;
}
}
src/main/resources/mapper/zdata/VccAccountMapper.xml
deleted
100644 → 0
View file @
b3454443
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"cn.qg.qaplatform.mapper.zdata.VccAccountMapper"
>
<select
id=
"getNewestRepayOrderNo"
resultType=
"java.lang.Integer"
>
select `id` from `acs_pay_order` where `user_id` = #{userId} order by `id` desc limit 1
</select>
<select
id=
"getNewestRepayResult"
resultType=
"java.util.Map"
>
select * from `acs_pay_order` where `user_id` = #{userId} order by `id` desc limit 1
</select>
</mapper>
\ No newline at end of file
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