diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/SmsAdapter.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/SmsAdapter.java index 2003173..4100aae 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/SmsAdapter.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/SmsAdapter.java @@ -32,38 +32,29 @@ public class SmsAdapter { @Resource LwwlkjWeb lwwlkjWeb; - public void sendSms(Integer type, List iccidList, String content) { - String net = ""; - try { - if (Constants.NetType_Dahan.equals(type)) { - net = "dahan"; - dahanWeb.sendSms(iccidList, content); - } else if (Constants.NetType_Rabchaser.equals(type)) { - net = "rabchaser"; - List list = new ArrayList<>(); - for (String iccid : iccidList) { - list.add(iccid); - if (list.size() > 9) { - rabchaserApi.sendSms(list, content); - list.clear(); - try { - Thread.sleep(500); - } catch (InterruptedException ignore) { - } + public void sendSms(Integer type, List iccidList, String content, List errList) { + if (Constants.NetType_Dahan.equals(type)) { + dahanWeb.sendSms(iccidList, content, errList); + } else if (Constants.NetType_Rabchaser.equals(type)) { + List list = new ArrayList<>(); + for (String iccid : iccidList) { + list.add(iccid); + if (list.size() > 9) { + rabchaserApi.sendSms(list, content, errList); + list.clear(); + try { + Thread.sleep(500); + } catch (InterruptedException ignore) { } } - if (list.size() > 0) { - rabchaserApi.sendSms(list, content); - } - } else if (Constants.NetType_M2M10086.equals(type)) { - net = "m2m10086"; - m2m10086Web.sendSms(iccidList, content); - } else if (Constants.NetType_LWWLKJ.equals(type)) { - net = "lwwlkj"; - lwwlkjWeb.sendSms(iccidList, content); } - } catch (ApiException e) { - throw new ApiException(net + e.getMessage()); + if (list.size() > 0) { + rabchaserApi.sendSms(list, content, errList); + } + } else if (Constants.NetType_M2M10086.equals(type)) { + m2m10086Web.sendSms(iccidList, content, errList); + } else if (Constants.NetType_LWWLKJ.equals(type)) { + lwwlkjWeb.sendSms(iccidList, content, errList); } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/dahan/DahanWeb.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/dahan/DahanWeb.java index f6c9a08..faa60cf 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/dahan/DahanWeb.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/dahan/DahanWeb.java @@ -65,7 +65,7 @@ public class DahanWeb { } } - public void sendSms(List iccidList, String content) { + public void sendSms(List iccidList, String content, List errList) { String url = "/cardSendMt"; try { for (String iccid : iccidList) { @@ -79,20 +79,20 @@ public class DahanWeb { try { result = JSONUtil.json2Object(json, HashMap.class); } catch (Exception e) { - throw new ApiException(json); + errList.add(json); + return; } if (result.get("code") != null && "200".equalsIgnoreCase(result.get("code").toString())) { } else { - String error = String.valueOf(result.get("message")); - throw new ApiException(error); + String err = iccid + result.get("message"); + errList.add(err); } } - } catch (ApiException e) { - throw e; } catch (Exception e) { log.error("发送短信异常.", e); - throw new ApiException("发送短信异常," + e.getMessage()); + String err = "dahan发送短信异常," + e.getMessage(); + errList.add(err); } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/lwwlkj/LwwlkjWeb.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/lwwlkj/LwwlkjWeb.java index 1ea64d8..e089117 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/lwwlkj/LwwlkjWeb.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/lwwlkj/LwwlkjWeb.java @@ -55,7 +55,7 @@ public class LwwlkjWeb { } } - public void sendSms(List msisdnList, String content) { + public void sendSms(List msisdnList, String content, List errList) { String url = "/message/send"; try { String msisdns = msisdnList.stream().collect(Collectors.joining(",")); @@ -69,18 +69,18 @@ public class LwwlkjWeb { try { result = JSONUtil.json2Object(json, HashMap.class); } catch (Exception e) { - throw new ApiException(json); + errList.add(json); + return; } if (result.get("code") != null && "success".equalsIgnoreCase(result.get("code").toString())) { } else { - throw new ApiException(json); + errList.add(json); } - } catch (ApiException e) { - throw e; } catch (Exception e) { log.error("发送短信异常.", e); - throw new ApiException("发送短信异常," + e.getMessage()); + String err = "lwwlkj发送短信异常," + e.getMessage(); + errList.add(err); } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/m2m/M2m10086Web.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/m2m/M2m10086Web.java index f3ce5fa..30fa590 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/m2m/M2m10086Web.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/m2m/M2m10086Web.java @@ -68,7 +68,7 @@ public class M2m10086Web { } } - public void sendSms(List iccidList, String content) { + public void sendSms(List iccidList, String content, List errList) { String url = "/sms/smsRecord/saveSmsRecord"; try { for (String iccid : iccidList) { @@ -84,20 +84,20 @@ public class M2m10086Web { try { result = JSONUtil.json2Object(json, HashMap.class); } catch (Exception e) { - throw new ApiException(json); + errList.add(json); + return; } if (result.get("code") != null && "0".equalsIgnoreCase(result.get("code").toString())) { } else { - String error = String.valueOf(result.get("message")); - throw new ApiException(error); + String err = iccid + result.get("message"); + errList.add(err); } } - } catch (ApiException e) { - throw e; } catch (Exception e) { log.error("发送短信异常.", e); - throw new ApiException("发送短信异常," + e.getMessage()); + String err = "m2m10086发送短信异常," + e.getMessage(); + errList.add(err); } } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserApi.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserApi.java index b68f9b9..f6964d0 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserApi.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserApi.java @@ -34,7 +34,7 @@ public class RabchaserApi { return map; } - public void sendSms(List iccidList, String content) { + public void sendSms(List iccidList, String content, List errList) { String url = "/simCards/sendSms"; try { Map headMap = this.signHead(url); @@ -45,16 +45,17 @@ public class RabchaserApi { String json = HttpClient.post(baseUrl + url, dataMap, headMap); log.info("发送短信完成:" + json); List list = JSONUtil.json2Object(json, List.class); - Map map = list.get(0); - String code = map.get("code").toString(); - if (!"0".equals(code)) { - throw new ApiException(map.get("message").toString()); + for (Map map : list) { + String code = map.get("code").toString(); + if (!"0".equals(code)) { + String err = map.get("iccid").toString() + map.get("message").toString(); + errList.add(err); + } } - } catch (ApiException e) { - throw e; } catch (Exception e) { log.error("发送短信异常.", e); - throw new ApiException("发送短信异常," + e.getMessage()); + String err = "rabchaser发送短信异常," + e.getMessage(); + errList.add(err); } } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/SmsServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/SmsServiceImpl.java index 092332c..504806f 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/SmsServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/SmsServiceImpl.java @@ -42,17 +42,21 @@ public class SmsServiceImpl implements SmsService { this.buildiccidList(dahanList, rabchaserList, m2mList, lkjList, model.getTermIdList()); + List errList = new ArrayList<>(); if (!CollectionUtils.isEmpty(dahanList)) { - smsAdapter.sendSms(Constants.NetType_Dahan, dahanList, model.getContent()); + smsAdapter.sendSms(Constants.NetType_Dahan, dahanList, model.getContent(), errList); } if (!CollectionUtils.isEmpty(rabchaserList)) { - smsAdapter.sendSms(Constants.NetType_Rabchaser, rabchaserList, model.getContent()); + smsAdapter.sendSms(Constants.NetType_Rabchaser, rabchaserList, model.getContent(), errList); } if (!CollectionUtils.isEmpty(m2mList)) { - smsAdapter.sendSms(Constants.NetType_M2M10086, m2mList, model.getContent()); + smsAdapter.sendSms(Constants.NetType_M2M10086, m2mList, model.getContent(), errList); } if (!CollectionUtils.isEmpty(lkjList)) { - smsAdapter.sendSms(Constants.NetType_LWWLKJ, lkjList, model.getContent()); + smsAdapter.sendSms(Constants.NetType_LWWLKJ, lkjList, model.getContent(), errList); + } + if (errList.size() > 0) { + throw new ApiException(String.join("\r\n", errList)); } }