Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
asset-distribution
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data-spider
asset-distribution
Commits
959e022c
Commit
959e022c
authored
Aug 26, 2019
by
liwenbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
8afb8dc7
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
180 additions
and
39 deletions
+180
-39
IAssetDistributeRecordService.java
...ion/service/distribute/IAssetDistributeRecordService.java
+6
-1
AssetDistributeRecordServiceImpl.java
...ice/distribute/impl/AssetDistributeRecordServiceImpl.java
+16
-4
AssetDistributeServiceImpl.java
...n/service/distribute/impl/AssetDistributeServiceImpl.java
+32
-17
IAssetDistributeRecordRepository.java
...vice/jpa/repository/IAssetDistributeRecordRepository.java
+2
-2
AssetTest.java
...om/quantgroup/asset/distribution/attribute/AssetTest.java
+46
-12
DistributeTest.java
...ntgroup/asset/distribution/distribute/DistributeTest.java
+67
-0
RuleValidTest.java
...com/quantgroup/asset/distribution/rule/RuleValidTest.java
+11
-3
No files found.
src/main/java/com/quantgroup/asset/distribution/service/distribute/IAssetDistributeRecordService.java
View file @
959e022c
...
@@ -20,7 +20,7 @@ public interface IAssetDistributeRecordService {
...
@@ -20,7 +20,7 @@ public interface IAssetDistributeRecordService {
* @param distributeRecord
* @param distributeRecord
* @param distributeStatus
* @param distributeStatus
*/
*/
public
voi
d
saveDistributeRecord
(
Asset
asset
,
DistributeRecord
distributeRecord
,
int
distributeStatus
,
int
ruleType
);
public
AssetDistributeRecor
d
saveDistributeRecord
(
Asset
asset
,
DistributeRecord
distributeRecord
,
int
distributeStatus
,
int
ruleType
);
/**
/**
* 获取资产分发记录
* 获取资产分发记录
...
@@ -34,4 +34,9 @@ public interface IAssetDistributeRecordService {
...
@@ -34,4 +34,9 @@ public interface IAssetDistributeRecordService {
* @return
* @return
*/
*/
public
void
updateAssetDistributeStatus
(
String
bizNo
,
int
status
);
public
void
updateAssetDistributeStatus
(
String
bizNo
,
int
status
);
/**
* assetDistributeRecord为数据库查出来的,勿在本地new一个直接用
*/
public
void
updateAssetDistribute
(
AssetDistributeRecord
assetDistributeRecord
);
}
}
src/main/java/com/quantgroup/asset/distribution/service/distribute/impl/AssetDistributeRecordServiceImpl.java
View file @
959e022c
...
@@ -39,7 +39,8 @@ public class AssetDistributeRecordServiceImpl implements IAssetDistributeRecordS
...
@@ -39,7 +39,8 @@ public class AssetDistributeRecordServiceImpl implements IAssetDistributeRecordS
* 不能改成异步,防止save的时候record被清空
* 不能改成异步,防止save的时候record被清空
*/
*/
@Override
@Override
public
void
saveDistributeRecord
(
Asset
asset
,
DistributeRecord
distributeRecord
,
int
distributeStatus
,
int
ruleType
)
{
public
AssetDistributeRecord
saveDistributeRecord
(
Asset
asset
,
DistributeRecord
distributeRecord
,
int
distributeStatus
,
int
ruleType
)
{
AssetDistributeRecord
record
=
null
;
try
{
try
{
AssetDistributeRecord
assetDistributeRecord
=
new
AssetDistributeRecord
();
AssetDistributeRecord
assetDistributeRecord
=
new
AssetDistributeRecord
();
assetDistributeRecord
.
setAssetNo
(
asset
.
getAssetNo
());
assetDistributeRecord
.
setAssetNo
(
asset
.
getAssetNo
());
...
@@ -52,17 +53,18 @@ public class AssetDistributeRecordServiceImpl implements IAssetDistributeRecordS
...
@@ -52,17 +53,18 @@ public class AssetDistributeRecordServiceImpl implements IAssetDistributeRecordS
assetDistributeRecord
.
setAssetDistributeTarget
(
ruleType
);
assetDistributeRecord
.
setAssetDistributeTarget
(
ruleType
);
assetDistributeRecord
.
setAssetDistributeStatus
(
distributeStatus
);
assetDistributeRecord
.
setAssetDistributeStatus
(
distributeStatus
);
assetDistributeRecord
.
setEnable
(
true
);
assetDistributeRecord
.
setEnable
(
true
);
assetDistributeRecordRepository
.
save
(
assetDistributeRecord
);
record
=
assetDistributeRecordRepository
.
save
(
assetDistributeRecord
);
// 完成一次分发,清除分发记录
// 完成一次分发,清除分发记录
distributeRecord
.
clearRecords
();
distributeRecord
.
clearRecords
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"用户记录分发日志异常, uuid : {}"
,
asset
.
getUuid
(),
e
);
log
.
error
(
"用户记录分发日志异常, uuid : {}"
,
asset
.
getUuid
(),
e
);
}
}
return
record
;
}
}
@Override
@Override
public
List
<
AssetDistributeRecord
>
getDistributeRecord
(
String
assetNo
)
{
public
List
<
AssetDistributeRecord
>
getDistributeRecord
(
String
assetNo
)
{
return
assetDistributeRecordRepository
.
findByAssetNo
(
assetNo
);
return
assetDistributeRecordRepository
.
findByAssetNo
AndEnableIsTrue
(
assetNo
);
}
}
@Override
@Override
...
@@ -70,10 +72,20 @@ public class AssetDistributeRecordServiceImpl implements IAssetDistributeRecordS
...
@@ -70,10 +72,20 @@ public class AssetDistributeRecordServiceImpl implements IAssetDistributeRecordS
AssetDistributeRecord
assetDistributeRecord
=
assetDistributeRecordRepository
.
findByBizNoOrderByCreatedAtDescLimitOne
(
bizNo
);
AssetDistributeRecord
assetDistributeRecord
=
assetDistributeRecordRepository
.
findByBizNoOrderByCreatedAtDescLimitOne
(
bizNo
);
if
(
assetDistributeRecord
==
null
)
{
if
(
assetDistributeRecord
==
null
)
{
log
.
info
(
"资产分发记录更改状态未找到订单, bizNo : {}, status : {}"
,
bizNo
,
status
);
log
.
info
(
"资产分发记录更改状态未找到订单, bizNo : {}, status : {}"
,
bizNo
,
status
);
//
throw new QGException(QGExceptionType.NOT_FOUND_FUND_SERVER_RESULT_BIZNO, bizNo, status);
throw
new
QGException
(
QGExceptionType
.
NOT_FOUND_FUND_SERVER_RESULT_BIZNO
,
bizNo
,
status
);
}
else
{
}
else
{
assetDistributeRecord
.
setAssetDistributeStatus
(
status
);
assetDistributeRecord
.
setAssetDistributeStatus
(
status
);
assetDistributeRecordRepository
.
save
(
assetDistributeRecord
);
assetDistributeRecordRepository
.
save
(
assetDistributeRecord
);
}
}
}
}
@Async
@Override
public
void
updateAssetDistribute
(
AssetDistributeRecord
assetDistributeRecord
)
{
try
{
assetDistributeRecordRepository
.
save
(
assetDistributeRecord
);
}
catch
(
Exception
e
)
{
log
.
error
(
"更新分发记录异常!"
,
e
);
}
}
}
}
src/main/java/com/quantgroup/asset/distribution/service/distribute/impl/AssetDistributeServiceImpl.java
View file @
959e022c
...
@@ -10,11 +10,13 @@ import java.util.stream.Collectors;
...
@@ -10,11 +10,13 @@ import java.util.stream.Collectors;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.base.Stopwatch
;
import
com.quantgroup.asset.distribution.constant.DistributeConstants
;
import
com.quantgroup.asset.distribution.constant.DistributeConstants
;
import
com.quantgroup.asset.distribution.constant.RedisKeyConstants
;
import
com.quantgroup.asset.distribution.constant.RedisKeyConstants
;
import
com.quantgroup.asset.distribution.constant.StatusConstants
;
import
com.quantgroup.asset.distribution.constant.StatusConstants
;
...
@@ -88,8 +90,9 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
...
@@ -88,8 +90,9 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
boolean
valid
=
ruleService
.
valid
(
el
,
data
);
boolean
valid
=
ruleService
.
valid
(
el
,
data
);
record
.
addRecords
(
ruleConfig
.
getId
(),
el
,
ruleType
,
ruleConfig
.
getAssetDistributeRuleName
(),
valid
);
record
.
addRecords
(
ruleConfig
.
getId
(),
el
,
ruleType
,
ruleConfig
.
getAssetDistributeRuleName
(),
valid
);
if
(
valid
)
{
if
(
valid
)
{
int
distributeStatus
=
beginDistribute
(
assetForm
,
asset
,
ruleType
);
// 先创建记录,避免mq里消息来了就还没创建
assetDistributeRecordService
.
saveDistributeRecord
(
asset
,
record
,
distributeStatus
,
ruleType
);
AssetDistributeRecord
assetDistributeRecord
=
assetDistributeRecordService
.
saveDistributeRecord
(
asset
,
record
,
StatusConstants
.
WAIT
,
ruleType
);
int
distributeStatus
=
beginDistribute
(
assetForm
,
asset
,
ruleType
,
assetDistributeRecord
);
// 分发成功
// 分发成功
if
(
distributeStatus
==
StatusConstants
.
SUCCESS
||
distributeStatus
==
StatusConstants
.
WAIT
)
{
if
(
distributeStatus
==
StatusConstants
.
SUCCESS
||
distributeStatus
==
StatusConstants
.
WAIT
)
{
log
.
info
(
"用户执行分发节点, uuid : {}, bizNo : {}, assetNo : {}, bizChannel : {}, ruleId : {}, ruleName : {}, distributeStatus : {}"
,
log
.
info
(
"用户执行分发节点, uuid : {}, bizNo : {}, assetNo : {}, bizChannel : {}, ruleId : {}, ruleName : {}, distributeStatus : {}"
,
...
@@ -119,19 +122,31 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
...
@@ -119,19 +122,31 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
* @param ruleType
* @param ruleType
* @return 1:成功,2:失败, 3:分配中
* @return 1:成功,2:失败, 3:分配中
*/
*/
public
int
beginDistribute
(
AssetForm
assetForm
,
Asset
asset
,
int
ruleType
)
{
public
int
beginDistribute
(
AssetForm
assetForm
,
Asset
asset
,
int
ruleType
,
AssetDistributeRecord
assetDistributeRecord
)
{
switch
(
ruleType
)
{
try
{
case
DistributeConstants
.
RuleType
.
FUND_ROUTE
:
switch
(
ruleType
)
{
notifyService
.
notifyFundServer
(
assetForm
);
case
DistributeConstants
.
RuleType
.
FUND_ROUTE
:
return
StatusConstants
.
WAIT
;
notifyService
.
notifyFundServer
(
assetForm
);
case
DistributeConstants
.
RuleType
.
AID_FUND_ROUTE
:
return
StatusConstants
.
WAIT
;
GlobalResponse
response
=
aidFundRouteService
.
aidFundRoute
(
assetForm
,
asset
.
getUserLoanType
());
case
DistributeConstants
.
RuleType
.
AID_FUND_ROUTE
:
{
return
response
.
getCode
()
==
0
?
StatusConstants
.
SUCCESS
:
StatusConstants
.
FAIL
;
GlobalResponse
response
=
aidFundRouteService
.
aidFundRoute
(
assetForm
,
asset
.
getUserLoanType
());
case
DistributeConstants
.
RuleType
.
DIVERSION
:
int
status
=
response
.
getCode
()
==
0
?
StatusConstants
.
SUCCESS
:
StatusConstants
.
FAIL
;
notifyService
.
notifyFundServer
(
assetForm
);
// 助贷资金路由目前不从mq里接受终态
return
StatusConstants
.
WAIT
;
assetDistributeRecord
.
setAssetDistributeStatus
(
status
);
default
:
assetDistributeRecordService
.
updateAssetDistribute
(
assetDistributeRecord
);
throw
new
QGException
(
QGExceptionType
.
UNKNOW_RULE_TYPE
,
ruleType
);
return
status
;
}
case
DistributeConstants
.
RuleType
.
DIVERSION
:
notifyService
.
notifyFundServer
(
assetForm
);
return
StatusConstants
.
WAIT
;
default
:
throw
new
QGException
(
QGExceptionType
.
UNKNOW_RULE_TYPE
,
ruleType
);
}
}
catch
(
Exception
e
)
{
// 如果报错,把保存的分发记录置为失效
assetDistributeRecord
.
setEnable
(
false
);
assetDistributeRecordService
.
updateAssetDistribute
(
assetDistributeRecord
);
throw
e
;
}
}
}
}
...
@@ -193,11 +208,11 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
...
@@ -193,11 +208,11 @@ public class AssetDistributeServiceImpl implements IAssetDistributeService{
@Override
@Override
public
void
receiveFundingResult
(
String
bizNo
,
FundingResult
fundingResult
)
{
public
void
receiveFundingResult
(
String
bizNo
,
FundingResult
fundingResult
)
{
try
{
try
{
Stopwatch
stopwatch
=
Stopwatch
.
createStarted
();
// 1、更改分配记录状态
// 1、更改分配记录状态
// 延迟10秒再去更改,避免分发记录还没创建,结果就来了
TimeUnit
.
SECONDS
.
sleep
(
10
);
assetDistributeRecordService
.
updateAssetDistributeStatus
(
bizNo
,
fundingResult
==
FundingResult
.
FUAD_ASSIGN_SUCC
?
StatusConstants
.
SUCCESS
:
StatusConstants
.
FAIL
);
assetDistributeRecordService
.
updateAssetDistributeStatus
(
bizNo
,
fundingResult
==
FundingResult
.
FUAD_ASSIGN_SUCC
?
StatusConstants
.
SUCCESS
:
StatusConstants
.
FAIL
);
// 2、重新进行分发, 目前还没有,等接了助贷资金路由以后再增加
// 2、重新进行分发, 目前还没有,等接了助贷资金路由以后再增加
log
.
info
(
"资产分发接收资金结果处理结束, bizNo : {}, fundingResult : {}, 耗时 : {}"
,
bizNo
,
fundingResult
.
getCode
(),
stopwatch
.
stop
().
elapsed
(
TimeUnit
.
MILLISECONDS
));
}
catch
(
QGException
qe
)
{
}
catch
(
QGException
qe
)
{
log
.
error
(
"资产分发接收资金结果处理出现错误 : {}, bizNo : {}, fundingResult : {}"
,
qe
.
qgExceptionType
.
code
+
"->"
+
qe
.
detail
,
bizNo
,
fundingResult
.
getCode
())
;
log
.
error
(
"资产分发接收资金结果处理出现错误 : {}, bizNo : {}, fundingResult : {}"
,
qe
.
qgExceptionType
.
code
+
"->"
+
qe
.
detail
,
bizNo
,
fundingResult
.
getCode
())
;
alarmService
.
dingtalkAlarm
(
"Warn"
,
"资产分发接收资金结果处理出现错误"
,
"bizNo : "
+
bizNo
+
" , fundingResult : "
+
fundingResult
.
getCode
()
+
alarmService
.
dingtalkAlarm
(
"Warn"
,
"资产分发接收资金结果处理出现错误"
,
"bizNo : "
+
bizNo
+
" , fundingResult : "
+
fundingResult
.
getCode
()
+
...
...
src/main/java/com/quantgroup/asset/distribution/service/jpa/repository/IAssetDistributeRecordRepository.java
View file @
959e022c
...
@@ -14,8 +14,8 @@ import com.quantgroup.asset.distribution.service.jpa.entity.AssetDistributeRecor
...
@@ -14,8 +14,8 @@ import com.quantgroup.asset.distribution.service.jpa.entity.AssetDistributeRecor
*/
*/
public
interface
IAssetDistributeRecordRepository
extends
JpaRepository
<
AssetDistributeRecord
,
Long
>{
public
interface
IAssetDistributeRecordRepository
extends
JpaRepository
<
AssetDistributeRecord
,
Long
>{
public
List
<
AssetDistributeRecord
>
findByAssetNo
(
String
assetNo
);
public
List
<
AssetDistributeRecord
>
findByAssetNo
AndEnableIsTrue
(
String
assetNo
);
@Query
(
value
=
"select * from asset_distribute_record where biz_no = ?1 order by created_at desc limit 1"
,
nativeQuery
=
true
)
@Query
(
value
=
"select * from asset_distribute_record where biz_no = ?1
and enable = 1
order by created_at desc limit 1"
,
nativeQuery
=
true
)
public
AssetDistributeRecord
findByBizNoOrderByCreatedAtDescLimitOne
(
String
bizNo
);
public
AssetDistributeRecord
findByBizNoOrderByCreatedAtDescLimitOne
(
String
bizNo
);
}
}
src/test/java/com/quantgroup/asset/distribution/attribute/AssetTest.java
View file @
959e022c
package
com
.
quantgroup
.
asset
.
distribution
.
attribute
;
package
com
.
quantgroup
.
asset
.
distribution
.
attribute
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Field
;
import
java.util.HashMap
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
com.quantgroup.asset.distribution.AssetDistributionBootstrap
;
import
com.quantgroup.asset.distribution.config.annotation.Attribute
;
import
com.quantgroup.asset.distribution.config.annotation.Attribute
;
import
com.quantgroup.asset.distribution.constant.StatusConstants
;
import
com.quantgroup.asset.distribution.model.entity.DistributeRecord
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.model.form.AssetForm
;
import
com.quantgroup.asset.distribution.service.distribute.IAssetDistributeRecordService
;
import
com.quantgroup.asset.distribution.service.jpa.entity.Asset
;
import
com.quantgroup.asset.distribution.service.jpa.entity.Asset
;
import
com.quantgroup.asset.distribution.service.jpa.entity.AssetDistributeRecord
;
import
com.quantgroup.asset.distribution.service.jpa.repository.IAssetDistributeRecordRepository
;
import
com.quantgroup.asset.distribution.util.UUIDUtil
;
import
com.quantgroup.asset.distribution.util.UUIDUtil
;
/**
/**
...
@@ -12,9 +25,17 @@ import com.quantgroup.asset.distribution.util.UUIDUtil;
...
@@ -12,9 +25,17 @@ import com.quantgroup.asset.distribution.util.UUIDUtil;
* @author liwenbin
* @author liwenbin
*
*
*/
*/
@SpringBootTest
(
classes
=
AssetDistributionBootstrap
.
class
)
@RunWith
(
SpringRunner
.
class
)
public
class
AssetTest
{
public
class
AssetTest
{
public
static
void
main
(
String
[]
args
)
throws
IllegalArgumentException
,
IllegalAccessException
{
@Autowired
private
IAssetDistributeRecordService
assetDistributeRecordService
;
@Autowired
private
IAssetDistributeRecordRepository
repository
;
@Test
public
void
testT
()
{
AssetForm
assetForm
=
new
AssetForm
();
AssetForm
assetForm
=
new
AssetForm
();
assetForm
.
setCode
(
"0"
);
assetForm
.
setCode
(
"0"
);
assetForm
.
setMsg
(
"success"
);
assetForm
.
setMsg
(
"success"
);
...
@@ -27,18 +48,31 @@ public class AssetTest {
...
@@ -27,18 +48,31 @@ public class AssetTest {
assetForm
.
setCallbackUrl
(
"callbackUrl"
);
assetForm
.
setCallbackUrl
(
"callbackUrl"
);
assetForm
.
setAssetNo
(
UUIDUtil
.
getAssetNo
());
assetForm
.
setAssetNo
(
UUIDUtil
.
getAssetNo
());
DistributeRecord
record
=
new
DistributeRecord
(
new
HashMap
<>());
Asset
asset
=
assetForm
.
transToAsset
();
Asset
asset
=
assetForm
.
transToAsset
();
Class
<?>
clazz
=
asset
.
getClass
();
AssetDistributeRecord
assetDistributeRecord
=
assetDistributeRecordService
.
saveDistributeRecord
(
asset
,
record
,
StatusConstants
.
WAIT
,
1
);
Field
[]
flelds
=
clazz
.
getDeclaredFields
();
testUpdate
(
assetDistributeRecord
);
for
(
Field
field
:
flelds
)
{
}
if
(
field
.
isAnnotationPresent
(
Attribute
.
class
)
&&
field
.
getAnnotation
(
Attribute
.
class
).
value
())
{
field
.
setAccessible
(
true
);
public
void
testUpdate
(
AssetDistributeRecord
assetDistributeRecord
)
{
String
name
=
field
.
getName
();
assetDistributeRecord
.
setEnable
(
false
);
System
.
out
.
println
(
field
.
getName
()
+
":"
+
field
.
get
(
asset
));
assetDistributeRecordService
.
updateAssetDistribute
(
assetDistributeRecord
);
name
=
checkName
(
name
);
}
System
.
out
.
println
(
name
+
":"
+
field
.
get
(
asset
));
}
public
static
void
main
(
String
[]
args
)
throws
IllegalArgumentException
,
IllegalAccessException
{
}
AssetForm
assetForm
=
new
AssetForm
();
assetForm
.
setCode
(
"0"
);
assetForm
.
setMsg
(
"success"
);
assetForm
.
setUuid
(
"561e6790-9080-41bc-8c1d-8e2524867b27"
);
assetForm
.
setBizChannel
(
"159843"
);
assetForm
.
setBizNo
(
"SP493016826165714789463533"
);
assetForm
.
setBizType
(
"0"
);
assetForm
.
setAuditResult
(
"false"
);
assetForm
.
setDeadLine
(
"deadLine"
);
assetForm
.
setCallbackUrl
(
"callbackUrl"
);
assetForm
.
setAssetNo
(
UUIDUtil
.
getAssetNo
());
}
}
...
...
src/test/java/com/quantgroup/asset/distribution/distribute/DistributeTest.java
View file @
959e022c
package
com
.
quantgroup
.
asset
.
distribution
.
distribute
;
package
com
.
quantgroup
.
asset
.
distribution
.
distribute
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
org.apache.commons.lang3.StringUtils
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -14,9 +16,14 @@ import com.alibaba.fastjson.JSON;
...
@@ -14,9 +16,14 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.quantgroup.asset.distribution.AssetDistributionBootstrap
;
import
com.quantgroup.asset.distribution.AssetDistributionBootstrap
;
import
com.quantgroup.asset.distribution.constant.StatusConstants
;
import
com.quantgroup.asset.distribution.enums.funding.FundingResult
;
import
com.quantgroup.asset.distribution.model.entity.DistributeRecord
;
import
com.quantgroup.asset.distribution.model.entity.DistributeRecord
;
import
com.quantgroup.asset.distribution.service.distribute.IAssetDistributeRecordService
;
import
com.quantgroup.asset.distribution.service.distribute.IAssetDistributeRecordService
;
import
com.quantgroup.asset.distribution.service.distribute.IAssetDistributeService
;
import
com.quantgroup.asset.distribution.service.httpclient.IHttpService
;
import
com.quantgroup.asset.distribution.service.jpa.entity.AssetDistributeRecord
;
import
com.quantgroup.asset.distribution.service.jpa.entity.AssetDistributeRecord
;
import
com.quantgroup.asset.distribution.service.jpa.repository.IAssetDistributeRecordRepository
;
@SpringBootTest
(
classes
=
AssetDistributionBootstrap
.
class
)
@SpringBootTest
(
classes
=
AssetDistributionBootstrap
.
class
)
@RunWith
(
SpringRunner
.
class
)
@RunWith
(
SpringRunner
.
class
)
...
@@ -24,6 +31,21 @@ public class DistributeTest {
...
@@ -24,6 +31,21 @@ public class DistributeTest {
@Autowired
@Autowired
private
IAssetDistributeRecordService
assetDistributeRecordService
;
private
IAssetDistributeRecordService
assetDistributeRecordService
;
@Autowired
private
IAssetDistributeRecordRepository
assetDistributeRecordRepository
;
@Autowired
private
IHttpService
httpService
;
@Autowired
private
IAssetDistributeService
distributeService
;
@Test
public
void
testEn
()
{
// List<AssetDistributeRecord> list = assetDistributeRecordRepository.findByAssetNoAndEnableIsTrue("ASET0faf33c1d2ca47cfb9828d7d79396264");
// System.out.println(list);
// System.out.println(list.size());
AssetDistributeRecord
asset
=
assetDistributeRecordRepository
.
findByBizNoOrderByCreatedAtDescLimitOne
(
"SP493016826165714789463533"
);
System
.
out
.
println
(
asset
);
}
@Test
@Test
public
void
test
()
{
public
void
test
()
{
...
@@ -38,4 +60,49 @@ public class DistributeTest {
...
@@ -38,4 +60,49 @@ public class DistributeTest {
}
}
System
.
out
.
println
(
list
);
System
.
out
.
println
(
list
);
}
}
@Test
public
void
testHttp
()
{
String
result
=
httpService
.
post
(
"http://localhost:9050"
+
"/feature/get"
,
new
HashMap
<
String
,
String
>(){{
put
(
"uuid"
,
"123213"
);
put
(
"bizChannel"
,
"123213"
);
put
(
"bizNo"
,
"1232131"
);
put
(
"bizType"
,
"123213131"
);
put
(
"keys"
,
"12321321"
);
put
(
"method"
,
"0"
);
}});
}
@Test
public
void
testUpdateRecordStatus
()
{
// AssetDistributeRecord record = assetDistributeRecordRepository.findByBizNoOrderByCreatedAtDescLimitOne("1231231231231");
// record.setAssetDistributeStatus(StatusConstants.SUCCESS);
// assetDistributeRecordRepository.save(record);
distributeService
.
receiveFundingResult
(
"SP499997499085250626417877"
,
FundingResult
.
FUAD_ASSIGN_SUCC
);
}
public
static
void
main
(
String
[]
args
)
{
String
ms
=
"{\"data\":{\"applyNo\":\"SP518202446325688840197868\",\"loanId\":0,\"loanProgress\":\"FILTERING_DECLINED\",\"termNo\":-1},\"extraData\":\"{\\\"nextOperateDate\\\":\\\"1569081600000\\\",\\\"orderNo\\\":\\\"SP518202446325688840197868\\\",\\\"refuseReason\\\":\\\"审核拒绝\\\",\\\"rejectTime\\\":1566556270084}\",\"noticeType\":\"REJECT\"}"
;
// JSONObject jo = JSONObject.parseObject(ms);
// String noticeType = jo.getString("noticeType");
// String applyNo = jo.getJSONObject("data").getString("applyNo");
// if(FundingResult.REJECT.getCode().equals(noticeType)
// || FundingResult.HANG_UP.getCode().equals(noticeType)
// || FundingResult.CANCEL_LOAN.getCode().equals(noticeType)
// || FundingResult.FUAD_ASSIGN_SUCC.getCode().equals(noticeType)){
// String s = "REJECT";
// System.out.println(FundingResult.fromCode(s));
// System.out.println(FundingResult.fromCode(noticeType));
// }
String
s
=
"{\"key\" : \"115\"}"
;
JSONObject
js
=
JSON
.
parseObject
(
s
);
String
s3
=
js
.
getString
(
"key"
);
String
s1
=
"115"
;
String
s2
=
"115"
;
System
.
out
.
println
(
s1
==
s2
);
System
.
out
.
println
(
s1
==
s3
);
}
}
}
src/test/java/com/quantgroup/asset/distribution/rule/RuleValidTest.java
View file @
959e022c
...
@@ -9,8 +9,10 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -9,8 +9,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
com.alibaba.fastjson.JSON
;
import
com.quantgroup.asset.distribution.AssetDistributionBootstrap
;
import
com.quantgroup.asset.distribution.AssetDistributionBootstrap
;
import
com.quantgroup.asset.distribution.service.rule.IRuleService
;
import
com.quantgroup.asset.distribution.service.rule.IRuleService
;
import
com.quantgroup.asset.distribution.util.calc.Expression
;
@SpringBootTest
(
classes
=
AssetDistributionBootstrap
.
class
)
@SpringBootTest
(
classes
=
AssetDistributionBootstrap
.
class
)
@RunWith
(
SpringRunner
.
class
)
@RunWith
(
SpringRunner
.
class
)
...
@@ -21,8 +23,14 @@ public class RuleValidTest {
...
@@ -21,8 +23,14 @@ public class RuleValidTest {
@Test
@Test
public
void
testRuleValid
()
{
public
void
testRuleValid
()
{
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
// Map<String, Object> data = JSON.parseObject("{\"asset_no\":\"ASETb98eb77a9b0241c88b21c50e6ca18ed2\",\"biz_channel\":\"159843\",\"finance_product_type\":0,\"biz_no\":\"SP502357594925728441767462\",\"user_loan_type_latest\":0,\"batchUuid\":\"bcc35b09-fc7f-4dd3-957a-1c1d25c5bd36\",\"audit_result\":0,\"uuid\":\"b3cfb485-f4a1-4749-8ed0-d5ecc6cc5dd2\",\"user_loan_type\":0}");
data
.
put
(
"status"
,
"0"
);
Map
<
String
,
Object
>
data
=
JSON
.
parseObject
(
"{\"asset_no\":\"ASET669cfdc1e8064ae6ade6332bd2dc5baf\",\"biz_channel\":\"214\",\"finance_product_type\":0,\"biz_no\":\"SP499997499085250626417877\",\"user_loan_type_latest\":1,\"batchUuid\":\"19b1bdcc-103b-425c-af26-fe91fc0a9699\",\"audit_result\":true,\"uuid\":\"8e7437904897429e82e52082e1537631\",\"user_loan_type\":1}"
);
System
.
out
.
println
(
ruleService
.
valid
(
"status!=0"
,
data
));
// Map<String, Object> data = JSON.parseObject("{\"asset_no\":\"ASET669cfdc1e8064ae6ade6332bd2dc5baf\",\"biz_channel\":\"214\",\"finance_product_type\":0,\"biz_no\":\"SP499997499085250626417877\",\"user_loan_type_latest\":1,\"batchUuid\":\"19b1bdcc-103b-425c-af26-fe91fc0a9699\",\"audit_result\":0,\"uuid\":\"2c748ad2-4c9a-4bbe-80e9-267206d8e895\",\"user_loan_type\":1}");
// data.put("audit_result", 0);
System
.
out
.
println
(
ruleService
.
valid
(
"audit_result=true||audit_result=false"
,
data
));
}
public
static
void
main
(
String
[]
args
)
{
// System.out.println(Expression.isNumber("677e1245-4e58-4979-8794-39e728e84248"));
}
}
}
}
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