浏览代码

计算逻辑以及配置修改

ZhangYanJie 2 天之前
父节点
当前提交
3d7a269e32

+ 6 - 4
src/main/java/com/sundata/internalevaluation/calc/calcUnit/DataSourcesCalcUnit.java

@@ -95,10 +95,12 @@ public class DataSourcesCalcUnit extends CalcUnit {
 
         // 接口源节点
         if ("INTERFACE".equals(dataSourcesModel.getDataSourcesType())) {
-            List<String> interfaceNos = selectModel.getRequestInterfaces();
-            for ( String s : interfaceNos) {
-                sysInterfaceModelList.add(sysInterfaceService.getById(s));
-            }
+
+//            List<String> interfaceNos = selectModel.getRequestInterfaces();
+//            for ( String s : interfaceNos) {
+//                sysInterfaceModelList.add(sysInterfaceService.getById(s));
+//            }
+            sysInterfaceModelList.add(sysInterfaceService.getById(selectModel.getRequestInterface()));
             List<CalcUnit> interFaceList = sysInterfaceModelList.stream().map(interfaceModel -> new InterfaceCalcUnit(interfaceModel.getId(),interfaceModel.getInterfaceName(),CalcType.INTERFACE,Map.of(),interfaceModel)).collect(Collectors.toList());
             allUnitList.addAll(interFaceList);
         }

+ 27 - 4
src/main/java/com/sundata/internalevaluation/calc/calcUnit/RiskControlStrategyCalcUnit.java

@@ -95,12 +95,35 @@ public class RiskControlStrategyCalcUnit extends CalcUnit {
     @Override
     public void calc(CalcResult<String, Object> thisResult, String calculateInstanceNumber, Map<String, Object> context, Map<CalcUnit, CalcResult<String, Object>> sourceResults) {
 
-        Map<String,Object> resResultMap =new HashMap<>();
+//        Map<String,Object> resResultMap =new HashMap<>();
+//        sourceResults.forEach(
+//                (calcUnit,result) -> {
+//                    resResultMap.putAll(result);
+//        }
+//        );
+//        thisResult.put(this.getCalcCode(),resResultMap);
+        Map<String,Object> rulesMap = new HashMap<>();
+        Map<String,Object> indexListMap = new HashMap<>();
+        rulesMap.put("approResult","1");
+        List<Object> hitRuleList = new ArrayList<>();
         sourceResults.forEach(
                 (calcUnit,result) -> {
-                    resResultMap.putAll(result);
-        }
+                    if (calcUnit instanceof RulesCalcUnit) {
+                        Map<String,Object> rulesResMap = (Map<String,Object>) result.get(calcUnit.getCalcCode());
+                        hitRuleList.addAll((List) rulesResMap.get("hitRule"));
+                        Object approResult = rulesResMap.get("approResult");
+                        if ("2".equals(approResult)) {
+                            rulesMap.put("approResult","2");
+                        }
+                    } else if (calcUnit instanceof IndexListConfigCalcUnit) {
+                        Map<String,Object> indexResMap = (Map<String, Object>) result.get(calcUnit.getCalcCode());
+                        indexListMap.put(calcUnit.getCalcCode(),indexResMap);
+                    }
+                }
         );
-        thisResult.put(this.getCalcCode(),resResultMap);
+        rulesMap.put("hitRule",hitRuleList);
+        thisResult.put("ruleResult",rulesMap);
+        thisResult.put("indexResult",indexListMap);
+
     }
 }

+ 14 - 0
src/main/java/com/sundata/internalevaluation/configuration/mybatis/IndexConfigMapper.xml

@@ -8,6 +8,8 @@
         SELECT
         INDEXNO                   AS    indexNo,
         INDEXNAME                 AS    indexName,
+        DEFAULTVALUE              AS    defaultValue,
+        DEFAULTVALUETYPE          AS    defaultValueType,
         INDEXLOGIC                AS    indexLogic
         FROM SYS_INDEX
         <where>
@@ -48,12 +50,16 @@
         (
         INDEXNO,
         INDEXNAME,
+        DEFAULTVALUE,
+        DEFAULTVALUETYPE,
         INDEXLOGIC
         )
         VALUES
         (
         #{indexNo},
         #{indexName},
+        #{defaultValue},
+        #{defaultValueType},
         #{indexLogic}
         )
     </insert>
@@ -110,6 +116,12 @@
                 <if test="indexName != null and indexName !=''">
                     INDEXNAME = #{indexName},
                 </if>
