Bladeren bron

已删除用户不发送告警短信

xujie 11 maanden geleden
bovenliggende
commit
eeb5e4f191

+ 2 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/notice/mapper/CoreNoticeRuleItemMapper.java

@@ -24,4 +24,6 @@ public interface CoreNoticeRuleItemMapper extends BaseMapper<CoreNoticeRuleItem>
 
     List<CoreNoticeRuleItem> getByOrgIdAndProductType(@Param("orgId") Long orgId,@Param("productType") String productType);
 
+    SysUser getUserById(@Param("userId") Long userId);
+
 }

+ 2 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/notice/service/ICoreNoticeRuleItemService.java

@@ -3,6 +3,7 @@ package com.xunmei.host.notice.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.notice.CoreNoticeRuleItem;
 import com.xunmei.common.core.domain.notice.WebsocketNoticeLog;
+import com.xunmei.system.api.domain.SysUser;
 
 import java.util.List;
 
@@ -22,4 +23,5 @@ public interface ICoreNoticeRuleItemService extends IService<CoreNoticeRuleItem>
 
     List<CoreNoticeRuleItem> getByOrgIdAndProductType(Long orgId,String productType);
 
+    SysUser getByUserId(Long userId);
 }

+ 5 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/notice/service/impl/CoreNoticeRuleItemServiceImpl.java

@@ -35,4 +35,9 @@ public class CoreNoticeRuleItemServiceImpl extends ServiceImpl<CoreNoticeRuleIte
     public List<CoreNoticeRuleItem> getByOrgIdAndProductType(Long orgId, String productType) {
         return baseMapper.getByOrgIdAndProductType(orgId, productType);
     }
+
+    @Override
+    public SysUser getByUserId(Long userId) {
+        return baseMapper.getUserById(userId);
+    }
 }

+ 8 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/notice/service/impl/WebsocketNoticeLogServiceImpl.java

@@ -18,6 +18,7 @@ import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.RemoteSmsService;
 import com.xunmei.system.api.RemoteWebsocketSendService;
 import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.api.domain.SysUser;
 import com.xunmei.system.api.domain.iot.IotDeviceInfo;
 import com.xunmei.system.api.util.LogUtils;
 import com.xunmei.system.api.vo.WebSocketSendVo;
@@ -174,6 +175,13 @@ public class WebsocketNoticeLogServiceImpl extends ServiceImpl<WebsocketNoticeLo
                 if (!sendSmsUserSet.isEmpty()){
                     //调用接口发送短信
                     for (Long userId : sendSmsUserSet) {
+                        //获取用户信息
+                        SysUser sysUser = coreNoticeRuleItemService.getByUserId(userId);
+                        if (sysUser == null){
+                            LogUtils.SMS_NOTICE_LOG.info("用户:{},不发送传感器报警短信",userId);
+                            continue;
+                        }
+
                         LocalDateTime localDateTime = iotAlarmData.getTime();
                         String alarmTime = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
 

+ 3 - 0
soc-modules/soc-modules-host/src/main/resources/mapper/CoreNoticeRuleItemMapper.xml

@@ -40,4 +40,7 @@
             AND n.org_id = #{orgId}
             AND t.product_type = #{productType}
     </select>
+    <select id="getUserById" resultType="com.xunmei.system.api.domain.SysUser">
+        select * from sys_user where id = #{userId} and is_lock = 0
+    </select>
 </mapper>