Browse Source

告警异步

hanzhengyi 7 months ago
parent
commit
0569ca9f9c

+ 49 - 45
service-alarm/service-alarm-biz/src/main/java/com/usky/alarm/service/impl/BaseAlarmNoticeResultServiceImpl.java

@@ -61,55 +61,59 @@ public class BaseAlarmNoticeResultServiceImpl extends AbstractCrudService<BaseAl
     public Integer send(BaseAlarm baseAlarm, List<BaseAlarmNotice> records3, Integer alarmId, List<DmpProduct> records,
                         BaseAlarmType baseAlarmType, List<DmpDevice> records2) throws ClientException {
         log.info("start asyncServiceExecutor--------------------");
-        String[] array = records3.get(0).getReceiver1().split(",");
         Integer saveAlarmResult = 0;
-        for (String s : array) {
-            LambdaQueryWrapper<SysUser> lambdaQuery4 = Wrappers.lambdaQuery();
-            lambdaQuery4.eq(SysUser::getUserId,s)
-                    .eq(SysUser::getDelFlag,0);
-            SysUser sysUser = sysUserMapper.selectOne(lambdaQuery4);
-            BaseAlarmNoticeResult baseAlarmNoticeResult = new BaseAlarmNoticeResult();
-            baseAlarmNoticeResult.setReceiver(sysUser.getNickName());
-            baseAlarmNoticeResult.setReceiverPhone(sysUser.getPhonenumber());
-            baseAlarmNoticeResult.setAlarmId(alarmId);
-            baseAlarmNoticeResult.setNoticeTime(LocalDateTime.now());
-            baseAlarmNoticeResult.setNoticeContent(records.get(0).getProductName()+","+baseAlarmType.getTypeName()+","+baseAlarm.getAlarmTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd " +
-                    "HH:mm:ss")));
-            baseAlarmNoticeResult.setTenantId(records.get(0).getTenantId());
-            if (records3.get(0).getNoticeMethod().contains("电话")){
-                SingleCallByTtsResponse code = voiceNotice.sendCVoice(sysUser.getPhonenumber(),
-                        records.get(0).getProductName(),baseAlarmType.getTypeName(),
-                        baseAlarm.getAlarmTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd " +
-                                "HH:mm:ss")));
-                baseAlarmNoticeResult.setNoticeType(3);
-                if(code.getCode() != null && code.getCode().equals("OK")) {
-                    //请求成功
-                    baseAlarmNoticeResult.setNoticeResult(1);
-                }else {
-                    baseAlarmNoticeResult.setNoticeResult(2);
+        try{
+            String[] array = records3.get(0).getReceiver1().split(",");
+            for (String s : array) {
+                LambdaQueryWrapper<SysUser> lambdaQuery4 = Wrappers.lambdaQuery();
+                lambdaQuery4.eq(SysUser::getUserId,s)
+                        .eq(SysUser::getDelFlag,0);
+                SysUser sysUser = sysUserMapper.selectOne(lambdaQuery4);
+                BaseAlarmNoticeResult baseAlarmNoticeResult = new BaseAlarmNoticeResult();
+                baseAlarmNoticeResult.setReceiver(sysUser.getNickName());
+                baseAlarmNoticeResult.setReceiverPhone(sysUser.getPhonenumber());
+                baseAlarmNoticeResult.setAlarmId(alarmId);
+                baseAlarmNoticeResult.setNoticeTime(LocalDateTime.now());
+                baseAlarmNoticeResult.setNoticeContent(records.get(0).getProductName()+","+baseAlarmType.getTypeName()+","+baseAlarm.getAlarmTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd " +
+                        "HH:mm:ss")));
+                baseAlarmNoticeResult.setTenantId(records.get(0).getTenantId());
+                if (records3.get(0).getNoticeMethod().contains("电话")){
+                    SingleCallByTtsResponse code = voiceNotice.sendCVoice(sysUser.getPhonenumber(),
+                            records.get(0).getProductName(),baseAlarmType.getTypeName(),
+                            baseAlarm.getAlarmTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd " +
+                                    "HH:mm:ss")));
+                    baseAlarmNoticeResult.setNoticeType(3);
+                    if(code.getCode() != null && code.getCode().equals("OK")) {
+                        //请求成功
+                        baseAlarmNoticeResult.setNoticeResult(1);
+                    }else {
+                        baseAlarmNoticeResult.setNoticeResult(2);
+                    }
+                    saveAlarmResult = baseMapper.insert(baseAlarmNoticeResult);
                 }
-                saveAlarmResult = baseMapper.insert(baseAlarmNoticeResult);
-            }
-            if (records3.get(0).getNoticeMethod().contains("短信")){
-                DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "LTAI5tH3VvRL5BUkovCokHJX", "SaaWUouNqvcA0C746gcNOH9m6SRYN4");
-                IAcsClient client = new DefaultAcsClient(profile);
-                SendSmsRequest request = new SendSmsRequest();
-                request.setPhoneNumbers(sysUser.getPhonenumber());//接收短信的手机号码
-                request.setSignName("上海永天科技股份有限公司");//短信签名名称
-                request.setTemplateCode("SMS_463791105");//短信模板CODE
-                request.setTemplateParam("{\"deviceName\":\""+records2.get(0).getDeviceName()+"\","+"\"time\":\""+baseAlarm.getAlarmTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd " +
-                        "HH:mm:ss"))+"\","+
-                        "\"alarmType\":\""+baseAlarmType.getTypeName()+"\","+"\"alarmContent\":\""+baseAlarm.getAlarmContent()+"\"}");
-                SendSmsResponse code = client.getAcsResponse(request);
-                baseAlarmNoticeResult.setNoticeType(4);
-                if(code.getCode() != null && code.getCode().equals("OK")) {
-                    //请求成功
-                    baseAlarmNoticeResult.setNoticeResult(1);
-                }else {
-                    baseAlarmNoticeResult.setNoticeResult(2);
+                if (records3.get(0).getNoticeMethod().contains("短信")){
+                    DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "LTAI5tH3VvRL5BUkovCokHJX", "SaaWUouNqvcA0C746gcNOH9m6SRYN4");
+                    IAcsClient client = new DefaultAcsClient(profile);
+                    SendSmsRequest request = new SendSmsRequest();
+                    request.setPhoneNumbers(sysUser.getPhonenumber());//接收短信的手机号码
+                    request.setSignName("上海永天科技股份有限公司");//短信签名名称
+                    request.setTemplateCode("SMS_463791105");//短信模板CODE
+                    request.setTemplateParam("{\"deviceName\":\""+records2.get(0).getDeviceName()+"\","+"\"time\":\""+baseAlarm.getAlarmTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd " +
+                            "HH:mm:ss"))+"\","+
+                            "\"alarmType\":\""+baseAlarmType.getTypeName()+"\","+"\"alarmContent\":\""+baseAlarm.getAlarmContent()+"\"}");
+                    SendSmsResponse code = client.getAcsResponse(request);
+                    baseAlarmNoticeResult.setNoticeType(4);
+                    if(code.getCode() != null && code.getCode().equals("OK")) {
+                        //请求成功
+                        baseAlarmNoticeResult.setNoticeResult(1);
+                    }else {
+                        baseAlarmNoticeResult.setNoticeResult(2);
+                    }
+                    saveAlarmResult = baseMapper.insert(baseAlarmNoticeResult);
                 }
-                saveAlarmResult = baseMapper.insert(baseAlarmNoticeResult);
             }
+        }catch (Exception e){
+            e.printStackTrace();
         }
         return saveAlarmResult;
     }