From 6ab6bb2779ce5484887a1adb8a0e759de84e56ff Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 14 Apr 2025 10:30:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0rabchaser=E7=9A=84?= =?UTF-8?q?=E6=96=AD=E7=BD=91=E5=92=8C=E6=81=A2=E5=A4=8D=E4=B8=8A=E7=BD=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SmsController.java | 16 ++++ .../shxy/xymanager_common/sms/SmsAdapter.java | 70 ++++++++++++++++ .../sms/rabchaser/RabchaserApi.java | 34 ++++++++ .../impl/SmsServiceImpl.java | 84 +++++++++++++++---- .../xymanager_service/service/SmsService.java | 4 + 5 files changed, 194 insertions(+), 14 deletions(-) diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/SmsController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/SmsController.java index 58830a8..3255c73 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/SmsController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/SmsController.java @@ -44,6 +44,22 @@ public class SmsController extends BaseController { return ResponseReult.success(obj); } + @PostMapping("netDown") + @ApiOperation("断网") + @Log(title = "断网", type = "断网") + public ResponseReult netDown(@RequestBody SmsModel model) { + service.netDown(model); + return ResponseReult.success("OK"); + } + + @PostMapping("netUp") + @ApiOperation("恢复上网") + @Log(title = "恢复上网", type = "恢复上网") + public ResponseReult netUp(@RequestBody SmsModel model) { + service.netUp(model); + return ResponseReult.success("OK"); + } + @GetMapping("getAuth") @ApiOperation("查询授权") public ResponseReult> getAuth() { 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 c9c0662..2003173 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 @@ -95,4 +95,74 @@ public class SmsAdapter { } return result; } + + public void netDown(Integer type, List iccidList) { + String net = ""; + try { + if (Constants.NetType_Dahan.equals(type)) { + net = "dahan"; + throw new ApiException("暂不支持大汉"); + } 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.netDown(list); + list.clear(); + try { + Thread.sleep(500); + } catch (InterruptedException ignore) { + } + } + } + if (list.size() > 0) { + rabchaserApi.netDown(list); + } + } else if (Constants.NetType_M2M10086.equals(type)) { + net = "m2m10086"; + throw new ApiException("暂不支持公田m2m10086"); + } else if (Constants.NetType_LWWLKJ.equals(type)) { + net = "lwwlkj"; + throw new ApiException("暂不支持安徽"); + } + } catch (ApiException e) { + throw new ApiException(net + e.getMessage()); + } + } + + public void netUp(Integer type, List iccidList) { + String net = ""; + try { + if (Constants.NetType_Dahan.equals(type)) { + net = "dahan"; + throw new ApiException("暂不支持大汉"); + } 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.netUp(list); + list.clear(); + try { + Thread.sleep(500); + } catch (InterruptedException ignore) { + } + } + } + if (list.size() > 0) { + rabchaserApi.netUp(list); + } + } else if (Constants.NetType_M2M10086.equals(type)) { + net = "m2m10086"; + throw new ApiException("暂不支持公田m2m10086"); + } else if (Constants.NetType_LWWLKJ.equals(type)) { + net = "lwwlkj"; + throw new ApiException("暂不支持安徽"); + } + } catch (ApiException e) { + throw new ApiException(net + e.getMessage()); + } + } } 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 f7d113b..2bebd1b 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 @@ -85,4 +85,38 @@ public class RabchaserApi { throw new ApiException("查询短信记录异常," + e.getMessage()); } } + + public void netDown(List iccidList) { + String url = "/simCards/netDown"; + try { + Map headMap = this.signHead(url); + Map dataMap = new HashMap<>(); + dataMap.put("iccid", iccidList); + + String json = HttpClient.post(baseUrl + url, dataMap, headMap); + log.info("断网完成:" + json); + } catch (ApiException e) { + throw e; + } catch (Exception e) { + log.error("断网异常.", e); + throw new ApiException("断网异常," + e.getMessage()); + } + } + + public void netUp(List iccidList) { + String url = "/simCards/netUp"; + try { + Map headMap = this.signHead(url); + Map dataMap = new HashMap<>(); + dataMap.put("iccid", iccidList); + + String json = HttpClient.post(baseUrl + url, dataMap, headMap); + log.info("恢复上网完成:" + json); + } catch (ApiException e) { + throw e; + } catch (Exception e) { + log.error("恢复上网异常.", e); + throw new ApiException("恢复上网异常," + e.getMessage()); + } + } } 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 271d780..092332c 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 @@ -38,7 +38,28 @@ public class SmsServiceImpl implements SmsService { List rabchaserList = new ArrayList<>(); List m2mList = new ArrayList<>(); List lkjList = new ArrayList<>(); - for (Integer termId : model.getTermIdList()) { + + this.buildiccidList(dahanList, rabchaserList, m2mList, lkjList, + model.getTermIdList()); + + if (!CollectionUtils.isEmpty(dahanList)) { + smsAdapter.sendSms(Constants.NetType_Dahan, dahanList, model.getContent()); + } + if (!CollectionUtils.isEmpty(rabchaserList)) { + smsAdapter.sendSms(Constants.NetType_Rabchaser, rabchaserList, model.getContent()); + } + if (!CollectionUtils.isEmpty(m2mList)) { + smsAdapter.sendSms(Constants.NetType_M2M10086, m2mList, model.getContent()); + } + if (!CollectionUtils.isEmpty(lkjList)) { + smsAdapter.sendSms(Constants.NetType_LWWLKJ, lkjList, model.getContent()); + } + } + + private void buildiccidList(List dahanList, List rabchaserList, + List m2mList, List lkjList, + List termIdList) { + for (Integer termId : termIdList) { Terminals term = newCacheService.getTerminal(termId); if (term == null) { throw new ApiException(termId + "该装置不存在"); @@ -92,19 +113,6 @@ public class SmsServiceImpl implements SmsService { throw new ApiException(termId + "该装置的运营商类型未配置"); } } - - if (!CollectionUtils.isEmpty(dahanList)) { - smsAdapter.sendSms(Constants.NetType_Dahan, dahanList, model.getContent()); - } - if (!CollectionUtils.isEmpty(rabchaserList)) { - smsAdapter.sendSms(Constants.NetType_Rabchaser, rabchaserList, model.getContent()); - } - if (!CollectionUtils.isEmpty(m2mList)) { - smsAdapter.sendSms(Constants.NetType_M2M10086, m2mList, model.getContent()); - } - if (!CollectionUtils.isEmpty(lkjList)) { - smsAdapter.sendSms(Constants.NetType_LWWLKJ, lkjList, model.getContent()); - } } @Override @@ -162,4 +170,52 @@ public class SmsServiceImpl implements SmsService { throw new ApiException(termId + "该装置的运营商类型未配置"); } } + + @Override + public void netDown(SmsModel model) { + List dahanList = new ArrayList<>(); + List rabchaserList = new ArrayList<>(); + List m2mList = new ArrayList<>(); + List lkjList = new ArrayList<>(); + + this.buildiccidList(dahanList, rabchaserList, m2mList, lkjList, + model.getTermIdList()); + + if (!CollectionUtils.isEmpty(dahanList)) { + smsAdapter.netDown(Constants.NetType_Dahan, dahanList); + } + if (!CollectionUtils.isEmpty(rabchaserList)) { + smsAdapter.netDown(Constants.NetType_Rabchaser, rabchaserList); + } + if (!CollectionUtils.isEmpty(m2mList)) { + smsAdapter.netDown(Constants.NetType_M2M10086, m2mList); + } + if (!CollectionUtils.isEmpty(lkjList)) { + smsAdapter.netDown(Constants.NetType_LWWLKJ, lkjList); + } + } + + @Override + public void netUp(SmsModel model) { + List dahanList = new ArrayList<>(); + List rabchaserList = new ArrayList<>(); + List m2mList = new ArrayList<>(); + List lkjList = new ArrayList<>(); + + this.buildiccidList(dahanList, rabchaserList, m2mList, lkjList, + model.getTermIdList()); + + if (!CollectionUtils.isEmpty(dahanList)) { + smsAdapter.netUp(Constants.NetType_Dahan, dahanList); + } + if (!CollectionUtils.isEmpty(rabchaserList)) { + smsAdapter.netUp(Constants.NetType_Rabchaser, rabchaserList); + } + if (!CollectionUtils.isEmpty(m2mList)) { + smsAdapter.netUp(Constants.NetType_M2M10086, m2mList); + } + if (!CollectionUtils.isEmpty(lkjList)) { + smsAdapter.netUp(Constants.NetType_LWWLKJ, lkjList); + } + } } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/SmsService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/SmsService.java index 737e299..7bb56bd 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/SmsService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/SmsService.java @@ -9,4 +9,8 @@ public interface SmsService { void sendSms(SmsModel model); SmsReturn listSms(Integer termId); + + void netDown(SmsModel model); + + void netUp(SmsModel model); }