|
@@ -1,19 +1,120 @@
|
|
package cn.com.ctop.alarm.modules.service.impl;
|
|
package cn.com.ctop.alarm.modules.service.impl;
|
|
|
|
|
|
|
|
+import cn.com.ctop.alarm.modules.entity.RuleAccountTemplate;
|
|
|
|
+import cn.com.ctop.alarm.modules.entity.RuleAccountThreshold;
|
|
import cn.com.ctop.alarm.modules.entity.RuleGroup;
|
|
import cn.com.ctop.alarm.modules.entity.RuleGroup;
|
|
|
|
+import cn.com.ctop.alarm.modules.entity.RuleTemplate;
|
|
|
|
+import cn.com.ctop.alarm.modules.mapper.RuleAccountTemplateMapper;
|
|
|
|
+import cn.com.ctop.alarm.modules.mapper.RuleAccountThresholdMapper;
|
|
|
|
+import cn.com.ctop.alarm.modules.mapper.RuleBaseMapper;
|
|
import cn.com.ctop.alarm.modules.mapper.RuleGroupMapper;
|
|
import cn.com.ctop.alarm.modules.mapper.RuleGroupMapper;
|
|
|
|
+import cn.com.ctop.alarm.modules.mapper.RuleIndicatorMapper;
|
|
|
|
+import cn.com.ctop.alarm.modules.mapper.RuleTemplateMapper;
|
|
import cn.com.ctop.alarm.modules.service.IRuleGroupService;
|
|
import cn.com.ctop.alarm.modules.service.IRuleGroupService;
|
|
|
|
+import cn.com.ctop.common.module.utils.Check;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import org.json.JSONObject;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 规则组
|
|
* 规则组
|
|
|
|
+ *
|
|
* @author jeecg-boot
|
|
* @author jeecg-boot
|
|
- * @date 2020-11-15
|
|
|
|
* @version V1.0
|
|
* @version V1.0
|
|
|
|
+ * @date 2020-11-15
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
public class RuleGroupServiceImpl extends ServiceImpl<RuleGroupMapper, RuleGroup> implements IRuleGroupService {
|
|
public class RuleGroupServiceImpl extends ServiceImpl<RuleGroupMapper, RuleGroup> implements IRuleGroupService {
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private RuleBaseMapper ruleBaseMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RuleGroupMapper ruleGroupMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RuleIndicatorMapper ruleIndicatorMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RuleAccountThresholdMapper ruleAccountThresholdMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RuleAccountTemplateMapper ruleAccountTemplateMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RuleTemplateMapper ruleTemplateMapper;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void checkRules() {
|
|
|
|
+ //账户绑定的规则模板
|
|
|
|
+ List<RuleAccountTemplate> ruleAccountTemplates = ruleAccountTemplateMapper.selectByMap(null);
|
|
|
|
+ //查询指标数据
|
|
|
|
+ List<JSONObject> dataList = getData();
|
|
|
|
+ //获取规则集
|
|
|
|
+ Map<Long, List<RuleGroup>> ruleGroupMap = getRuleGroupMap();
|
|
|
|
+ for (RuleAccountTemplate templates : ruleAccountTemplates) {
|
|
|
|
+ for (JSONObject data : dataList) {
|
|
|
|
+ if (templates.getAccountId() == data.getLong("accountId")) {
|
|
|
|
+ List<RuleGroup> ruleGroups = ruleGroupMap.get(templates.getTemplateId());
|
|
|
|
+ List<RuleAccountThreshold> list = ruleAccountThresholdMapper.selectByAccountId(templates.getAccountId());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 整理规则模板的数据,根据模板ID获取模板具体规则内容
|
|
|
|
+ *
|
|
|
|
+ * @param
|
|
|
|
+ * @return MAP key为模板ID,value是规则集
|
|
|
|
+ * @throws
|
|
|
|
+ * @author ZHAOXA
|
|
|
|
+ */
|
|
|
|
+ private Map<Long, List<RuleGroup>> getRuleGroupMap() {
|
|
|
|
+ Map<Long, List<RuleGroup>> map = new HashMap<>();
|
|
|
|
+ List<RuleTemplate> ruleTemplates = ruleTemplateMapper.selectByMap(null);
|
|
|
|
+ ruleTemplates.forEach(tem -> {
|
|
|
|
+ List<String> groupIds = strToList(tem.getGroupIds());
|
|
|
|
+ if (!Check.isNull(groupIds)) {
|
|
|
|
+ List<RuleGroup> ruleGroups = ruleGroupMapper.selectBatchIds(groupIds);
|
|
|
|
+ for (RuleGroup group : ruleGroups) {
|
|
|
|
+ List<String> ruleIds = strToList(group.getRuleIds());
|
|
|
|
+ if (!Check.isNull(ruleIds)) {
|
|
|
|
+ group.setRuleBaseList(ruleBaseMapper.selectBatchIds(ruleIds));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ map.put(tem.getId(), ruleGroups);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //拆分逗号拼接数据
|
|
|
|
+ private List<String> strToList(String strings) {
|
|
|
|
+ if (Check.isNull(strings)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
|
+ String[] idArray = strings.split(",");
|
|
|
|
+ for (String id : idArray) {
|
|
|
|
+ ids.add(id);
|
|
|
|
+ }
|
|
|
|
+ return ids;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * TODO 获取指标数据
|
|
|
|
+ *
|
|
|
|
+ * @param
|
|
|
|
+ * @return java.util.List<org.json.JSONObject>
|
|
|
|
+ * @throws
|
|
|
|
+ * @author ZHAOXA
|
|
|
|
+ */
|
|
|
|
+ private List<JSONObject> getData() {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|