first commit

This commit is contained in:
niuge
2021-11-29 14:06:41 +08:00
parent 9fe956e941
commit 9450445e2a
259 changed files with 27872 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
package com.risk.riskmanage.knowledge.common.consts;
/**
* ClassName:ExcelHeader <br/>
* Description: Excel表头配置. <br/>
*/
public class ExcelHeader {
/**
* 规则表头名称
* */
public static final String[] RULE_HEADER = {"规则名称","规则代码","规则描述","优先级","条件","输出"};
/**
* 规则表头对应属性名称
* */
public static final String[] RULE_ClASS = {"name","versionCode","description","priority","fieldContent","content"};
/**
* 评分卡表头名称
* */
public static final String[] SCORECARD_HEADER = {"评分卡名称","评分卡代码","评分卡描述","版本号","指标详情","评分卡规则内容"};
/**
* 评分卡表头对应属性名称
* */
public static final String[] SCORECARD_ClASS = {"name","versionCode","description","version","fieldContent","content"};
}

View File

@@ -0,0 +1,35 @@
package com.risk.riskmanage.knowledge.common.consts;
/**
* ClassName:ExcelHeader <br/>
* Description: 通用状态. <br/>
*/
public class Status {
/**
* 启用
* */
public static final int ENABLED = 1;
/**
* 停用
* */
public static final int DISABLE =0;
/**
* 删除
* */
public static final int DELETE =-1;
/**
* 输出
* */
public static final int IS_OUTPUT =1;
/**
* 不输出
* */
public static final int IS_NOT_OUTPUT =0;
}

View File

@@ -0,0 +1,44 @@
package com.risk.riskmanage.knowledge.common.consts;
/**
* ClassName:ExcelHeader <br/>
* Description: 通用类型. <br/>
* @see
*/
public class Type {
/**
* 系统的
* */
public static final int SYSTEMATIC =0;
/**
* 组织的
* */
public static final int ORGANIZATIONAL =1;
/**
* 引擎的
* */
public static final int ENGINE =2;
/**
* 树类型为规则集
* */
public static final int RULE_TREE =0;
/**
* 树类型为评分卡
* */
public static final int SCORECARD_TREE =0;
/**
* 树类型为回收站
* */
public static final int RECYCLE_TREE =0;
/**
* 知识库映射类型
*/
public static final int POLICY = 1;
public static final int SCORECARD = 2;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,40 @@
package com.risk.riskmanage.knowledge.mapper;
import java.util.List;
import java.util.Map;
import com.risk.riskmanage.knowledge.model.KnowledgeTreeRel;
import com.risk.riskmanage.common.mapper.BaseMapper;
/**
* ClassName:KnowledgeTreeRelMapper</br>
* Description:引擎与引用规则关系 mapper
* @see
* */
public interface EngineRuleRelMapper extends BaseMapper<KnowledgeTreeRel>{
/**
* insertRel(批量插入关系)
*
* @param param 关系集合
* @return
* */
public int insertRel(Map<String,Object> param);
/**
* deleteRel:(批量删除关系)
*
* @param param 关系集合
* @return
* */
public int deleteRel(Map<String,Object> param);
/**
* getRuleIdsByEngineId:(根据引擎id,获取引用规则id集合)
*
* @param param 关系集合
* @return
* */
public List<Long> getRuleIdsByEngineId(Long engineId);
}

View File

@@ -0,0 +1,48 @@
package com.risk.riskmanage.knowledge.mapper;
import com.risk.riskmanage.common.mapper.BaseMapper;
import com.risk.riskmanage.engine.model.request.KnowledgeTreeListParam;
import com.risk.riskmanage.knowledge.model.KnowledgeTree;
import java.util.List;
import java.util.Map;
/**
* ClassName:KnowledgeTreeMapper </br>
* Description:知识库目录mapper
* @see
*
* */
public interface KnowledgeTreeMapper extends BaseMapper<KnowledgeTree>{
/**
* getTreeList(根据父节点id和组织id,查询其下的所有子节点)
*
* @param paramMap 参数集合
* @return 父节点下的所有子节点
* */
public List<KnowledgeTree> getTreeList(Map<String ,Object> paramMap);
public List<KnowledgeTree> getTreeListV2(Map<String ,Object> paramMap);
/**
* batchInsert:(批量新增节点)
*
* @param k 节点信息集合
* @return
* */
public int batchInsert(List<KnowledgeTree> k);
/**
* getTreeList(根据父节点id和组织id,查询其下的所有子节点,若节点下规则,则过滤掉)
*
* @param paramMap 参数集合
* @return 父节点下的所有子节点
* */
public List<KnowledgeTree> getTreeDataForEngine(Map<String ,Object> paramMap);
public List<KnowledgeTree> getTreeDataForEngineV2(Map<String ,Object> paramMap);
Long getTreeId(KnowledgeTree knowledgeTree);
List<KnowledgeTree> selectFolderList(KnowledgeTreeListParam param);
}

View File

@@ -0,0 +1,40 @@
package com.risk.riskmanage.knowledge.mapper;
import java.util.List;
import java.util.Map;
import com.risk.riskmanage.knowledge.model.KnowledgeTreeRel;
import com.risk.riskmanage.common.mapper.BaseMapper;
/**
* ClassName:KnowledgeTreeRelMapper</br>
* Description:规则管理树形目录与引擎关系 mapper
* @see
*
* */
public interface KnowledgeTreeRelMapper extends BaseMapper<KnowledgeTreeRel>{
/**
* insertRel(批量插入关系)
*
* @param list 关系集合
* @return
* */
public int insertRel(Map<String,Object> param);
/**
* deleteRel:(批量删除关系)
*
* @param engineId 引擎id
* @return
* */
public int deleteRel(Long engineId);
/**
* findTreeIdsByEngineId:(根据引擎id获取引擎使用的组织目录节点的id的集合)
*
* @param engineId 引擎id
* @return
* */
public List<Long> findTreeIdsByEngineId(Long engineId);
}

View File

@@ -0,0 +1,55 @@
package com.risk.riskmanage.knowledge.mapper;
import java.util.List;
import com.risk.riskmanage.knowledge.model.RuleContent;
import com.risk.riskmanage.common.mapper.BaseMapper;
import com.risk.riskmanage.engine.model.NodeKnowledge;
/**
* ClassName:RuleContentInfoMapper </br>
* Description:规则内容mapper
* @see
* */
public interface RuleContentMapper extends BaseMapper<RuleContent>{
/**
* getRuleContentList : (根据规则id,,获取规则内容集合)
*
* @param ruleId 规则id
* @return 规则下的所有内容
* */
public List<RuleContent> getRuleContentList(Long ruleId);
/**
* insertRuleContent: (批量新增规则内容记录)
*
* @param ruleContentList 规则内容信息
* @return
* */
public int insertRuleContent(List<RuleContent> ruleContentList);
/**
* updateRuleContent : (批量修改规则内容记录)
*
* @param rlist 规则内容信息集合
* @return
* */
public boolean updateRuleContent(List<RuleContent> rlist);
/**
* deleteRuleContent : (批量删除规则内容记录)
*
* @param rlist 规则内容信息集合
* @return
* */
public boolean deleteRuleContent(List<RuleContent> rlist);
/**
* 根据引擎节点选择的规则查询字段
* @param nodeKnowledge 引擎规则关系
* @return 查询到在规则字段
* @see
*/
public List<RuleContent> selectNodeByRuleList(NodeKnowledge nodeKnowledge);
}

View File

@@ -0,0 +1,74 @@
package com.risk.riskmanage.knowledge.mapper;
import java.util.List;
import java.util.Map;
import com.risk.riskmanage.knowledge.model.RuleField;
import com.risk.riskmanage.common.mapper.BaseMapper;
import com.risk.riskmanage.engine.model.NodeKnowledge;
/**
* ClassName:RuleFieldMapper </br>
* Description:规则字段mapper
* @see
* */
public interface RuleFieldMapper extends BaseMapper<RuleField>{
/**
* getFieldList : (根据规则id,,获取规则下的所有字段)
*
* @param ruleId 规则id
* @return 规则下的所有字段
* */
public List<RuleField> getFieldList(Long ruleId);
/**
* insertField : (批量新增字段记录)
*
* @param rlist 字段信息集合
* @return
* */
public int insertField(List<RuleField> ruleFieldlist);
/**
* updateField : (批量修改字段记录)
*
* @param rlist 字段信息集合
* @return
* */
public boolean updateField(List<RuleField> rlist);
/**
* deleteField : (批量删除字段记录)
*
* @param rlist 字段信息集合
* @return
* */
public boolean deleteField(List<RuleField> rlist);
/**
* getNodeByList : (根据引擎节点得到所用字段)
* @author wenyu.cao
* @param nodeid 节点编号
* @return 返回字段list
* */
public List<RuleField> getNodeByList(NodeKnowledge knowledge);
/**
*
* 根据规则得到规则引用字段
* @param nodeKnowledge
* @return
* @see
*/
public List<RuleField> selectNodeByRuleList( NodeKnowledge nodeKnowledge);
/**
*
* 根据规则id得到规则引用字段
* @param paramMap 规则id集合
* @return
* @see
*/
public List<RuleField> selectByRuleList(Map<String,Object> paramMap);
}

View File

@@ -0,0 +1,96 @@
package com.risk.riskmanage.knowledge.mapper;
import com.risk.riskmanage.common.mapper.BaseMapper;
import com.risk.riskmanage.engine.model.NodeKnowledge;
import com.risk.riskmanage.knowledge.model.Rule;
import java.util.List;
import java.util.Map;
/**
* ClassName:OrganRuleMapper </br>
* Description:规则mapper
* @see
* */
public interface RuleMapper extends BaseMapper<Rule>{
/**
* getRuleList:(获取规则集合)
*
* @param paramMap 参数集合
* @return 规则集合
* */
public List<Rule> getRuleList(Map<String, Object> paramMap);
/**
* updateRuleStatus:(批量修改规则状态记录)
*
* @param paramMap 参数集合
* @return
* */
public int updateRuleStatus(Map<String, Object> paramMap);
/**
* getNodeByRuleList : (根据引擎节点得到所用规则)
* @author wenyu.cao
* @param nodeid 节点编号
* @return 返回字段list
* */
public List<Rule> getNodeByRuleList(NodeKnowledge knowledge);
/**
* 根据规则类型查询规则
* @param list 规则编号
* @return
* @see
*/
public List<Rule> selectnodeByInRoleid(List<Long> list);
/**
* 根据父节点id查找,节点下所有规则id的集合
* @param list 规则编号
* @return
* @see
*/
public List<Long> getRuleIdsByParentId(Map<String,Object> param);
/**
* getRuleList:(查找引用了某些字段的规则集合)
*
* @param paramMap 参数集合
* @return 规则集合
* */
public List<Rule> checkByField(Map<String, Object> paramMap);
/**
* 效验规则名称唯一性
* @param param 参数集合
* @return
* @see
*/
public int countOnlyRuleName(Map<String,Object> param);
/**
* 效验规则代码唯一性
* @param param 参数集合
* @return
* @see
*/
public int countOnlyRuleCode(Map<String,Object> param);
/**
* getFieldIdsByRuleId:(根据规则id,获取规则所用字段id和Key)
*
* @param idList 规则id集合
* @return
* */
public List<String> getFieldIdsByRuleId(List<Long> idList);
public List<Rule> getRuleListByType(Map<String, Object> paramMap);
public List<Rule> getNodeAddOrSubRulesByNodeId(Long nodeId);
List<Rule> getRuleListByIds(Map<String, Object> xxx);
List<Rule> getAllCodeNameParentId();
// Set<String> getAllName();
}

View File

@@ -0,0 +1,43 @@
package com.risk.riskmanage.knowledge.model;
import java.io.Serializable;
/**
* ClassName:KnowledgeTreeRel <br/>
* Description: 引擎与引用规则关系实体类 <br/>
*/
public class EngineRuleRel implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 主键
* */
private Long id;
/**
* 引擎id
* */
private Long engineId;
/**
* 树形目录id
* */
private Long ruleId;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getEngineId() {
return engineId;
}
public void setEngineId(Long engineId) {
this.engineId = engineId;
}
}

