From c29ceac5e4cd84698eed3f6bab93678c36daea90 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Thu, 18 Jul 2024 17:05:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=85=AC=E7=94=B0?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8Rabchaser=E9=A1=B5=E9=9D=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shxy/xymanager_common/sms/SmsAdapter.java | 5 ++ .../sms/rabchaser/RabchaserWeb.java | 66 +++++++++++++++++++ .../impl/SmsServiceImpl.java | 6 +- 3 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserWeb.java 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 f61ad65..1c7f1eb 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 @@ -3,6 +3,7 @@ package com.shxy.xymanager_common.sms; import com.shxy.xymanager_common.constant.Constants; import com.shxy.xymanager_common.sms.dahan.DahanApi; import com.shxy.xymanager_common.sms.rabchaser.RabchaserApi; +import com.shxy.xymanager_common.sms.rabchaser.RabchaserWeb; import com.shxy.xymanager_common.util.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -19,6 +20,8 @@ public class SmsAdapter { DahanApi dahanApi; @Resource RabchaserApi rabchaserApi; + @Resource + RabchaserWeb rabchaserWeb; public void sendSms(Integer type, List iccidList, String content) { if (Constants.NetType_Dahan.equals(type)) { @@ -32,6 +35,8 @@ public class SmsAdapter { String today = DateUtil.format(new Date(), "yyyy-MM-dd"); if (Constants.NetType_Dahan.equals(type)) { return dahanApi.smsRecord(iccid, today); + } else if (Constants.NetType_Rabchaser.equals(type)) { + rabchaserWeb.selectMsgReceive(iccid, today); } return null; } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserWeb.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserWeb.java new file mode 100644 index 0000000..ceeb2d9 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/rabchaser/RabchaserWeb.java @@ -0,0 +1,66 @@ +package com.shxy.xymanager_common.sms.rabchaser; + +import com.shxy.xymanager_common.exception.ApiException; +import com.shxy.xymanager_common.util.HttpClient; +import com.shxy.xymanager_common.util.JSONUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import java.util.HashMap; +import java.util.Map; + +@Service +@Slf4j +public class RabchaserWeb { + private String baseUrl = "http://www.rabchaser.com/api"; + public static String authorization = ""; + + public Object selectMsgReceive(String iccid, String date) { + String url = "/cardquery/selectMsgReceiveByPage"; + Map headMap = new HashMap<>(); + headMap.put("Authorization", authorization); + Map dataMap = new HashMap<>(); + dataMap.put("iccid", iccid); +// dataMap.put("receiveTime", date); + dataMap.put("pageNum", 1); + dataMap.put("pageSize", 10); + try { + HashMap result = null; + String json = HttpClient.post(baseUrl + url, dataMap, headMap); + log.info("查询短信记录完成: " + json); + try { + result = JSONUtil.json2Object(json, HashMap.class); + } catch (Exception e) { + throw new ApiException(json); + } + + if (result.get("code") != null && "200".equalsIgnoreCase(result.get("code").toString())) { + return result.get("data"); + } else { + String error = String.valueOf(result.get("message")); + throw new ApiException(error); + } + } catch (Exception e) { + log.error("查询短信异常.", e); + throw new ApiException("查询短信异常," + e.getMessage()); + } + } + + @PostConstruct + private void login() { + String url = "/user/login"; + Map dataMap = new HashMap<>(); + dataMap.put("loginName", "shxy"); + dataMap.put("password", "Admin@123"); + dataMap.put("rememberAccount", true); + try { + String json = HttpClient.post(baseUrl + url, dataMap, null); + log.info("login完成: " + json); + HashMap result = JSONUtil.json2Object(json, HashMap.class); + authorization = "Bearer " + result.get("data").toString(); + } catch (Exception e) { + log.error("短信登入失败.", e); + } + } +} 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 f0c1a53..7b8aba1 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 @@ -52,7 +52,7 @@ public class SmsServiceImpl implements SmsService { } else if (Constants.NetType_Rabchaser.equals(simcard.getType2())) { rabchaserList.add(simcard.getIccid2()); } else { - throw new ApiException(termId + "该装置的运营商类型type2暂不支持发短信"); + throw new ApiException(termId + "该装置的运营商类型type2=" + simcard.getType2() + "暂不支持发短信"); } } @@ -79,8 +79,10 @@ public class SmsServiceImpl implements SmsService { } if (Constants.NetType_Dahan.equals(simcard.getType2())) { return smsAdapter.listSms(Constants.NetType_Dahan, simcard.getIccid2()); + } else if (Constants.NetType_Rabchaser.equals(simcard.getType2())) { + return smsAdapter.listSms(Constants.NetType_Rabchaser, simcard.getIccid2()); } else { - throw new ApiException(termId + "该装置的运营商类型type2暂不支持查询短信"); + throw new ApiException(termId + "该装置的运营商类型type2=" + simcard.getType2() + "暂不支持查询短信"); } } }