+                <if test="indexLogic != null and indexLogic !=''">
+                    DEFAULTVALUETYPE = #{defaultValue},
+                </if>
+                <if test="indexLogic != null and indexLogic !=''">
+                    DEFAULTVALUETYPE = #{defaultValueType},
+                </if>
                 <if test="indexLogic != null and indexLogic !=''">
                     INDEXLOGIC = #{indexLogic},
                 </if>
@@ -127,6 +139,8 @@
         SELECT
         INDEXNO                   AS    indexNo,
         INDEXNAME                 AS    indexName,
+        DEFAULTVALUE              AS    defaultValue,
+        DEFAULTVALUETYPE          AS    defaultValueType,
         INDEXLOGIC                AS    indexLogic
         FROM SYS_INDEX
         <where>

+ 9 - 9
src/main/java/com/sundata/internalevaluation/configuration/service/DataSourcesService.java

@@ -40,21 +40,21 @@ public class DataSourcesService {
      * @throws:
      */
     public void createData(DataSourcesModel model) {
-        model.setRequestInterface(JsonUtil.toJSONString(model.getRequestInterfaces()));
+        //model.setRequestInterface(JsonUtil.toJSONString(model.getRequestInterfaces()));
         dataSourcesMapper.createData(model);
 
-        if (null != model.getInputParam() && model.getInputParam().size()>0) {
+        if (null != model.getInputParam() && !model.getInputParam().isEmpty()) {
             dataSourcesMapper.createInputParamData(model.getInputParam());
         }
 
-        if (null != model.getDataItemConfig() && model.getDataItemConfig().size()>0) {
+        if (null != model.getDataItemConfig() && !model.getDataItemConfig().isEmpty()) {
             for (DataItemConfigModel m : model.getDataItemConfig()) {
                 m.setDataSourcesNo(model.getDataSourcesNo());
             }
             dataSourcesMapper.createDataItemConfigData(model.getDataItemConfig());
         }
 
-        if (null != model.getQueryLogic() && model.getQueryLogic().size()>0) {
+        if (null != model.getQueryLogic() && !model.getQueryLogic().isEmpty()) {
             for ( QueryLogicModel m : model.getQueryLogic()) {
                 m.setDataSourcesNo(model.getDataSourcesNo());
             }
@@ -84,24 +84,24 @@ public class DataSourcesService {
      * @throws:
      */
     public void updateExistData(DataSourcesModel model) {
-        model.setRequestInterface(JsonUtil.toJSONString(model.getRequestInterfaces()));
+        //model.setRequestInterface(JsonUtil.toJSONString(model.getRequestInterfaces()));
         dataSourcesMapper.updateExistData(model);
         dataSourcesMapper.deleteInputParamRows();
         dataSourcesMapper.deleteDataSourceRows(model);
         dataSourcesMapper.deleteQueryLogicRows(model);
 
-        if (null != model.getInputParam() && model.getInputParam().size()>0) {
+        if (null != model.getInputParam() && !model.getInputParam().isEmpty()) {
             dataSourcesMapper.createInputParamData(model.getInputParam());
         }
 
-        if (null != model.getDataItemConfig() && model.getDataItemConfig().size()>0) {
+        if (null != model.getDataItemConfig() && !model.getDataItemConfig().isEmpty()) {
             for (DataItemConfigModel m : model.getDataItemConfig()) {
                 m.setDataSourcesNo(model.getDataSourcesNo());
             }
             dataSourcesMapper.createDataItemConfigData(model.getDataItemConfig());
         }
 
-        if (null != model.getQueryLogic() && model.getQueryLogic().size()>0) {
+        if (null != model.getQueryLogic() && !model.getQueryLogic().isEmpty()) {
             for ( QueryLogicModel m : model.getQueryLogic()) {
                 m.setDataSourcesNo(model.getDataSourcesNo());
             }
@@ -121,7 +121,7 @@ public class DataSourcesService {
      */
     public DataSourcesModel selectDetailData(String dataSourcesNo) {
         DataSourcesModel model = dataSourcesMapper.selectDetailData(dataSourcesNo);
-        model.setRequestInterfaces(JsonUtil.jsonToList(model.getRequestInterface()));
+        //model.setRequestInterfaces(JsonUtil.jsonToList(model.getRequestInterface()));
         List<InputParamModel> inputList = dataSourcesMapper.getInputParamList(dataSourcesNo);
         List<DataItemConfigModel> dataItemList = dataSourcesMapper.getDataItemConfigList(dataSourcesNo);
         List<QueryLogicModel> queryLogicList = dataSourcesMapper.getQueryLogicList(dataSourcesNo);