diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/SmsModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/SmsModel.java index 33194de..3c5a04d 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/SmsModel.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/SmsModel.java @@ -4,12 +4,13 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.util.List; @Data public class SmsModel { - @NotNull(message = "termId不能为空") - private Integer termId; + @NotNull(message = "termIdList不能为空") + private List termIdList; @NotBlank(message = "content不能为空") private String content; } 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 752bf44..c9a481b 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 @@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -28,20 +29,30 @@ public class SmsServiceImpl implements SmsService { @Override public void sendSms(SmsModel model) { - Terminals term = newCacheService.getTerminal(model.getTermId()); - if (term == null) { - throw new ApiException("该装置不存在"); + List dahanList = new ArrayList<>(); + List rabchaserList = new ArrayList<>(); + for (Integer termId : model.getTermIdList()) { + Terminals term = newCacheService.getTerminal(termId); + if (term == null) { + throw new ApiException(termId + "该装置不存在"); + } + if (StringUtils.isBlank(term.getIccid())) { + throw new ApiException(termId + "该装置缺少iccid"); + } + if (Constants.NetType_Dahan.equals(term.getNetType())) { + dahanList.add(term.getIccid()); + } else if (Constants.NetType_Rabchaser.equals(term.getNetType())) { + rabchaserList.add(term.getIccid()); + } else { + throw new ApiException(termId + "该装置的网络运营商类型暂不支持发短信"); + } } - if (StringUtils.isBlank(term.getIccid())) { - throw new ApiException("该装置缺少iccid"); + + if (!CollectionUtils.isEmpty(dahanList)) { + smsAdapter.sendSms(Constants.NetType_Dahan, dahanList, model.getContent()); } - List iccidList = new ArrayList<>(); - iccidList.add(term.getIccid()); - if (Constants.NetType_Dahan.equals(term.getNetType()) || - Constants.NetType_Rabchaser.equals(term.getNetType())) { - smsAdapter.sendSms(term.getNetType(), iccidList, model.getContent()); - } else { - throw new ApiException("该装置的网络运营商类型不正确"); + if (!CollectionUtils.isEmpty(rabchaserList)) { + smsAdapter.sendSms(Constants.NetType_Rabchaser, rabchaserList, model.getContent()); } } }