yumeng vor 4 Jahren
Ursprung
Commit
8ee6fe4689

+ 2 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleIndicatorMapper.java

@@ -14,4 +14,6 @@ import org.apache.ibatis.annotations.Param;
 public interface RuleIndicatorMapper extends BaseMapper<RuleIndicator> {
 
     String getRuleIndicatorNameByMediaTypeAndDimension(@Param("mediaType") Integer mediaType, @Param("dimension") String dimension);
+
+    String getDataTypeByRuleDimensionAndIndicatorCode(@Param("ruleDimension") String ruleDimension,@Param("indicatorCode") String indicatorCode);
 }

+ 10 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleIndicatorMapper.xml

@@ -9,4 +9,14 @@
       and dimension = #{dimension}
       limit 1
     </select>
+
+    <select id="getDataTypeByRuleDimensionAndIndicatorCode" resultType="java.lang.String">
+      select  data_type
+      from ctop_rule_indicator
+      where  code = #{indicatorCode}
+      and dimension = #{ruleDimension}
+      limit 1
+    </select>
+
+
 </mapper>

+ 9 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleIndicatorService.java

@@ -12,4 +12,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IRuleIndicatorService extends IService<RuleIndicator> {
 
     String getRuleIndicatorNameByMediaTypeAndDimension(Integer mediaType, String dimension);
+
+    /**
+     * 根据数据维度和指标查询 数据类型
+     *
+     * @param ruleDimension
+     * @param indicatorCode
+     * @return
+     */
+    String getDataTypeByRuleDimensionAndIndicatorCode(String ruleDimension, String indicatorCode);
 }

+ 5 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleIndicatorServiceImpl.java

@@ -23,4 +23,9 @@ public class RuleIndicatorServiceImpl extends ServiceImpl<RuleIndicatorMapper, R
     public String getRuleIndicatorNameByMediaTypeAndDimension(Integer mediaType, String dimension) {
         return ruleIndicatorMapper.getRuleIndicatorNameByMediaTypeAndDimension(mediaType, dimension);
     }
+
+    @Override
+    public String getDataTypeByRuleDimensionAndIndicatorCode(String ruleDimension, String indicatorCode) {
+        return ruleIndicatorMapper.getDataTypeByRuleDimensionAndIndicatorCode(ruleDimension, indicatorCode);
+    }
 }

+ 22 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleTemplateServiceImpl.java

@@ -2,11 +2,13 @@ package cn.com.ctop.alarm.modules.service.impl;
 
 import cn.com.ctop.alarm.modules.entity.RuleBase;
 import cn.com.ctop.alarm.modules.entity.RuleGroup;
+import cn.com.ctop.alarm.modules.entity.RuleIndicator;
 import cn.com.ctop.alarm.modules.entity.RuleTemplate;
 import cn.com.ctop.alarm.modules.mapper.RuleBaseMapper;
 import cn.com.ctop.alarm.modules.mapper.RuleTemplateMapper;
 import cn.com.ctop.alarm.modules.service.IRuleBaseService;
 import cn.com.ctop.alarm.modules.service.IRuleGroupService;
+import cn.com.ctop.alarm.modules.service.IRuleIndicatorService;
 import cn.com.ctop.alarm.modules.service.IRuleTemplateService;
 import cn.com.ctop.common.module.utils.Check;
 import com.alibaba.fastjson.JSONArray;
@@ -37,6 +39,9 @@ public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, Rul
     @Autowired
     private RuleTemplateMapper ruleTemplateMapper;
 
+    @Autowired
+    private IRuleIndicatorService ruleIndicatorService;
+
     /**
      * 创建规则模板
      *
@@ -157,6 +162,8 @@ public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, Rul
      * @param id
      * @return
      */
+
+
     @Override
     public JSONObject queryDetailById(String id) throws Exception {
         JSONObject returnJson = new JSONObject();
@@ -208,6 +215,21 @@ public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, Rul
                 ruleJson.put("threshold", ruleBase.getThreshold());
                 ruleJson.put("ruleDimension", ruleBase.getRuleDimension());
                 ruleJson.put("variableType", ruleBase.getVariableType());
+                /**
+                 * 查询指标对应信息
+                 */
+                QueryWrapper<RuleIndicator> indicatorQueryWrapper = new QueryWrapper<>();
+                indicatorQueryWrapper.eq("code", ruleBase.getIndicatorCode());
+                indicatorQueryWrapper.eq("dimension", ruleBase.getRuleDimension());
+                indicatorQueryWrapper.last("limit 1");
+                RuleIndicator ruleIndicator = ruleIndicatorService.getOne(indicatorQueryWrapper);
+                if (!Check.isNull(ruleIndicator)) {
+                    ruleJson.put("dataType", ruleIndicator.getDataType());
+                    ruleJson.put("dictId", ruleIndicator.getDictId());
+                    ruleJson.put("dataUnit", ruleIndicator.getDataUnit());
+                    ruleJson.put("name", ruleIndicator.getName());
+                }
+
                 ruleDetail.add(ruleJson);
             }
             groupJson.put("ruleDetail", ruleDetail);