Commit 959e022c authored by liwenbin's avatar liwenbin

fix

parent 8afb8dc7
...@@ -20,7 +20,7 @@ public interface IAssetDistributeRecordService { ...@@ -20,7 +20,7 @@ public interface IAssetDistributeRecordService {
* @param distributeRecord * @param distributeRecord
* @param distributeStatus * @param distributeStatus
*/ */
public void saveDistributeRecord(Asset asset, DistributeRecord distributeRecord, int distributeStatus, int ruleType); public AssetDistributeRecord 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);
} }
...@@ -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.findByAssetNoAndEnableIsTrue(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);
}
}
} }
...@@ -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() +
......
...@@ -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> findByAssetNoAndEnableIsTrue(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);
} }
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());
} }
......
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);
}
} }
...@@ -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"));
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment