Browse Source

日志打印

yumeng 4 years ago
parent
commit
71116a02e1

+ 16 - 9
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleAccountThresholdServiceImpl.java

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -23,6 +24,7 @@ import java.util.UUID;
  * @version V1.0
  * @date 2020-11-15
  */
+@Slf4j
 @Service
 public class RuleAccountThresholdServiceImpl extends ServiceImpl<RuleAccountThresholdMapper, RuleAccountThreshold> implements IRuleAccountThresholdService {
     @Autowired
@@ -56,17 +58,20 @@ public class RuleAccountThresholdServiceImpl extends ServiceImpl<RuleAccountThre
             }
             Long groupId = groupJson.getLong("groupId");
             Integer isCopy = groupJson.getInteger("isCopy");
-            String batchNo = UUID.randomUUID().toString().replace("-", "");
+            if (isCopy == 1) {
+                Map<String, Object> deleteMap = new HashMap<>();
+                deleteMap.put("account_id", accountId);
+                deleteMap.put("group_id", groupId);
+                ruleAccountThresholdMapper.deleteByMap(deleteMap); // 删除此账户下 此组绑定的失效阈值
+            }
+
             for (int j = 0; j < ruleDetail.size(); j++) {
                 if (isCopy == 1) { // 规则组可复制
-                    JSONArray ruleDetailArr = ruleDetail.getJSONArray(i);
+                    JSONArray ruleDetailArr = ruleDetail.getJSONArray(j);
                     if (Check.isNull(ruleDetailArr)) {
                         continue;
                     }
-                    Map<String, Object> deleteMap = new HashMap<>();
-                    deleteMap.put("account_id", accountId);
-                    deleteMap.put("group_id", groupId);
-                    ruleAccountThresholdMapper.deleteByMap(deleteMap);
+                    String batchNo = UUID.randomUUID().toString().replace("-", "");
                     for (int k = 0; k < ruleDetailArr.size(); k++) {
                         JSONObject ruleJson = ruleDetailArr.getJSONObject(k);
                         if (Check.isNull(ruleJson)) {
@@ -85,15 +90,15 @@ public class RuleAccountThresholdServiceImpl extends ServiceImpl<RuleAccountThre
                         addRuleAccountThreshold.setGroupId(groupId);
                         addRuleAccountThreshold.setThreshold(threshold);
                         addRuleAccountThreshold.setRuleId(ruleId);
-                        addRuleAccountThreshold.setBatchNo(batchNo);
+                        if (isCopy == 1) {
+                            addRuleAccountThreshold.setBatchNo(batchNo);
+                        }
                         int insert = ruleAccountThresholdMapper.insert(addRuleAccountThreshold);
                         if (insert > 0) {
                             updateCount += 1;
                         }
                     }
                 } else if (isCopy == 0) {
-
-
                     JSONObject ruleJson = ruleDetail.getJSONObject(j);
                     Long ruleId = ruleJson.getLong("ruleId");
                     if (Check.isNull(ruleId)) {
@@ -108,6 +113,7 @@ public class RuleAccountThresholdServiceImpl extends ServiceImpl<RuleAccountThre
                     QueryWrapper<RuleAccountThreshold> updateQueryWrapper = new QueryWrapper();
                     updateQueryWrapper.eq("account_id", accountId);
                     updateQueryWrapper.eq("rule_id", ruleId);
+                    updateQueryWrapper.eq("group_id", groupId);
                     int update = ruleAccountThresholdMapper.update(updateThreshold, updateQueryWrapper);
                     if (update > 0) {
                         updateCount += 1;
@@ -116,6 +122,7 @@ public class RuleAccountThresholdServiceImpl extends ServiceImpl<RuleAccountThre
             }
         }
 
+        log.info("修改账户模板阈值完成,账户id:{},修改规则条数:{}", accountId, updateCount);
         JSONObject returnJson = new JSONObject();
         returnJson.put("code", 0);
         returnJson.put("updateCount", updateCount);

+ 28 - 16
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleGroupServiceImpl.java

@@ -1,18 +1,8 @@
 package cn.com.ctop.alarm.modules.service.impl;
 
 import cn.com.ctop.alarm.modules.constant.MatchLogic;
-import cn.com.ctop.alarm.modules.entity.RuleAccountTemplate;
-import cn.com.ctop.alarm.modules.entity.RuleAccountThreshold;
-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.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.RuleIndicatorMapper;
-import cn.com.ctop.alarm.modules.mapper.RuleTemplateMapper;
+import cn.com.ctop.alarm.modules.entity.*;
+import cn.com.ctop.alarm.modules.mapper.*;
 import cn.com.ctop.alarm.modules.service.IRuleAccountTemplateService;
 import cn.com.ctop.alarm.modules.service.IRuleGroupService;
 import cn.com.ctop.common.module.entity.CtopOauthToken;
@@ -34,6 +24,7 @@ import org.springframework.stereotype.Service;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 /**
  * 规则组
@@ -469,7 +460,15 @@ public class RuleGroupServiceImpl extends ServiceImpl<RuleGroupMapper, RuleGroup
                 if (Check.isNull(ruleDetail)) {
                     throw new Exception("规则组下指标不能为空");
                 }
+
+                Integer isCopy = groupJson.getInteger("isCopy");
+                String batchId = null;
+                if (isCopy == 1) {
+                    batchId = UUID.randomUUID().toString().replace("-", "");
+
+                }
                 JSONArray ruleIds = new JSONArray();
+                JSONArray thresholdIds = new JSONArray();
                 for (int j = 0; j < ruleDetail.size(); j++) {
                     JSONObject ruleDetailJson = ruleDetail.getJSONObject(j);
                     RuleBase ruleBase = new RuleBase();
@@ -481,7 +480,8 @@ public class RuleGroupServiceImpl extends ServiceImpl<RuleGroupMapper, RuleGroup
                     ruleBase.setRuleDimension(ruleDetailJson.getString("ruleDimension"));
                     ruleBase.setJudgeFormat(ruleDetailJson.getInteger("judgeFormat"));
                     ruleBase.setIsUnlimited(ruleDetailJson.getInteger("isUnlimited"));
-                    int insert = ruleBaseMapper.insert(ruleBase);  // 添加基础规则
+                    int insert = ruleBaseMapper.insert(ruleBase);    // 添加基础规则
+
                     if (insert > 0) {
                         if (!Check.isNull(accountList)) {
                             for (RuleAccountTemplate accountTemplate : accountList) {
@@ -496,8 +496,14 @@ public class RuleGroupServiceImpl extends ServiceImpl<RuleGroupMapper, RuleGroup
                                 }
                                 RuleAccountThreshold threshold = new RuleAccountThreshold();
                                 threshold.setAccountId(accountId);
+                                if (isCopy == 1) {
+                                    threshold.setBatchNo(batchId);
+                                }
                                 threshold.setRuleId(ruleBase.getId());
-                                ruleAccountThresholdMapper.insert(threshold);  // 默认将新建的规则同步到已应用的账户下
+                                int thresholdInsert = ruleAccountThresholdMapper.insert(threshold);// 默认将新建的规则同步到已应用的账户下
+                                if (thresholdInsert > 0) {
+                                    thresholdIds.add(threshold.getId());
+                                }
                             }
                         }
                         ruleIds.add(ruleBase.getId()); // 获取基本规则集
@@ -514,15 +520,21 @@ public class RuleGroupServiceImpl extends ServiceImpl<RuleGroupMapper, RuleGroup
                 ruleGroup.setIsRequired(groupJson.getInteger("isRequired"));
                 boolean save = ruleGroupService.save(ruleGroup); // 新增规则组
                 if (save) {
-
                     for (int j = 0; j < ruleIds.size(); j++) {
                         Long ruleId = ruleIds.getLong(j);
                         RuleBase updateRuleBase = new RuleBase();
                         updateRuleBase.setId(ruleId);
                         updateRuleBase.setGroupId(ruleGroup.getId());
-                        ruleBaseMapper.updateById(updateRuleBase);
+                        ruleBaseMapper.updateById(updateRuleBase); // 组同步成功之后 基础规则关联到组id
                     }
+                    for (int j = 0; j < thresholdIds.size(); j++) {
+                        Long threshold = thresholdIds.getLong(j);
+                        RuleAccountThreshold updateThreshold = new RuleAccountThreshold();
+                        updateThreshold.setId(threshold);
+                        updateThreshold.setGroupId(ruleGroup.getId());
+                        ruleAccountThresholdMapper.updateById(updateThreshold); // 同步到阈值之后 阈值关联到组id
 
+                    }
                     JSONArray groupIds = JSONArray.parseArray(template.getGroupIds());
                     groupIds.add(ruleGroup.getId());
                     template.setGroupIds(groupIds.toJSONString());

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

@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -21,6 +22,7 @@ import java.util.List;
  * @version V1.0
  * @date 2020-11-15
  */
+@Slf4j
 @Service
 public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, RuleTemplate> implements IRuleTemplateService {
     @Autowired
@@ -140,6 +142,7 @@ public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, Rul
 
                 }
             }
+            log.info("创建规则模板成功,模板名称:{}", templateName);
             returnJson.put("code", 0);
             returnJson.put("message", "创建成功");
 
@@ -284,6 +287,7 @@ public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, Rul
             groupJson.put("isCopy", group.getIsCopy());
             groupJson.put("isRequired", group.getIsRequired());
             JSONArray ruleDetail = new JSONArray();
+
             if (group.getIsCopy() == 0) { // 规则不可复制
                 JSONArray ruleIds = JSONArray.parseArray(group.getRuleIds());
                 if (Check.isNull(ruleIds)) {
@@ -350,13 +354,13 @@ public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, Rul
                     continue;
                 }
 
-                JSONArray ruleArr = new JSONArray();
+
                 for (int j = 0; j < batchNoList.size(); j++) {
                     String batchNo = (String) batchNoList.get(j);
                     if (Check.isNull(batchNo)) {
                         continue;
                     }
-
+                    JSONArray ruleArr = new JSONArray();
                     QueryWrapper<RuleAccountThreshold> queryWrapper = new QueryWrapper<>();
                     queryWrapper.eq("account_id", accountId);
                     queryWrapper.eq("group_id", groupId);