From c4bea3caa625101810d8da83d8872c6dfc8370a7 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Wed, 3 Jul 2024 10:37:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E5=8F=91=E9=80=81=E5=8A=9F=E8=83=BD=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SmsController.java | 34 +++++++++++++++ .../xymanager_common/constant/Constants.java | 6 +++ .../xymanager_common/entity/Terminals.java | 1 - .../shxy/xymanager_common/model/SmsModel.java | 15 +++++++ .../shxy/xymanager_common/sms/SmsAdapter.java | 24 +++++++++++ .../xymanager_common}/sms/dahan/DahanApi.java | 2 +- .../xymanager_framework/sms/SmsAdapter.java | 19 -------- .../impl/SmsServiceImpl.java | 43 +++++++++++++++++++ .../xymanager_service/service/SmsService.java | 9 ++++ 9 files changed, 132 insertions(+), 21 deletions(-) create mode 100644 xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/SmsController.java create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/model/SmsModel.java create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/sms/SmsAdapter.java rename {xymanager_framework/src/main/java/com/shxy/xymanager_framework => xymanager_common/src/main/java/com/shxy/xymanager_common}/sms/dahan/DahanApi.java (98%) delete mode 100644 xymanager_framework/src/main/java/com/shxy/xymanager_framework/sms/SmsAdapter.java create mode 100644 xymanager_service/src/main/java/com/shxy/xymanager_service/impl/SmsServiceImpl.java create mode 100644 xymanager_service/src/main/java/com/shxy/xymanager_service/service/SmsService.java 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 new file mode 100644 index 0000000..104aa1d --- /dev/null +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/SmsController.java @@ -0,0 +1,34 @@ +package com.shxy.xymanager_admin.controller; + +import com.shxy.xymanager_common.annotation.Log; +import com.shxy.xymanager_common.base.BaseController; +import com.shxy.xymanager_common.base.ResponseReult; +import com.shxy.xymanager_common.model.SmsModel; +import com.shxy.xymanager_service.service.SmsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@RestController +@Api(tags = {"短信相关接口"}) +@RequestMapping("sms") +@Slf4j +public class SmsController extends BaseController { + + @Resource + SmsService service; + + @PostMapping("send") + @ApiOperation("发送短信") + @Log(title = "发送短信", type = "发送") + public ResponseReult send(@Validated @RequestBody SmsModel model) { + service.sendSms(model); + return ResponseReult.success("OK"); + } + + +} diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java index 13ba7b2..6f53d94 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/constant/Constants.java @@ -205,4 +205,10 @@ public class Constants { public static int SUPER_ADMIN = 0; public static String SUPER_ADMIN_NAME = "超级管理员"; + /** + * Sim卡运营商 + */ + public static final Integer NetType_Dahan = 1; + public static final Integer NetType_Rabchaser = 2; + } \ No newline at end of file diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java index 8cf14ba..6fe8535 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/Terminals.java @@ -133,7 +133,6 @@ public class Terminals implements Serializable { this.setOnlineStatus(0); this.setSn("1"); this.setBsManufacturer("上海欣影"); - this.setNetType(1); this.setDevType("1"); this.setPassword(""); } 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 new file mode 100644 index 0000000..33194de --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/SmsModel.java @@ -0,0 +1,15 @@ +package com.shxy.xymanager_common.model; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class SmsModel { + + @NotNull(message = "termId不能为空") + private Integer termId; + @NotBlank(message = "content不能为空") + private String content; +} 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 new file mode 100644 index 0000000..6d8c9ce --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/SmsAdapter.java @@ -0,0 +1,24 @@ +package com.shxy.xymanager_common.sms; + +import com.shxy.xymanager_common.constant.Constants; +import com.shxy.xymanager_common.sms.dahan.DahanApi; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +@Slf4j +public class SmsAdapter { + + @Resource + DahanApi dahanApi; + + public void sendSms(Integer type, String iccid, String content) { + if (Constants.NetType_Dahan.equals(type)) { + dahanApi.sendSms(iccid, content); + } else if (Constants.NetType_Rabchaser.equals(type)) { + + } + } +} diff --git a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/sms/dahan/DahanApi.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/dahan/DahanApi.java similarity index 98% rename from xymanager_framework/src/main/java/com/shxy/xymanager_framework/sms/dahan/DahanApi.java rename to xymanager_common/src/main/java/com/shxy/xymanager_common/sms/dahan/DahanApi.java index 48f4906..ea2f86b 100644 --- a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/sms/dahan/DahanApi.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/sms/dahan/DahanApi.java @@ -1,4 +1,4 @@ -package com.shxy.xymanager_framework.sms.dahan; +package com.shxy.xymanager_common.sms.dahan; import com.shxy.xymanager_common.exception.ApiException; import com.shxy.xymanager_common.util.DigestUtils; diff --git a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/sms/SmsAdapter.java b/xymanager_framework/src/main/java/com/shxy/xymanager_framework/sms/SmsAdapter.java deleted file mode 100644 index b85ffdc..0000000 --- a/xymanager_framework/src/main/java/com/shxy/xymanager_framework/sms/SmsAdapter.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.shxy.xymanager_framework.sms; - -import com.shxy.xymanager_framework.sms.dahan.DahanApi; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; - -@Service -@Slf4j -public class SmsAdapter { - - @Resource - DahanApi dahanApi; - - public void sendSms(Integer type, String iccid, 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 new file mode 100644 index 0000000..ccf6bc7 --- /dev/null +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/SmsServiceImpl.java @@ -0,0 +1,43 @@ +package com.shxy.xymanager_service.impl; + +import com.shxy.xymanager_common.constant.Constants; +import com.shxy.xymanager_common.entity.Terminals; +import com.shxy.xymanager_common.exception.ApiException; +import com.shxy.xymanager_common.model.SmsModel; +import com.shxy.xymanager_common.sms.SmsAdapter; +import com.shxy.xymanager_service.service.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class SmsServiceImpl implements SmsService { + + + @Resource + NewCacheService newCacheService; + @Resource + SmsAdapter smsAdapter; + + @Override + public void sendSms(SmsModel model) { + Terminals term = newCacheService.getTerminal(model.getTermId()); + if (term == null) { + throw new ApiException("该装置不存在"); + } + if (StringUtils.isBlank(term.getIccid())) { + throw new ApiException("该装置缺少iccid"); + } + if (Constants.NetType_Dahan.equals(term.getNetType()) || + Constants.NetType_Rabchaser.equals(term.getNetType())) { + smsAdapter.sendSms(term.getNetType(), term.getIccid(), model.getContent()); + } else { + throw new ApiException("该装置的网络运营商类型不正确"); + } + } +} 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 new file mode 100644 index 0000000..042315d --- /dev/null +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/SmsService.java @@ -0,0 +1,9 @@ +package com.shxy.xymanager_service.service; + +import com.shxy.xymanager_common.model.SmsModel; + + +public interface SmsService { + + void sendSms(SmsModel model); +}