From a084c7c284be36f4eedb819bc30fe7febd20ca80 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 31 Aug 2023 17:57:23 +0800
Subject: [PATCH] 短信记录查询分类接口新增(加入告警的明细下级),查询接口对应修改

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsTemplateController.java        |   10 +++
 skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsResultVO.java                  |    2 
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsResultServiceImpl.java       |   22 ++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.java            |    7 ++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleService.java          |    9 +++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml                   |    8 ++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleServiceImpl.java |   10 +++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.xml                 |   10 +++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsTemplateServiceImpl.java     |   14 ++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.java                |   10 +++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsTemplateService.java             |    7 ++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.xml             |    7 ++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.java                  |    5 +
 13 files changed, 116 insertions(+), 5 deletions(-)

diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsResultVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsResultVO.java
index 3e18b26..3243672 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsResultVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsResultVO.java
@@ -33,6 +33,6 @@
 	/**
 	 * 短信类型
 	 */
-	private Integer smsType;
+	private String smsType;
 
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.java
index 8326040..9ea76b2 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.java
@@ -37,4 +37,11 @@
 	 * @return
 	 */
 	List<AlarmRuleDetailVO> getAlarmRuleDetailList(@Param("id") String id);
+
+	/**
+	 * 查询对应的短信模板ID 集合
+	 * @param alarmRuleId
+	 * @return
+	 */
+	List<String> getAlarmRuleDetailListByAlarmRuleId(@Param("id") String alarmRuleId);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.xml
index 49faa9e..1677692 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.xml
@@ -33,4 +33,11 @@
         where sard.alarm_rule_id = #{id}
     </select>
 
+    <!--通过id查询对应的短信模板ID 集合-->
+    <select id="getAlarmRuleDetailListByAlarmRuleId" resultType="java.lang.String">
+        select sst.template_id from sm_alarm_rule_detail sard
+        left join sm_sms_template sst on sst.id = sard.template_id
+        where sard.alarm_rule_id = #{id}
+    </select>
+
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleService.java
index f290f70..fe749c3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleService.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseService;
 
+import java.util.List;
+
 /**
  * 告警规则服务层
  * @author zhongrj
@@ -26,4 +28,11 @@
 	 * @return
 	 */
 	AlarmRuleVO getDetail(String id);
+
+	/**
+	 * 查询对应的短信模板ID 集合
+	 * @param alarmRuleId
+	 * @return
+	 */
+    List<String> getAlarmRuleDetailList(String alarmRuleId);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleServiceImpl.java
index 673444d..f3e419f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleServiceImpl.java
@@ -52,4 +52,14 @@
 		// 返回
 		return alarmRule;
 	}
+
+	/**
+	 * 查询对应的短信模板ID 集合
+	 * @param alarmRuleId
+	 * @return
+	 */
+	@Override
+	public List<String> getAlarmRuleDetailList(String alarmRuleId) {
+		return baseMapper.getAlarmRuleDetailListByAlarmRuleId(alarmRuleId);
+	}
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsTemplateController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsTemplateController.java
index 48b8739..28ab5fc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsTemplateController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsTemplateController.java
@@ -116,4 +116,14 @@
        return R.data(SmsTemplate);
    }
 
+   /**
+    * 获取短信类型树(当为告警是显示告警规则名称)
+    *
+    * @return
+    */
+   @GetMapping(value = "/getSmsTypeTree")
+   public R getSmsTypeTree() {
+       return R.data(smsTemplateService.getSmsTypeTree());
+   }
+
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.java
index 31b67ed..04a4da1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.java
@@ -18,7 +18,10 @@
 	 * 自定义分页列表查询
 	 * @param page 分页查询对象
 	 * @param smsResult
+	 * @param list
 	 * @return
 	 */
-    List<SmsResultVO> selectSmsResultPage(IPage<SmsResultVO> page,@Param("smsResult") SmsResultVO smsResult);
+    List<SmsResultVO> selectSmsResultPage(IPage<SmsResultVO> page,
+										  @Param("smsResult") SmsResultVO smsResult,
+										  @Param("list") List<String> list);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml
index 8cbde99..4712327 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml
@@ -20,9 +20,15 @@
         <if test="smsResult.endTime!=null and smsResult.endTime!=''">
             and date_format(ssr.create_time,'%Y-%m-%d') &lt;= #{smsResult.endTime}
         </if>
-        <if test="smsResult.smsType!=null">
+        <if test="smsResult.smsType!=null and smsResult.smsType!=''">
             and sst.sms_type = #{smsResult.smsType}
         </if>
+        <if test="list!=null and list.size()>0">
+            and sst.template_id in
+            <foreach collection="list" item="id" separator ="," open="("  close=")">
+                #{id}
+            </foreach>
+        </if>
         order by id desc
     </select>
 
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.java
index c14f16b..de6fce9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.java
@@ -2,9 +2,11 @@
 
 import cn.gistack.alerts.sms.entity.SmsTemplate;
 import cn.gistack.alerts.sms.vo.SmsTemplateVO;