View File

@@ -0,0 +1,229 @@
package com.risk.riskmanage.knowledge.model;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;
import org.codehaus.jackson.annotate.JsonIgnore;
/**
* ClassName:KnowledgeTreeVo <br/>
* Description: 知识库树形菜单实体类. <br/>
*/
public class KnowledgeTree implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 主键
* */
private Long id;
/**
* 目录名称
* */
private String name;
/**
* 父节点id
* */
private Long parentId;
/**
* 创建人id
* */
private Long userId;
/**
* 组织id
* */
private Long organId;
/**
* 引擎id
* */
private Long engineId;
/**
* 创建日期
* */
private Date created;
/**
* 目录类型 0 : 系统的目录 1组织的目录 2 引擎的目录
* */
private Integer type;
/**
* 树形分类0规则树 1评分卡的树 2回收站的树
* */
private Integer treeType;
/**
* 状态 0 :停用 1 : 启用,-1删除
* */
private Integer status;
/**
* 修改日期
* */
private Date updated;
/**
* 子类集合
* */
private KnowledgeTree[] children;
/**
* 是否为父类
* */
private String isParent = "true";
/**
*文件夹图片路径
* */
private String icon="";
private String isLastNode="";
private Integer directoryType;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getOrganId() {
return organId;
}
public void setOrganId(Long organId) {
this.organId = organId;
}
public Long getEngineId() {
return engineId;
}
public void setEngineId(Long engineId) {
this.engineId = engineId;
}
@JsonIgnore
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@JsonIgnore
public Date getUpdated() {
return updated;
}
public void setUpdated(Date updated) {
this.updated = updated;
}
public KnowledgeTree[] getChildren() {
return children;
}
public void setChildren(KnowledgeTree[] children) {
this.children = children;
}
public String getIsParent() {
return isParent;
}
public void setIsParent(String isParent) {
this.isParent = isParent;
}
public Integer getTreeType() {
return treeType;
}
public void setTreeType(Integer treeType) {
this.treeType = treeType;
}
public String getIcon() {
// if((int)treeType == 2 || (int)treeType == 3){
// icon = "../resource/images/datamanage/cabage.png";
// isLastNode ="true";
// }else{
// icon = "../resource/images/authority/folder.png";
// }
return icon;
}
public Integer getDirectoryType() {
return directoryType = type ;
}
public String getIsLastNode() {
// if((int)treeType == 2 || (int)treeType == 3){
// isLastNode ="true";
// }
return isLastNode;
}
@Override
public String toString() {
return "KnowledgeTree [id=" + id + ", name=" + name + ", parentId="
+ parentId + ", userId=" + userId + ", organId=" + organId
+ ", engineId=" + engineId + ", created=" + created + ", type="
+ type + ", treeType=" + treeType + ", status=" + status
+ ", updated=" + updated + ", children="
+ Arrays.toString(children) + ", isParent=" + isParent
+ ", icon=" + icon + ", isLastNode=" + isLastNode
+ ", directoryType=" + directoryType + "]";
}
}

