skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java
@@ -14,11 +14,6 @@ public class AlarmRecord extends BaseEntity { /** * 测站名称 */ private String alarmSurveyStationName; /** * 测站类型 */ private String surveyStationType; @@ -49,7 +44,7 @@ private String alarmSurveyStationCode; /** * 测站新旧 * 临时编号-每次任务执行都不一样 */ private String alarmSurveyStationNewOld; private String tempCode; } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.UUID; /** * 通知策略 @@ -108,47 +109,51 @@ List<PersonVO> personLists = new ArrayList<>(); List<List<String>> lists = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { // 根据水库编号,所在区域查询需要发送的人员手机号及设置 String res_cd = jsonArray.getJSONObject(i).getString("res_cd"); // 判断时间是否存在 String tm = jsonArray.getJSONObject(i).getString("tm"); String day = ""; String hour = ""; String minute = ""; if (null!=tm && !tm.equals("") && flag){ flag = true; // 加入天,时,分 day = tm.substring(8,10); hour = tm.substring(11,13); minute = tm.substring(14,16); }else { flag = false; } // 查询告警人员信息 List<PersonVO> personVOList = getPersonListByResGuid(res_cd,alarmRule); if (personVOList.size() > 0) { for (PersonVO personVO : personVOList) { List<String> list = new ArrayList<>(); list.add(res_cd); list.add(personVO.getPhone()); if (flag) { list.add(day); list.add(hour); list.add(minute); } // 变量将值放入集合中 for (String column : columnsList) { String[] split = column.split(","); String format = ""; for (String s : split) { format = format + jsonArray.getJSONObject(i).getString(s); } list.add(format); } lists.add(list); String county_cd = jsonArray.getJSONObject(i).getString("county_cd"); // city_cd,county_cd if (county_cd.equals("421223000000")) { // 根据水库编号,所在区域查询需要发送的人员手机号及设置 String res_cd = jsonArray.getJSONObject(i).getString("res_cd"); // 判断时间是否存在 String tm = jsonArray.getJSONObject(i).getString("tm"); String day = ""; String hour = ""; String minute = ""; if (null != tm && !tm.equals("") && flag) { flag = true; // 加入天,时,分 day = tm.substring(8, 10); hour = tm.substring(11, 13); minute = tm.substring(14, 16); } else { flag = false; } // 查询告警人员信息 List<PersonVO> personVOList = getPersonListByResGuid(res_cd, alarmRule); if (personVOList.size() > 0) { for (PersonVO personVO : personVOList) { List<String> list = new ArrayList<>(); list.add(res_cd); list.add(personVO.getPhone()); if (flag) { list.add(day); list.add(hour); list.add(minute); } // 变量将值放入集合中 for (String column : columnsList) { String[] split = column.split(","); String format = ""; for (String s : split) { format = format + jsonArray.getJSONObject(i).getString(s); } list.add(format); } lists.add(list); } } personLists.addAll(personVOList); } personLists.addAll(personVOList); } // 设置信息 smsRequestTemplate.setPersonVOList(personLists); @@ -159,18 +164,30 @@ * 保存告警记录信息 * @param list * @param alarmRule 告警规则 * @param uuid 临时id * @return */ private AlarmRecord saveAlarmRecord(List<String> list,AlarmRule alarmRule) { AlarmRecord alarmRecord = new AlarmRecord(); // 设置相关信息 alarmRecord.setAlarmRuleId(alarmRule.getId().toString()); alarmRecord.setReservoirNumber(list.get(0)); alarmRecord.setAlarmCondition(alarmRule.getRuleRemark()); // 新增 boolean save = alarmRecordService.save(alarmRecord); if (save){ private AlarmRecord saveAlarmRecord(List<String> list,AlarmRule alarmRule,String uuid) { AlarmRecord alarmRecord = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>() .eq("temp_code",uuid) .eq("alarm_rule_id",alarmRule.getId()) .eq("reservoir_number",list.get(0)) ); if (null!=alarmRecord) { return alarmRecord; }else { AlarmRecord alarm = new AlarmRecord(); // 设置相关信息 alarm.setAlarmRuleId(alarmRule.getId().toString()); alarm.setReservoirNumber(list.get(0)); alarm.setAlarmCondition(alarmRule.getRuleRemark()); alarm.setTempCode(uuid); // 新增 boolean save = alarmRecordService.save(alarm); if (save) { return alarm; } } // 返回 return null; @@ -235,9 +252,9 @@ list.add(jszrr); }else { // 巡查责任人姓名 list.add("?"); list.add(""); // 技术责任人姓名 list.add("?"); list.add(""); } } @@ -258,7 +275,7 @@ // 拼接水利部人员信息 list.add(builder.substring(0,builder.length()-1)); }else { list.add("?"); list.add(""); } } @@ -282,20 +299,22 @@ * @return */ public String waterInfoNotHandle(String arg1, String arg2) { String templateId = "2431012216668"; String uuid = templateId + UUID.randomUUID().toString(); // 查询当前策略对应的告警规则信息 AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); if (null!=alarmRule) { // 调用中台服务接口查询数据 JSONArray ztData = getZtData("", ZtApiUrlConstant.res_z_null_api); // 只发短信,将发短信信息组装好 SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, "2431012216668",alarmRule, ZtApiDataColumnConstant.waterInfoNotList,false); SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterInfoNotList,false); // 拼接内容后面的联系方式,当前模板拼接平台服务电话 // 遍历,拼接平台服务电话 for (List<String> list : smsRequestTemplate.getTemplateContent()) { // 添加平台电话 list.add(PtInfoConstant.serverPhone); // 保存告警记录信息 AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule); AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule,uuid); if (null != alarmRecord) { list.add(alarmRecord.getId().toString()); } @@ -315,6 +334,8 @@ * @return */ public String waterDataExcHandle(String arg1, String arg2) { String templateId = "2431012248591"; String uuid = templateId + UUID.randomUUID().toString(); // 查询当前策略对应的告警规则信息 AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); if (null!=alarmRule) { @@ -322,11 +343,11 @@ JSONArray ztData = getZtData("", ZtApiUrlConstant.res_z_not_normal_api); // 只发短信,将发短信信息组装好 SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, "2431012248591",alarmRule, ZtApiDataColumnConstant.waterDataExcList,false); = getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterDataExcList,false); // 拼接后面内容 for (List<String> list : smsRequestTemplate.getTemplateContent()) { // 保存告警记录信息 AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule); AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule,uuid); if (null != alarmRecord) { list.add(alarmRecord.getId().toString()); } @@ -346,20 +367,22 @@ * @return */ public String waterLessDeadHandle(String arg1, String arg2) { String templateId = "2431012248594"; String uuid = templateId + UUID.randomUUID().toString(); // 查询当前策略对应的告警规则信息 AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); if (null!=alarmRule) { // 调用中台服务接口查询数据 JSONArray ztData = getZtData("", ZtApiUrlConstant.res_diff_dead_z_api); // 只发短信,将发短信信息组装好 SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, "2431012248594",alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true); SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true); // 拼接内容后面的联系方式,当前模板县水利部人员姓名电话 // 遍历,拼接县水利部人员电话 for (List<String> list : smsRequestTemplate.getTemplateContent()) { // 查询县水利部人员(通过水库编号) // list.add("测试:13112341234"); // 保存告警记录信息 AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule); AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule,uuid); if (null != alarmRecord) { list.add(alarmRecord.getId().toString()); } @@ -393,13 +416,15 @@ * @return */ public String waterComeOverHandle(String arg1, String arg2) { String templateId = "znxsw10000001"; String uuid = templateId + UUID.randomUUID().toString(); // 查询当前策略对应的告警规则信息 AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); if (null!=alarmRule) { // 调用中台服务接口查询数据 JSONArray ztData = getZtData("", ZtApiUrlConstant.res_diff_dead_z_api); // 只发送站内信 SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, "znxsw10000001",alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true); SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true); // 拼接内容后面的联系方式,当前模板县水利部人员姓名电话 // 遍历,拼接县水利部人员电话 for (List<String> list : smsRequestTemplate.getTemplateContent()) { @@ -408,7 +433,7 @@ // 市县水利部门人员姓名电话(暂时不要) // list.add("测试:13112341234"); // 保存告警记录信息 AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule); AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule,uuid); if (null != alarmRecord) { list.add(alarmRecord.getId().toString()); // list.add("999"); @@ -430,6 +455,8 @@ * @return */ public String waterFirstOverHandle(String arg1, String arg2) { String templateId = "2431012216671"; String uuid = templateId + UUID.randomUUID().toString(); // 查询当前策略对应的告警规则信息 AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); if (null!=alarmRule) { @@ -437,24 +464,26 @@ JSONArray ztData = getZtData("", ZtApiUrlConstant.over_z_res_api); // 只发短信,将发短信信息组装好 SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, "2431012216671",alarmRule, ZtApiDataColumnConstant.waterFirstOverList,true); = getSendSmsTemplate(ztData, templateId,alarmRule, ZtApiDataColumnConstant.waterFirstOverList,true); // 拼接后面内容 for (List<String> list : smsRequestTemplate.getTemplateContent()) { // 依次拼接巡查责任人,技术责任人姓名 addPatrolTechnologyInfo(list); // 拼接市县水利部人员姓名及联系方式 addCityCountyBusinessPersonInfo(list); // 保存告警记录信息 AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule); if (null != alarmRecord) { list.add(alarmRecord.getId().toString()); // list.add("999"); if (smsRequestTemplate.getPersonVOList().size()>0) { for (List<String> list : smsRequestTemplate.getTemplateContent()) { // 依次拼接巡查责任人,技术责任人姓名 addPatrolTechnologyInfo(list); // 拼接市县水利部人员姓名及联系方式 addCityCountyBusinessPersonInfo(list); // 保存告警记录信息 AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule,uuid); if (null != alarmRecord) { list.add(alarmRecord.getId().toString()); // list.add("999"); } } // 调用短信服务 Map<String, Object> map = smsService.sendSignMsg(smsRequestTemplate); // 返回 return "本次-水位初次超汛限告警短信成功通知数量:" + map.get("smsRecord"); } // 调用短信服务 Map<String, Object> map = smsService.sendSignMsg(smsRequestTemplate); // 返回 return "本次-水位初次超汛限告警短信成功通知数量:" + map.get("smsRecord"); } // 返回 return "水位初次超汛限告警"; skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/constant/SmsConstant.java
New file @@ -0,0 +1,11 @@ package cn.gistack.alerts.sms.constant; public class SmsConstant { /** * 已发短息人员redis 过期时间(秒),暂定24小时 */ public static final Integer max_send_size = 1000; } skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
@@ -26,12 +26,14 @@ import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.google.common.collect.Lists; import org.jetbrains.annotations.NotNull; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.lang.reflect.Array; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; @@ -99,6 +101,70 @@ return list; } // /** // * 发送 具名 变量模板短信(告警定制) // * @param smsRequestTemplate // * @return // */ // @Override // public Map<String, Object> sendSignMsg(SmsRequestTemplate smsRequestTemplate) { // // 取出数据 // SMSSendRequest request = new SMSSendRequest(); // SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate(); // request.setTemplateId(smsTemplate.getTemplateId()); // List<List<String>> templateContent = smsRequestTemplate.getTemplateContent(); // // 先保存结果记录 // SmsResult smsResult = saveSendResult(null,null,request, templateContent.size()); // List<SmsRecord> smsRecordList = new ArrayList<>(); // // 遍历处理 // for (List<String> list : templateContent) { // AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail(); // alarmRecordDetail.setReservoirNumber(list.get(0)); // alarmRecordDetail.setAlarmRecordId(Long.parseLong(list.get(list.size() - 1))); // alarmRecordDetail.setAlarmMode("短信"); // // 删除 最后一个 告警记录id // list.remove(list.size() - 1); // // 删除 0 水库编码 // list.remove(0); // // 转换字符串 // String row = String.join(",", list); // // 组装数据 // String[][] dyns = new String[][]{{smsRequestTemplate.getTitle()}, {row}}; // //请求参数 // ComResult<DynSMSSendDataResult> resultComResult = sendDynSMSSendDataResultComResult(smsTemplate.getTemplateId(), dyns); // // SmsRecord smsRecord = new SmsRecord(); // if (null != smsResult){ // alarmRecordDetail.setPhone(list.get(0)); // // 设置手机号 // request.setUserNumber(list.get(0)); // // 内容处理 // String s = smsTemplate.getContent().replaceAll("\\{.+?\\}", "%s"); // // 短信内容拼接(完成发送的结果信息) // // 需要删除最前面的手机号 // list.remove(0); // // 格式转换 // String format = String.format(s, list.toArray()); // // 设置内容 // request.setMessageContent(format); // // 保存短信发送记录 // smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId()); // if (null != smsRecord){ // alarmRecordDetail.setAlarmContent(format); // alarmRecordDetail.setSendRecordId(smsRecord.getId()); // alarmRecordDetail.setCreateTime(new Date()); // // 保存告警记录详情信息 // boolean save = alarmRecordDetailService.save(alarmRecordDetail); // } // } // smsRecordList.add(smsRecord); // } // Map<String, Object> map = new HashMap<>(2); // map.put("smsRecord",smsRecordList.size()); // // 返回 // return map; // } /** * 发送 具名 变量模板短信(告警定制) * @param smsRequestTemplate @@ -111,83 +177,46 @@ SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate(); request.setTemplateId(smsTemplate.getTemplateId()); List<List<String>> templateContent = smsRequestTemplate.getTemplateContent(); // 先保存结果记录 SmsResult smsResult = saveSendResult(null,null,request, templateContent.size()); List<SmsRecord> smsRecordList = new ArrayList<>(); // 遍历处理 for (List<String> list : templateContent) { AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail(); alarmRecordDetail.setReservoirNumber(list.get(0)); alarmRecordDetail.setAlarmRecordId(Long.parseLong(list.get(list.size() - 1))); alarmRecordDetail.setAlarmMode("短信"); // 删除 最后一个 告警记录id list.remove(list.size() - 1); // 删除 0 水库编码 list.remove(0); // 转换字符串 String row = String.join(",", list); // 组装数据 String[][] dyns = new String[][]{{smsRequestTemplate.getTitle()}, {row}}; //请求参数 ComResult<DynSMSSendDataResult> resultComResult = sendDynSMSSendDataResultComResult(smsTemplate.getTemplateId(), dyns); SmsRecord smsRecord = new SmsRecord(); if (null != smsResult){ alarmRecordDetail.setPhone(list.get(0)); // 设置手机号 request.setUserNumber(list.get(0)); // 内容处理 String s = smsTemplate.getContent().replaceAll("\\{.+?\\}", "%s"); // 短信内容拼接(完成发送的结果信息) // 需要删除最前面的手机号 list.remove(0); // 格式转换 String format = String.format(s, list.toArray()); // 设置内容 request.setMessageContent(format); // 保存短信发送记录 smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId()); if (null != smsRecord){ alarmRecordDetail.setAlarmContent(format); alarmRecordDetail.setSendRecordId(smsRecord.getId()); alarmRecordDetail.setCreateTime(new Date()); // 保存告警记录详情信息 boolean save = alarmRecordDetailService.save(alarmRecordDetail); } } smsRecordList.add(smsRecord); // 判断 templateContent 个数,个数超过1000 需要分段发送短信 List<List<List<String>>> lists = Lists.partition(templateContent, 1000); int number = 0; for (List<List<String>> list : lists) { // 临时保存告警记录用 List<List<String>> templateList = getAlarmList(list); // 批量发送短信 Map<String, Object> map = batchSendAlertsSms(smsRequestTemplate.getSmsTemplate(), list); int count = Integer.parseInt(map.get("errCount").toString()); ComResult<DynSMSSendDataResult> resultComResult =(ComResult<DynSMSSendDataResult>) map.get("resultComResult"); // 保存短信结果记录 SmsResult smsResult = saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, list.size() - count); // 保存详情记录(短信详情,告警详情) List<SmsRecord> smsRecordList = saveAlertsAndSmsDetail(smsResult,resultComResult,smsRequestTemplate.getSmsTemplate(), templateList,request); // number 累加 number += smsRecordList.size(); } Map<String, Object> map = new HashMap<>(2); map.put("smsRecord",smsRecordList.size()); // 设置返回数据 Map<String, Object> params = new HashMap<>(1); params.put("sendNumber",number); // 返回 return map; return params; } /** * 发送 具名 变量模板短信(告警定制) * @param smsRequestTemplate * 获取用户告警的集合 * @param list * @return */ // @Override // public Map<String, Object> sendSignMsg(SmsRequestTemplate smsRequestTemplate) { // // 取出数据 // SMSSendRequest request = new SMSSendRequest(); // SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate(); // request.setTemplateId(smsTemplate.getTemplateId()); // // 批量发送短信 // Map<String, Object> map = batchSendAlertsSms(smsRequestTemplate.getSmsTemplate(), smsRequestTemplate.getTemplateContent()); // int count = Integer.parseInt(map.get("errCount").toString()); // ComResult<DynSMSSendDataResult> resultComResult =(ComResult<DynSMSSendDataResult>) map.get("resultComResult"); // // 保存短信结果记录 // SmsResult smsResult = saveSendResult(resultComResult.getCode().toString(),resultComResult.getMsg(),request, smsRequestTemplate.getTemplateContent().size()-count); // // 保存详情记录(短信详情,告警详情) //// List<SmsRecord> smsRecordList = saveAlertsAndSmsDetail(smsResult,resultComResult,smsRequestTemplate.getSmsTemplate(), smsRequestTemplate.getTemplateContent(),request); // // 设置返回数据 // Map<String, Object> params = new HashMap<>(2); //// params.put("smsRecord",smsRecordList.size()); // // 返回 // return params; // } private List<List<String>> getAlarmList(List<List<String>> list) { List<List<String>> arrayList = new ArrayList<>(); // 值引用 for (List<String> stringList : list) { List<String> child = new ArrayList<>(); child.addAll(stringList); arrayList.add(child); } // 返回 return arrayList; } /** * 保存详情记录(短信详情,告警详情) @@ -365,22 +394,22 @@ for (String phone : phones) { hashSet.add(phone); } // 批量发送短信 Map<String, Object> batchSendSmsMap = batchSendSms(hashSet, titleArr, data, smsTemplate,errPhones); ComResult<DynSMSSendDataResult> resultComResult = (ComResult<DynSMSSendDataResult>)batchSendSmsMap.get("resultComResult"); errPhones = (List<String>) batchSendSmsMap.get("errPhones"); // 分割 List<List<String>> partition = Lists.partition(new ArrayList<>(hashSet), 1000); int errNumber = 0; // 遍历 for (List<String> list : partition) { // 批量发送短信 Map<String, Object> batchSendSmsMap = batchSendSms(new HashSet<>(list), titleArr, data, smsTemplate,errPhones); errPhones = (List<String>) batchSendSmsMap.get("errPhones"); errNumber += errPhones.size(); } // 计算差值 Integer diff = phones.size() - hashSet.size(); if (resultComResult.getCode()==0){ String successMsg = "发送成功!共提交号码 "+phones.size()+" 个,其中重复号码 "+diff+" 个,错误号码 " +errPhones.size()+" 个,发送成功号码 "+ hashSet.size() + " 个。"; // 返回 return R.data(200,successMsg,null); } String errorMsg = "发送失败!共提交号码 "+phones.size()+" 个,其中重复号码 "+diff+" 个,错误号码 "+errPhones.size()+ " 个,发送异常号码 "+ hashSet.size()+" 个,异常原因" + resultComResult.getMsg() + "。"; String successMsg = "发送成功!共提交号码 "+phones.size()+" 个,其中重复号码 "+diff+" 个,错误号码 " + errNumber +" 个,发送成功号码 "+ (hashSet.size()-errNumber) + " 个。"; // 返回 return R.data(400,errorMsg,null); return R.data(200,successMsg,null); } @@ -630,12 +659,20 @@ String param = startTime + "-" + endTime; // 拼接短信标题数组 String [] titleArr = getSmsTitleArr(smsTemplate); // 批量发送短信 Map<String, Object> batchSendSmsMap = batchSendSms(personList, titleArr, param, smsTemplate,errPhones); ComResult<DynSMSSendDataResult> resultComResult = (ComResult<DynSMSSendDataResult>)batchSendSmsMap.get("resultComResult"); errPhones = (List<String>) batchSendSmsMap.get("errPhones"); // 分割 List<List<String>> partition = Lists.partition(new ArrayList<>(personList), 1000); int errNumber = 0; ComResult<DynSMSSendDataResult> resultComResult = new ComResult(); // 遍历 for (List<String> list1 : partition) { // 批量发送短信 Map<String, Object> batchSendSmsMap = batchSendSms(new HashSet<>(list1), titleArr, param, smsTemplate,errPhones); resultComResult = (ComResult<DynSMSSendDataResult>)batchSendSmsMap.get("resultComResult"); errPhones = (List<String>) batchSendSmsMap.get("errPhones"); errNumber += errPhones.size(); } // 计算差值 Integer diff = personList.size() - errPhones.size(); Integer diff = personList.size() - errNumber; if (resultComResult.getCode()==0){ String successMsg = "发送成功!共导入水库个数 "+ size +" 个,其中发送号码 "+ diff + " 个。"; // 返回 skjcmanager/skjcmanager-service/skjcmanager-xxljob/src/main/java/cn/gistack/job/executor/jobhandler/AlarmXxlJob.java
@@ -107,7 +107,7 @@ * @return * @throws Exception */ @XxlJob("waterFirstOverHandle_test") @XxlJob("waterFirstOverHandle_test_0703") public ReturnT<String> waterFirstOverHandle(String param){ XxlJobLogger.log("开始执行任务..."); // 创建外呼任务