package com.kjz;
import com.alibaba.fastjson.JSON;
import com.kjz.domain.rule.model.aggregates.TreeRuleRich;
import com.kjz.domain.rule.model.vo.DecisionMatter;
import com.kjz.domain.rule.model.vo.EngineResult;
import com.kjz.domain.rule.repository.IRuleRepository;
import com.kjz.domain.rule.service.engine.impl.RuleEngineHandle;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.util.concurrent.ConcurrentHashMap;
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApiTest {
private Logger logger = LoggerFactory.getLogger(ApiTest.class);
@Resource
private RuleEngineHandle ruleEngineHandle;
@Resource
private IRuleRepository ruleRepository;
@Test
public void test_process() throws Exception {
DecisionMatter matter = new DecisionMatter();
matter.setTreeId(10001L);
matter.setUserId("kjz");
matter.setValMap(new ConcurrentHashMap<String, Object>() {{
put("gender", "man");
put("age", "25");
}});
EngineResult engineResult = ruleEngineHandle.process(matter);
logger.info("测试结果:" + JSON.toJSONString(engineResult));
}
@Test
public void test_queryTreeRuleRich(){
TreeRuleRich treeRuleRich = ruleRepository.queryTreeRuleRich(10001L);
logger.info("测试结果:" + JSON.toJSONString(treeRuleRich));
/** 测试结果
* {
* "treeNodeMap": {
* "1": {
* "nodeType": 1,
* "ruleDesc": "用户性别[男/女]",
* "ruleKey": "userGender",
* "treeId": 10001,
* "treeNodeId": 1,
* "treeNodeLineInfoList": [
* {
* "nodeIdFrom": 1,
* "nodeIdTo": 11,
* "ruleLimitType": 1,
* "ruleLimitValue": "man"
* },
* {
* "nodeIdFrom": 1,
* "nodeIdTo": 12,
* "ruleLimitType": 1,
* "ruleLimitValue": "woman"
* }
* ]
* },
* "11": {
* "nodeType": 1,
* "ruleDesc": "用户年龄",
* "ruleKey": "userAge",
* "treeId": 10001,
* "treeNodeId": 11,
* "treeNodeLineInfoList": [
* {
* "nodeIdFrom": 11,
* "nodeIdTo": 111,
* "ruleLimitType": 3,
* "ruleLimitValue": "25"
* },
* {
* "nodeIdFrom": 11,
* "nodeIdTo": 112,
* "ruleLimitType": 3,
* "ruleLimitValue": "25"
* }
* ]
* },
* "12": {
* "nodeType": 1,
* "ruleDesc": "用户年龄",
* "ruleKey": "userAge",
* "treeId": 10001,
* "treeNodeId": 12,
* "treeNodeLineInfoList": [
* {
* "nodeIdFrom": 12,
* "nodeIdTo": 121,
* "ruleLimitType": 3,
* "ruleLimitValue": "25"
* },
* {
* "nodeIdFrom": 12,
* "nodeIdTo": 122,
* "ruleLimitType": 3,
* "ruleLimitValue": "25"
* }
* ]
* },
* "111": {
* "nodeType": 2,
* "nodeValue": "果实A",
* "treeId": 10001,
* "treeNodeId": 111,
* "treeNodeLineInfoList": [ ]
* },
* "112": {
* "nodeType": 2,
* "nodeValue": "果实B",
* "treeId": 10001,
* "treeNodeId": 112,
* "treeNodeLineInfoList": [ ]
* },
* "121": {
* "nodeType": 2,
* "nodeValue": "果实C",
* "treeId": 10001,
* "treeNodeId": 121,
* "treeNodeLineInfoList": [ ]
* },
* "122": {
* "nodeType": 2,
* "nodeValue": "果实D",
* "treeId": 10001,
* "treeNodeId": 122,
* "treeNodeLineInfoList": [ ]
* }
* },
* "treeRoot": {
* "treeId": 10001,
* "treeName": "购物分类规则树",
* "treeRootNodeId": 1
* }
* }
*/
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
DDD架构思想专栏二《领域层的决策设计思想详解》
共146个文件
class:47个
java:43个
xml:20个
0 下载量 193 浏览量
2023-12-02
18:05:01
上传
评论
收藏 131KB ZIP 举报
温馨提示
DDD领域设计规则树实战
资源推荐
资源详情
资源评论
收起资源包目录
DDD架构思想专栏二《领域层的决策设计思想详解》 (146个子文件)
2404bc29da2535f7f7dde84180d85abc60d5a4 303B
346644eef4c98123be7ded64d92ea2d2c15fa6 327B
361b5d3cc8de9f5066fcad053f28c885cc1f15 185B
7f93632799a267ee6014ae486a33a154f10265 308B
8642fac084e27fe66d81f111393d179c2d95d6 163B
877daeb01c24afe2cc73d0366b5a9468dadd86 1KB
9129572efae8561649efdfe6f7a2a4e238a227 366B
a25f7f4cb416c083d265558da75d457237d671 155B
af31d81f70daf4e7ee8c82c8aae0c2b6dc43b2 149B
RuleMysqlRepository.class 5KB
DDDController.class 4KB
EngineBase.class 3KB
TreeMysqlRepository.class 3KB
ApiTest.class 2KB
TreeNodeInfo.class 2KB
RuleTreeConfig.class 2KB
BaseLogic.class 2KB
RuleEngineHandle.class 2KB
EngineResult.class 2KB
RuleTreeNodeLine.class 2KB
RuleTree.class 2KB
MallTreeServiceImpl.class 2KB
RuleTreeNode.class 2KB
TreeInfo.class 2KB
MallRuleServiceImpl.class 1KB
TreeNodeLineInfo.class 1KB
DecisionMatter.class 1KB
EngineConfig.class 1KB
DecisionMatterDTO.class 1KB
RuleRepository.class 1KB
TreeRuleRich.class 1KB
TreeCollect.class 1KB
TreeRepository.class 1KB
TreeRoot.class 1KB
UserGenderFilter.class 996B
UserAgeFilter.class 981B
TreeRulePoint.class 980B
RuleCacheRepository.class 979B
ApiTest$1.class 747B
DDDApplication.class 712B
CacheUtil.class 646B
Constants$NodeType.class 626B
Constants$RuleLimitType.class 613B
Constants$Global.class 582B
TreeDTO.class 572B
RuleTreeNodeLineDao.class 570B
Constants.class 560B
RuleTreeNodeDao.class 536B
LogicFilter.class 508B
ITreeRepository.class 449B
RuleTreeDao.class 386B
EngineFilter.class 338B
LogicConfig.class 326B
MallRuleService.class 281B
IRuleRepository.class 281B
MallTreeService.class 272B
config 130B
description 73B
exclude 240B
f6309b7199129c1afe4f4ec1906e640bec48c6 288B
.gitignore 490B
.gitignore 237B
HEAD 23B
index 608B
ApiTest.java 5KB
RuleMysqlRepository.java 4KB
DDDController.java 3KB
TreeMysqlRepository.java 2KB
EngineBase.java 2KB
RuleTreeConfig.java 2KB
TreeNodeInfo.java 2KB
EngineResult.java 1KB
RuleTreeNodeLine.java 1KB
BaseLogic.java 1KB
RuleTree.java 1KB
RuleTreeNode.java 1KB
RuleEngineHandle.java 1KB
MallRuleServiceImpl.java 1KB
MallTreeServiceImpl.java 1KB
TreeInfo.java 1KB
TreeNodeLineInfo.java 1KB
RuleRepository.java 944B
TreeRepository.java 818B
EngineConfig.java 804B
TreeRuleRich.java 744B
Constants.java 739B
DecisionMatter.java 725B
TreeRoot.java 716B
DecisionMatterDTO.java 698B
TreeCollect.java 679B
LogicFilter.java 661B
TreeRulePoint.java 636B
RuleCacheRepository.java 502B
UserGenderFilter.java 440B
UserAgeFilter.java 427B
MallRuleService.java 397B
MallTreeService.java 374B
RuleTreeNodeDao.java 360B
RuleTreeNodeLineDao.java 333B
DDDApplication.java 307B
共 146 条
- 1
- 2
资源评论
编程小猹
- 粉丝: 1412
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功