View File

@@ -0,0 +1,51 @@
package com.risk.riskmanage.knowledge.model;
import java.io.Serializable;
/**
* ClassName:KnowledgeTreeRel <br/>
* Description: 规则管理树形目录与引擎关系实体类 <br/>
* @see
*/
public class KnowledgeTreeRel implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 主键
* */
private Long id;
/**
* 引擎id
* */
private Long engineId;
/**
* 树形目录id
* */
private Long treeId;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getEngineId() {
return engineId;
}
public void setEngineId(Long engineId) {
this.engineId = engineId;
}
public Long getTreeId() {
return treeId;
}
public void setTreeId(Long treeId) {
this.treeId = treeId;
}
}

View File

@@ -0,0 +1,423 @@
package com.risk.riskmanage.knowledge.model;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* ClassName:OrganRuleVo <br/>
* Description: 规则实体类. <br/>
* @see
*/
public class Rule implements Serializable,Cloneable {
private static final long serialVersionUID = 1L;
/**
* 主键
* */
private Long id;
/**
* 名称
* */
private String name;
/**
* 代码
* */
private String code;
/**
* 描述
* */
private String description;
/**
* 优先级
* */
private Integer priority;
/**
* 父节点id
* */
private Long parentId;
/**
*修改人id
* */
private Long userId;
/**
*创建人id
* */
private Long author;
/**
*创建人名称
* */
private String authorName;
/**
* 组织id
* */
private Long organId;
/**
* 引擎id
* */
private Long engineId;
/**
* 规则类型 0 : 系统的规则 1组织的规则 2 引擎的规则
* */
private Integer type;
/**
* 逻辑关系"非" 0:不是非 1是非
* */
private Integer isNon;
/**
* 状态 0 :停用 1 : 启用,-1删除
* */
private Integer status;
/**
* 审批规则 5 :通过 2 : 拒绝3人工审批 4简化流程
*/
public int ruleAudit;
/**
* 规则字段集合
* */
private List<RuleField> ruleFieldList;
/**
* 规则内容集合
* */
private List<RuleContent> ruleContentList;
/**
* 创建日期
* */
private Date created;
/**
* 修改日期
* */
private Date updated;
/**
* 规则具体内容
* */
public String content;
/**
* 0硬性拒绝规则1加减分规则
*/
private Integer ruleType;
/**
*得分
*/
private Integer score;
/**
*逻辑关系符,存储条件区域最后一个逻辑符号,值有')'、'))'、'-1'
*/
private String lastLogical;
/**
* 引擎名
* */
private String engineName;
/**
* 规则节点名称
* */
private String engineNodeName;
/**
* 规则节点名称
* */
private Long engineNodeId;
/**
* 区分规则集和规则
* */
private int showType = 0;
private Integer difficulty;//规则难度1-简单规则2复杂规则
private String resultFieldEn;//存放是否命中的字段
private String scoreFieldEn;//存放得分的字段en
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public int getRuleAudit() {
return ruleAudit;
}
public void setRuleAudit(int ruleAudit) {
this.ruleAudit = ruleAudit;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getAuthor() {
return author;
}
public void setAuthor(Long author) {
this.author = author;
}
public String getAuthorName() {
return authorName;
}
public void setAuthorName(String authorName) {
this.authorName = authorName;
}
public Long getOrganId() {
return organId;
}
public void setOrganId(Long organId) {
this.organId = organId;
}
public Long getEngineId() {
return engineId;
}
public void setEngineId(Long engineId) {
this.engineId = engineId;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public List<RuleField> getRuleFieldList() {
return ruleFieldList;
}
public void setRuleFieldList(List<RuleField> ruleFieldList) {
this.ruleFieldList = ruleFieldList;
}
public List<RuleContent> getRuleContentList() {
return ruleContentList;
}
public void setRuleContentList(List<RuleContent> ruleContentList) {
this.ruleContentList = ruleContentList;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public Date getUpdated() {
return updated;
}
public void setUpdated(Date updated) {
this.updated = updated;
}
public Integer getIsNon() {
return isNon;
}
public void setIsNon(Integer isNon) {
this.isNon = isNon;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Integer getRuleType() {
if(ruleAudit == 2) {
ruleType = 0;
}else{
ruleType = 1;
}
return ruleType;
}
public void setRuleType(Integer ruleType) {
this.ruleType = ruleType;
}
public Integer getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public String getLastLogical() {
return lastLogical;
}
public void setLastLogical(String lastLogical) {
this.lastLogical = lastLogical;
}
public String getEngineName() {
return engineName;
}
public void setEngineName(String engineName) {
this.engineName = engineName;
}
public String getEngineNodeName() {
return engineNodeName;
}
public void setEngineNodeName(String engineNodeName) {
this.engineNodeName = engineNodeName;
}
public Long getEngineNodeId() {
return engineNodeId;
}
public void setEngineNodeId(Long engineNodeId) {
this.engineNodeId = engineNodeId;
}
public int getShowType() {
return showType;
}
public void setShowType(int showType) {
this.showType = showType;
}
public Integer getDifficulty() {
return difficulty;
}
public void setDifficulty(Integer difficulty) {
this.difficulty = difficulty;
}
@Override
public Object clone() throws CloneNotSupportedException {
// TODO Auto-generated method stub
return super.clone();
}
public String getResultFieldEn() {
return resultFieldEn;
}
public void setResultFieldEn(String resultFieldEn) {
this.resultFieldEn = resultFieldEn;
}
public String getScoreFieldEn() {
return scoreFieldEn;
}
public void setScoreFieldEn(String scoreFieldEn) {
this.scoreFieldEn = scoreFieldEn;
}
@Override
public String toString() {
return "EngineRule [id=" + id + ", name=" + name + ", versionCode=" + code + ", description=" + description + ", priority="
+ priority + ", parentId=" + parentId + ", userId=" + userId + ", author=" + author + ", authorName="
+ authorName + ", organId=" + organId + ", engineId=" + engineId + ", type=" + type + ", isNon=" + isNon
+ ", status=" + status + ", ruleAudit=" + ruleAudit + ", ruleFieldList=" + ruleFieldList
+ ", ruleContentList=" + ruleContentList + ", created=" + created + ", updated=" + updated
+ ", content=" + content + ", ruleType=" + ruleType + ", score=" + score + ", lastLogical="
+ lastLogical + ", engineName=" + engineName + ", engineNodeName=" + engineNodeName + ", engineNodeId="
+ engineNodeId + ", showType=" + showType + "]";
}
}

View File

@@ -0,0 +1,156 @@
package com.risk.riskmanage.knowledge.model;
import java.io.Serializable;
import com.risk.riskmanage.util.StringUtil;
/**
* ClassName:RuleContentVo <br/>
* Description: 规则内容实体类. <br/>
* @see
*/
public class RuleContent implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 主键
* */
private Long id;
/**
* 字段名
* */
private String field;
/**
* 字段值
* */
private String fieldValue;
/**
* 字段id
* */
private String fieldId;
/**
* 规则Id
* */
private Long ruleId;
/**
* 类型1 常量、2 变量
*/
private Integer variableType;
/**
* 关联的字段的英文名称
* */
private String fieldEn;
/**
* 关联的字段的值类型
* */
private Integer valueType;
public Integer getVariableType() {
return variableType;
}
public void setVariableType(Integer variableType) {
this.variableType = variableType;
}
public void setValues(String[] values) {
this.values = values;
}
/**
* 关联的字段的取值范围
* */
private String valueScope;
/**
* 关联的字段的值拆解后的数组
* */
private String[] values;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public String getFieldValue() {
return fieldValue;
}
public void setFieldValue(String fieldValue) {
this.fieldValue = fieldValue;
}
public String getFieldId() {
return fieldId;
}
public void setFieldId(String fieldId) {
this.fieldId = fieldId;
}
public Long getRuleId() {
return ruleId;
}
public void setRuleId(Long ruleId) {
this.ruleId = ruleId;
}
public Integer getValueType() {
return valueType;
}
public void setValueType(Integer valueType) {
this.valueType = valueType;
}
public String getValueScope() {
return valueScope;
}
public void setValueScope(String valueScope) {
this.valueScope = valueScope;
}
public String[] getValues() {
if(!StringUtil.isBlank(valueScope)){
if(valueType == 3){
values = valueScope.split(",");
}else{
values = new String[]{valueScope};
}
}else{
values = null;
}
return values;
}
public String getFieldEn() {
return fieldEn;
}
public void setFieldEn(String fieldEn) {
this.fieldEn = fieldEn;
}
}

View File

@@ -0,0 +1,74 @@
package com.risk.riskmanage.knowledge.model;
public class RuleExcel {
/**
* 规则名称
* */
private String name;
/**
* 规则代码
* */
private String code;
/**
* 规则描述
* */
private String description;
/**
* 优先级
* */
private Integer priority;
/**
* 规则字段内容
* */
private String fieldContent;
/**
* 规则内容
* */
private String content;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public String getFieldContent() {
return fieldContent;
}
public void setFieldContent(String fieldContent) {
this.fieldContent = fieldContent;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}

View File

@@ -0,0 +1,167 @@
package com.risk.riskmanage.knowledge.model;
import java.io.Serializable;
import com.risk.riskmanage.util.StringUtil;
/**
* ClassName:RuleFieldVo <br/>
* Description: 规则字段实体类. <br/>
* @see
*/
public class RuleField implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 主键
* */
private Long id;
/**
* 逻辑运算符
* */
private String logical;
/**
* 字段内容
* */
private String field;
/**
* 运算符
* */
private String operator;
/**
* 字段值
* */
private String fieldValue;
/**
* 关联的规则的id
* */
private Long ruleId;
/**
* 关联的字段的id
* */
private String fieldId;
/**
* 关联的字段的英文名称
* */
private String fieldEn;
/**
* 关联的字段的值类型
* */
private Integer valueType;
/**
* 关联的字段的取值范围
* */
private String valueScope;
/**
* 关联的字段的值拆解后的数组
* */
private String[] values;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLogical() {
return logical;
}
public void setLogical(String logical) {
this.logical = logical;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public String getFieldValue() {
return fieldValue;
}
public void setFieldValue(String fieldValue) {
this.fieldValue = fieldValue;
}
public Long getRuleId() {
return ruleId;
}
public void setRuleId(Long ruleId) {
this.ruleId = ruleId;
}
public String getFieldId() {
return fieldId;
}
public void setFieldId(String fieldId) {
this.fieldId = fieldId;
}
public Integer getValueType() {
return valueType;
}
public void setValueType(Integer valueType) {
this.valueType = valueType;
}
public String getValueScope() {
return valueScope;
}
public void setValueScope(String valueScope) {
this.valueScope = valueScope;
}
public String[] getValues() {
if(!StringUtil.isBlank(valueScope)){
if(valueType == 3){
values = valueScope.split(",");
}else{
values = new String[]{valueScope};
}
}else{
values = null;
}
return values;
}
public String getFieldEn() {
return fieldEn;
}
public void setFieldEn(String fieldEn) {
this.fieldEn = fieldEn;
}
}

View File

@@ -0,0 +1,19 @@
package com.risk.riskmanage.knowledge.model.response;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Map;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UploadResponse {
private Integer existRows;//已存在行数
private Integer sucRows;//成功条数
private Integer repeatRows;//重复条数
private Integer failRows;//失败条数
private Integer total;
private Map result;//执行结果
}

View File

@@ -0,0 +1,60 @@
package com.risk.riskmanage.knowledge.service;
import java.util.*;
import com.risk.riskmanage.engine.model.request.KnowledgeTreeListParam;
import com.risk.riskmanage.knowledge.model.KnowledgeTree;
/**
* ClassName:KnowledgeTreeService <br/>
* Description: 知识库目录接口. <br/>
* @see
*/
public interface KnowledgeTreeService {
/**
* getTreeList(根据父节点id和组织id,查询其下的所有子节点)
*
* @param paramMap 参数集合
* @return 父节点下的所有子节点
* */
public List<Map> getTreeList(Map<String ,Object> paramMap);
/**
* findById:(根据id,查询节点记录)
*
* @param id 节点id
* @return
* */
public KnowledgeTree findById(Long id);
/**
* insertTree:(新增节点记录)
*
* @param k 节点信息
* @return
* */
public boolean insertTree(KnowledgeTree k);
/**
* updateTree:(修改节点记录)
*
* @param k 节点信息
* @return
* */
public boolean updateTree(KnowledgeTree k);
/**
* getTreeList(根据父节点id和组织id,查询其下的所有子节点,若节点下规则,则过滤掉)
*
* @param paramMap 参数集合
* @return 父节点下的所有子节点
* */
public List<KnowledgeTree> getTreeDataForEngine(Map<String ,Object> paramMap);
List<KnowledgeTree> getFolderList(KnowledgeTreeListParam param);
}

View File

@@ -0,0 +1,35 @@
package com.risk.riskmanage.knowledge.service;
import com.risk.riskmanage.knowledge.model.Rule;
import java.util.List;
import java.util.Map;
/**
* ClassName:RuleService <br/>
* Description: 规则接口. <br/>
* @see
*/
public interface RuleService {
/**
* getRuleList:(获取规则集合)
*
* @param paramMap 参数集合
* @return 规则集合
* */
public List<Rule> getRuleList(Map<String, Object> paramMap);
}

View File

@@ -0,0 +1,178 @@
package com.risk.riskmanage.knowledge.service.impl;
import com.risk.riskmanage.common.basefactory.BaseService;
import com.risk.riskmanage.common.enums.ErrorCodeEnum;
import com.risk.riskmanage.common.exception.ApiException;
import com.risk.riskmanage.engine.model.request.KnowledgeTreeListParam;
import com.risk.riskmanage.knowledge.model.KnowledgeTree;
import com.risk.riskmanage.knowledge.service.KnowledgeTreeService;
import com.risk.riskmanage.system.model.User;
import com.risk.riskmanage.util.SessionManager;
import com.risk.riskmanage.util.StringUtil;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* ClassName:KnowledgeTreeServiceImpl <br/>
* Description: 知识库目录接口实现类. <br/>
*/
@Service
public class KnowledgeTreeServiceImpl extends BaseService implements KnowledgeTreeService {
@Override
public List<Map> getTreeList(Map<String, Object> param) {
try {
if (param.get("parentId").toString().equals("99999999")) {
param.put("parentId", 0);
}
} catch (Exception e) {
}
// if (this.isBlack(param.get("parentId"))) {
// param.put("parentId", 0);
// }
if (null == param.get("parentId") || "".equals(param.get("parentId"))) {
param.put("parentId", 0);
}
if (null == param.get("type") || "".equals(param.get("type"))) {
param.put("type", 1);
}
if (null == param.get("status") || "".equals(param.get("status"))) {
param.put("status", new int[]{1});
}
if (param.get("treeType")!=null&&!"".equals(param.get("treeType").toString())){
String name = param.get("treeType").toString();
switch (name){
case "0":
param.put("name", "基础规则集");
param.put("tree_type", "0");
break;
case "1":
param.put("name", "评分卡");
param.put("tree_type", "1");
break;
case "2":
param.put("name", "回收站");
param.put("tree_type", "2");
break;
case "3":
param.put("name", "决策表");
param.put("tree_type", "3");
break;
case "4":
param.put("name", "决策树");
param.put("tree_type", "4");
break;
case "5":
param.put("name", "复杂规则集合");
param.put("tree_type", "5");
break;
case "7":
param.put("name","脚本规则集");
param.put("tree_type","7");
break;
case "8":
param.put("name","集合操作");
param.put("tree_type","8");
break;
default:
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(),ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
}
}else {
throw new ApiException(ErrorCodeEnum.PARAMS_EXCEPTION.getCode(),ErrorCodeEnum.PARAMS_EXCEPTION.getMessage());
}
param.putAll(getParam(param));
param.put("sort", true);
param.put("tree_type", StringUtil.toLongList(param.get("tree_type").toString()));
List<KnowledgeTree> klist = knowledgeTreeMapper.getTreeListV2(param);
String engineIdStr = (String) param.get("engineId");
for (KnowledgeTree knowledgeTree : klist) {
param.put("parentId", knowledgeTree.getId());
if (!StringUtil.isBlank(engineIdStr) && (int) knowledgeTree.getType() == 1 && knowledgeTree.getTreeType() == 0) {
knowledgeTree.setName(knowledgeTree.getName() + "(通用)");
}
knowledgeTree.setChildren(getChildren(param));
}
KnowledgeTree[] kArray = new KnowledgeTree[klist.size()];
kArray = klist.toArray(kArray);
param.put("children", kArray);
param.put("id", 99999999);
ArrayList<Map> list = new ArrayList<>();
list.add(param);
return list;
}
@Override
public KnowledgeTree findById(Long id) {
// TODO Auto-generated method stub
return knowledgeTreeMapper.selectByPrimaryKey(id);
}
@Override
public boolean insertTree(KnowledgeTree k) {
knowledgeTreeMapper.insertSelective(k);
return true;
}
@Override
public boolean updateTree(KnowledgeTree k) {
knowledgeTreeMapper.updateByPrimaryKeySelective(k);
return true;
}
@Override
public List<KnowledgeTree> getTreeDataForEngine(Map<String, Object> paramMap) {
// TODO Auto-generated method stub
// return knowledgeTreeMapper.getTreeDataForEngine(paramMap);
return knowledgeTreeMapper.getTreeDataForEngineV2(paramMap);
}
@Override
public List<KnowledgeTree> getFolderList(KnowledgeTreeListParam param) {
User user = SessionManager.getLoginAccount();
param.setOrganId(user.getOrganId());
List<KnowledgeTree> list = knowledgeTreeMapper.selectFolderList(param);
return list;
}
private Map<String, Object> getParam(Map<String, Object> paramMap) {
User user = SessionManager.getLoginAccount();
paramMap.put("userId", user.getUserId());
paramMap.put("organId", user.getOrganId());
return paramMap;
}
/**
* getChildren:(获取树形节点的子节点信息)
*
* @param param 请求参数集合
* @return
*
*/
private KnowledgeTree[] getChildren(Map<String, Object> param) {
List<KnowledgeTree> klist = knowledgeTreeMapper.getTreeList(param);
String engineIdStr = (String) param.get("engineId");
for (KnowledgeTree knowledgeTree : klist) {
param.put("parentId", knowledgeTree.getId());
if (!StringUtil.isBlank(engineIdStr) && (int) knowledgeTree.getType() == 1 && knowledgeTree.getTreeType() == 0) {
knowledgeTree.setName(knowledgeTree.getName() + "(通用)");
}
knowledgeTree.setChildren(getChildren(param));
}
KnowledgeTree[] kArray = new KnowledgeTree[klist.size()];
kArray = klist.toArray(kArray);
return kArray;
}
}

View File

@@ -0,0 +1,41 @@
package com.risk.riskmanage.knowledge.service.impl;
import com.risk.riskmanage.common.basefactory.BaseService;
import com.risk.riskmanage.knowledge.mapper.RuleMapper;
import com.risk.riskmanage.knowledge.model.*;
import com.risk.riskmanage.knowledge.service.KnowledgeTreeService;
import com.risk.riskmanage.knowledge.service.RuleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
/**
* ClassName:RuleServiceImpl <br/>
* Description: 规则接口实现类. <br/>
*/
@Service
public class RuleServiceImpl extends BaseService implements RuleService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Resource
private RuleMapper ruleMapper;
@Override
public List<Rule> getRuleList(Map<String, Object> paramMap) {
return ruleMapper.getRuleList(paramMap);
}
}