+import cn.gistack.common.node.TreeNode;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -40,4 +42,12 @@
 	 * @return
 	 */
 	List<String> getTaskIdListByTime(@Param("time") String time);
+
+	/**
+	 * 获取短信类型树(当为告警是显示告警规则名称)
+	 *
+	 * @return
+	 */
+	@MapKey("id")
+    Map<String, TreeNode> getSmsTypeTree();
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.xml
index e4df120..fab581f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.xml
@@ -54,4 +54,14 @@
         and date_format(start_time,'%Y-%m-%d %H:%i:%s') &lt;= #{time}
         and date_format(end_time,'%Y-%m-%d %H:%i:%s') >= #{time}
     </select>
+
+    <!--获取短信类型树(当为告警是显示告警规则名称)-->
+    <select id="getSmsTypeTree" resultType="cn.gistack.common.node.TreeNode">
+        select dict_key as id, parent_id as parentId, dict_value as name, 1 as level from YWXT.blade_dict_biz
+        WHERE 1=1
+        and code = 'SMS_TYPE' and parent_id > 0 and is_sealed = 0 and is_deleted = 0
+        union all
+        select id,'2' as parentId ,rule_name as name,2 as level from YWXT.sm_alarm_rule
+        where 1=1 and is_deleted = 0
+    </select>
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsTemplateService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsTemplateService.java
index d54f7e8..96ded59 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsTemplateService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsTemplateService.java
@@ -39,4 +39,11 @@
 	 * @return
 	 */
 	List<String> getTaskIdListByTime(String time);
+
+	/**
+	 * 获取短信类型树(当为告警是显示告警规则名称)
+	 *
+	 * @return
+	 */
+    Object getSmsTypeTree();
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsResultServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsResultServiceImpl.java
index 06830f3..3246f07 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsResultServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsResultServiceImpl.java
@@ -1,12 +1,19 @@
 package cn.gistack.alerts.sms.service.impl;
 
+import cn.gistack.alerts.alarmRule.entity.AlarmRule;
+import cn.gistack.alerts.alarmRule.service.AlarmRuleService;
 import cn.gistack.alerts.sms.entity.SmsResult;
 import cn.gistack.alerts.sms.mapper.SmsResultMapper;
 import cn.gistack.alerts.sms.service.ISmsResultService;
 import cn.gistack.alerts.sms.vo.SmsResultVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.jdbc.Null;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 短信发送结果
@@ -14,6 +21,9 @@
  */
 @Service
 public class SmsResultServiceImpl extends BaseServiceImpl<SmsResultMapper, SmsResult> implements ISmsResultService {
+
+	@Autowired
+	private AlarmRuleService alarmRuleService;
 
 	/**
 	 * 自定义分页列表查询
@@ -23,11 +33,19 @@
 	 */
 	@Override
 	public Object selectSmsResultPage(IPage<SmsResultVO> page, SmsResultVO smsResult) {
+		List<String> list = new ArrayList<>();
+		// 判断是否为一级目录
+		if (null!=smsResult.getSmsType() && smsResult.getSmsType().length()>1){
+			// 查询对应的短信模板ID 集合
+			list = alarmRuleService.getAlarmRuleDetailList(smsResult.getSmsType());
+			// 设置类型为null
+			smsResult.setSmsType("");
+		}
 		if (null!=smsResult.getIsExport()){
 			// 导出,不分页
-			return baseMapper.selectSmsResultPage(null,smsResult);
+			return baseMapper.selectSmsResultPage(null,smsResult,list);
 		}
 		// 查询返回
-		return page.setRecords(baseMapper.selectSmsResultPage(page,smsResult));
+		return page.setRecords(baseMapper.selectSmsResultPage(page,smsResult,list));
 	}
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsTemplateServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsTemplateServiceImpl.java
index 4532a24..2a312f6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsTemplateServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsTemplateServiceImpl.java
@@ -4,6 +4,8 @@
 import cn.gistack.alerts.sms.mapper.SmsTemplateMapper;
 import cn.gistack.alerts.sms.service.ISmsTemplateService;
 import cn.gistack.alerts.sms.vo.SmsTemplateVO;
+import cn.gistack.common.node.TreeNode;
+import cn.gistack.common.utils.NodeTreeUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
@@ -57,4 +59,16 @@
 	public List<String> getTaskIdListByTime(String time) {
 		return baseMapper.getTaskIdListByTime(time);
 	}
+
+	/**
+	 * 获取短信类型树(当为告警是显示告警规则名称)
+	 *
+	 * @return
+	 */
+	@Override
+	public Object getSmsTypeTree() {
+		List<TreeNode> nodeTree = NodeTreeUtil.getNodeTree(baseMapper.getSmsTypeTree());
+		// 返回
+		return nodeTree;
+	}
 }

--
Gitblit v1.9.3