zhongrj
2023-06-02 ebf10ccf6217dfeebad750b4f4bb9ef4d9af68b0
新增告警模块,告警相关(告警信息,短信相关)代码从 sm 模块抽离
17 files modified
70 files renamed
12 files added
18 files deleted
2482 ■■■■■ changed files
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/constant/LauncherConstant.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/constant/SmsConstant.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/pom.xml 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/pom.xml 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecordDetail.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRule.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRuleDetail.java 4 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordDetailVO.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRuleDetailVO.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRuleVO.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRecord.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRequest.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsTemplate.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/feign/ISmsRecordClient.java 36 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/feign/ISmsRecordClientFallback.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsRecordVO.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsResultVO.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsTemplateVO.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/constant/CallConstant.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/constant/ZtConstant.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTaskResult.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/Head.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/Scene.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdBaseParam.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdCallDetailParam.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdCreateTaskParam.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdDetailParam.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdPartyResult.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdPlainResult.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdRequestHead.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdRequestParam.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallBackDetailVO.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskResultVO.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztmd/feign/IAttResManagePersonClient.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztmd/feign/IAttResManagePersonClientFallback.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/pom.xml 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/pom.xml 74 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/AlertsApplication.java 24 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordDetailController.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRuleController.java 12 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRuleDetailController.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordDetailMapper.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordDetailMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleDetailMapper.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleDetailMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.xml 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordDetailService.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleDetailService.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleService.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordDetailServiceImpl.java 11 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleDetailServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/launch/AlertsLauncherServiceImpl.java 48 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java 265 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsRecordController.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsResultController.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsTemplateController.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java 52 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsRecordService.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsResultService.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsTemplateService.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java 50 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsRecordServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsResultServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java 76 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsTemplateServiceImpl.java 10 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/util/SmsUtils.java 125 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/vo/SmsRequestTemplate.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/resources/application-dev.yml 43 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/resources/application-prod.yml 41 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/PtInfoConstant.java 15 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/ZtApiDataColumnConstant.java 25 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/ZtApiUrlConstant.java 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/ZtConfigConstant.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/controller/NoticeController.java 34 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/controller/NoticeTypeController.java 28 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/entity/Notice.java 24 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/enums/PersonEnum.java 57 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/NoticeStrategyContext.java 60 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/NoticeTypeStrategyContext.java 30 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/INoticeService.java 19 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/InStationNoticeServiceImpl.java 25 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/NoticeStrategyImpl.java 466 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/SmsNoticeServiceImpl.java 27 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/TelNoticeServiceImpl.java 24 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/util/FormatUtil.java 57 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/vo/PersonVO.java 27 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java 25 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java 226 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/SmsService.java 31 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/util/SmsUtils.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/constant/LauncherConstant.java
@@ -40,7 +40,7 @@
    /**
     * nacos dev 地址
     */
    String NACOS_DEV_ADDR = "127.0.0.1:8848";
    String NACOS_DEV_ADDR = "127.0.0.1:8849";
    /**
     * nacos prod 地址
skjcmanager/skjcmanager-common/src/main/java/cn/gistack/common/constant/SmsConstant.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/constant/SmsConstant.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.sms.constant;
package cn.gistack.common.constant;
/**
 * 短信常量
skjcmanager/skjcmanager-service-api/pom.xml
@@ -22,6 +22,7 @@
        <module>skjcmanager-system-api</module>
        <module>skjcmanager-user-api</module>
        <module>skjcmanager-sm-api</module>
        <module>skjcmanager-alerts-api</module>
    </modules>
    <dependencies>
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/pom.xml
New file
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>skjcmanager-service</artifactId>
        <groupId>cn.gistack</groupId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>skjcmanager-alerts-api</artifactId>
    <name>${project.artifactId}</name>
    <version>${bladex.project.version}</version>
    <packaging>jar</packaging>
</project>
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRecord.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.alarmRule.entity;
package cn.gistack.alerts.alarmRule.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecordDetail.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRecordDetail.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.alarmRule.entity;
package cn.gistack.alerts.alarmRule.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRule.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRule.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.alarmRule.entity;
package cn.gistack.alerts.alarmRule.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRuleDetail.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRuleDetail.java
@@ -1,13 +1,11 @@
package cn.gistack.sm.alarmRule.entity;
package cn.gistack.alerts.alarmRule.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serializable;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordDetailVO.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRecordDetailVO.java
@@ -1,6 +1,6 @@
package cn.gistack.sm.alarmRule.vo;
package cn.gistack.alerts.alarmRule.vo;
import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail;
import lombok.Data;
/**
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRecordVO.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRecordVO.java
@@ -1,6 +1,6 @@
package cn.gistack.sm.alarmRule.vo;
package cn.gistack.alerts.alarmRule.vo;
import cn.gistack.sm.alarmRule.entity.AlarmRecord;
import cn.gistack.alerts.alarmRule.entity.AlarmRecord;
import lombok.Data;
/**
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRuleDetailVO.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRuleDetailVO.java
@@ -1,6 +1,6 @@
package cn.gistack.sm.alarmRule.vo;
package cn.gistack.alerts.alarmRule.vo;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail;
import lombok.Data;
/**
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/vo/AlarmRuleVO.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRuleVO.java
@@ -1,7 +1,6 @@
package cn.gistack.sm.alarmRule.vo;
package cn.gistack.alerts.alarmRule.vo;
import cn.gistack.sm.alarmRule.entity.AlarmRule;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.alerts.alarmRule.entity.AlarmRule;
import lombok.Data;
import java.util.List;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRecord.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRecord.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.sms.entity;
package cn.gistack.alerts.sms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRequest.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.sms.entity;
package cn.gistack.alerts.sms.entity;
import lombok.Data;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsResult.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsResult.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.sms.entity;
package cn.gistack.alerts.sms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
@@ -7,7 +7,6 @@
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
/**
 * 短信发送结果
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsTemplate.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java
@@ -1,4 +1,4 @@
package cn.gistack.sm.sms.entity;
package cn.gistack.alerts.sms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/feign/ISmsRecordClient.java
New file
@@ -0,0 +1,36 @@
package cn.gistack.alerts.sms.feign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * 短信发送记录
 * @author zhongrj
 */
@FeignClient(
    value = "blade-alerts",
    fallback = ISmsRecordClientFallback.class
)
public interface ISmsRecordClient {
    String API_PREFIX = "/client";
    String SAVE_SMS_RECORD = API_PREFIX + "/saveSmsRecord";
    /**
     * 保存短信发送记录
     * @param userNumber
     * @param messageContent
     * @param templateId
     * @param code
     * @param msg
     * @param number
     */
    @GetMapping(SAVE_SMS_RECORD)
    void saveSmsRecord(@RequestParam("userNumber")String userNumber,
                       @RequestParam("messageContent")String messageContent,
                       @RequestParam("templateId")String templateId,
                       @RequestParam("code")Integer code,
                       @RequestParam("msg")String msg,
                       @RequestParam("number")Integer number);
}
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/feign/ISmsRecordClientFallback.java
New file
@@ -0,0 +1,20 @@
package cn.gistack.alerts.sms.feign;
import org.springframework.stereotype.Component;
/**
 * @ClassName Feign失败配置
 * @Description TODO
 * @Author aix
 * @Date 2023/4/23 19:40
 * @Version 1.0
 */
@Component
public class ISmsRecordClientFallback implements ISmsRecordClient{
    @Override
    public void saveSmsRecord(String userNumber, String messageContent, String templateId, Integer code, String msg, Integer number) {
    }
}
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsRecordVO.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/vo/SmsRecordVO.java
@@ -1,6 +1,6 @@
package cn.gistack.sm.sms.vo;
package cn.gistack.alerts.sms.vo;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.entity.SmsRecord;
import lombok.Data;
/**
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsResultVO.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/vo/SmsResultVO.java
@@ -1,6 +1,6 @@
package cn.gistack.sm.sms.vo;
package cn.gistack.alerts.sms.vo;
import cn.gistack.sm.sms.entity.SmsResult;
import cn.gistack.alerts.sms.entity.SmsResult;
import lombok.Data;
/**
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsTemplateVO.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/vo/SmsTemplateVO.java
@@ -1,6 +1,6 @@
package cn.gistack.sm.sms.vo;
package cn.gistack.alerts.sms.vo;
import cn.gistack.sm.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import lombok.Data;
/**
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/constant/CallConstant.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/constant/ZtConstant.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTask.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/CallTaskResult.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/Head.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/Scene.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdBaseParam.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdCallDetailParam.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdCreateTaskParam.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdDetailParam.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdPartyResult.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdPlainResult.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdRequestHead.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/entity/ThirdRequestParam.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallBackDetailVO.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskResultVO.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztmd/feign/IAttResManagePersonClient.java
@@ -1,10 +1,13 @@
package cn.gistack.sm.sjztmd.feign;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
 * @ClassName AttResManagePersonClent
@@ -22,6 +25,8 @@
    String API_PREFIX = "/client";
    String QUERY_LIST_BY_PHONE = API_PREFIX + "/queryListByPhone";
    String GET_AD_BASE = API_PREFIX + "/getAdBaseById";
    String GET_PERSONG_LIST_BY_RES_GUID = API_PREFIX + "/getPersonListByResGuid";
    String GET_USER_LIST_BY_RES_GUID = API_PREFIX + "/getUserListByResGuid";
    @GetMapping(QUERY_LIST_BY_PHONE)
    R queryListByPhone(@RequestParam("userPhone") String userPhone);
@@ -29,4 +34,20 @@
    @GetMapping(GET_AD_BASE)
    R getAdBaseById(@RequestParam("guid") String guid);
    /**
     * 根据水库编号及责任人类型查询相关责任人信息
     * @param res_cd
     * @param personList
     * @return
     */
    @GetMapping(GET_PERSONG_LIST_BY_RES_GUID)
    List<PersonVO> getPersonListByResGuid(@RequestParam("res_cd") String res_cd, @RequestParam("personList") String personList);
    /**
     * 根据水库编号查询除责任人之外的人员信息
     * @param res_cd
     * @return
     */
    @GetMapping(GET_USER_LIST_BY_RES_GUID)
    List<PersonVO> getUserListByResGuid(@RequestParam("res_cd") String res_cd);
}
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztmd/feign/IAttResManagePersonClientFallback.java
@@ -1,8 +1,11 @@
package cn.gistack.sm.sjztmd.feign;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * @ClassName Feign失败配置
@@ -24,4 +27,13 @@
        return R.fail("获取数据失败");
    }
    @Override
    public List<PersonVO> getPersonListByResGuid(String res_cd, String personList) {
        return null;
    }
    @Override
    public List<PersonVO> getUserListByResGuid(String res_cd) {
        return null;
    }
}
skjcmanager/skjcmanager-service/pom.xml
@@ -22,6 +22,7 @@
        <module>skjcmanager-system</module>
        <module>skjcmanager-user</module>
        <module>skjcmanager-sm</module>
        <module>skjcmanager-alerts</module>
    </modules>
    <dependencies>
skjcmanager/skjcmanager-service/skjcmanager-alerts/pom.xml
New file
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>skjcmanager-service</artifactId>
        <groupId>cn.gistack</groupId>
        <version>3.0.1.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>skjcmanager-alerts</artifactId>
    <name>${project.artifactId}</name>
    <version>${bladex.project.version}</version>
    <packaging>jar</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-core-boot</artifactId>
        </dependency>
        <!--开启多数据源-->
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-core-auto</artifactId>
            <scope>compile</scope>
        </dependency>
        <!--引入 sms 短信 sdk -->
        <dependency>
            <groupId>cn.com.flaginfo.sdk.cmc</groupId>
            <artifactId>send-api-sdk</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>cn.gistack</groupId>
            <artifactId>skjcmanager-sm-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>cn.gistack</groupId>
            <artifactId>skjcmanager-alerts-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>cn.gistack</groupId>
            <artifactId>skjcmanager-user-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <configuration>
                    <username>${docker.username}</username>
                    <password>${docker.password}</password>
                    <repository>${docker.registry.url}/${docker.namespace}/${project.artifactId}</repository>
                    <tag>${project.version}</tag>
                    <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                    <skip>false</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/AlertsApplication.java
New file
@@ -0,0 +1,24 @@
package cn.gistack.alerts;
import org.mybatis.spring.annotation.MapperScan;
import org.springblade.core.cloud.client.BladeCloudApplication;
import org.springblade.core.launch.BladeApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@BladeCloudApplication
@EnableFeignClients({"cn.gistack"})
@MapperScan({"org.springblade.**.mapper.**","cn.gistack.alerts.**.mapper.**"})
public class AlertsApplication {
    public static void main(String[] args) {
        BladeApplication.run("blade-alerts", AlertsApplication.class, args);
    }
    @Bean
    public RestTemplate restTemplate(RestTemplateBuilder builder){
        return builder.build();
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRecordController.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.alarmRule.controller;
package cn.gistack.alerts.alarmRule.controller;
import cn.gistack.sm.alarmRule.entity.AlarmRecord;
import cn.gistack.sm.alarmRule.service.AlarmRecordService;
import cn.gistack.sm.alarmRule.vo.AlarmRecordVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecord;
import cn.gistack.alerts.alarmRule.service.AlarmRecordService;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordDetailController.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRecordDetailController.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.alarmRule.controller;
package cn.gistack.alerts.alarmRule.controller;
import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.sm.alarmRule.service.AlarmRecordDetailService;
import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.alerts.alarmRule.service.AlarmRecordDetailService;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordDetailVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRuleController.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRuleController.java
@@ -1,10 +1,10 @@
package cn.gistack.sm.alarmRule.controller;
package cn.gistack.alerts.alarmRule.controller;
import cn.gistack.sm.alarmRule.entity.AlarmRule;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.sm.alarmRule.service.AlarmRuleDetailService;
import cn.gistack.sm.alarmRule.service.AlarmRuleService;
import cn.gistack.sm.alarmRule.vo.AlarmRuleVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRule;
import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.alerts.alarmRule.service.AlarmRuleDetailService;
import cn.gistack.alerts.alarmRule.service.AlarmRuleService;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRuleDetailController.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRuleDetailController.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.alarmRule.controller;
package cn.gistack.alerts.alarmRule.controller;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.sm.alarmRule.service.AlarmRuleDetailService;
import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.alerts.alarmRule.service.AlarmRuleDetailService;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleDetailVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordDetailMapper.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.java
@@ -1,8 +1,7 @@
package cn.gistack.sm.alarmRule.mapper;
package cn.gistack.alerts.alarmRule.mapper;
import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
import cn.gistack.sm.alarmRule.vo.AlarmRecordVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordDetailVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordDetailMapper.xml
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.alarmRule.mapper.AlarmRecordDetailMapper">
<mapper namespace="cn.gistack.alerts.alarmRule.mapper.AlarmRecordDetailMapper">
    <!--自定义分页列表查询-->
    <select id="selectAlarmRecordDetailPage" resultType="cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO">
    <select id="selectAlarmRecordDetailPage" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRecordDetailVO">
        select * from sm_alarm_record_detail
        where 1=1
    </select>
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordMapper.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.alarmRule.mapper;
package cn.gistack.alerts.alarmRule.mapper;
import cn.gistack.sm.alarmRule.entity.AlarmRecord;
import cn.gistack.sm.alarmRule.vo.AlarmRecordVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecord;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.alarmRule.mapper.AlarmRecordMapper">
<mapper namespace="cn.gistack.alerts.alarmRule.mapper.AlarmRecordMapper">
    <!--自定义分页列表查询-->
    <select id="selectAlarmRecordPage" resultType="cn.gistack.sm.alarmRule.vo.AlarmRecordVO">
    <select id="selectAlarmRecordPage" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRecordVO">
        select
        sar.*,
        sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType,
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleDetailMapper.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleDetailMapper.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.alarmRule.mapper;
package cn.gistack.alerts.alarmRule.mapper;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleDetailVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleDetailMapper.xml
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleDetailMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.alarmRule.mapper.AlarmRuleDetailMapper">
<mapper namespace="cn.gistack.alerts.alarmRule.mapper.AlarmRuleDetailMapper">
    <!--自定义分页列表查询-->
    <select id="selectAlarmRuleDetailPage" resultType="cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO">
    <select id="selectAlarmRuleDetailPage" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRuleDetailVO">
        select * from sm_alarm_rule_detail
    </select>
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleMapper.java
@@ -1,9 +1,8 @@
package cn.gistack.sm.alarmRule.mapper;
package cn.gistack.alerts.alarmRule.mapper;
import cn.gistack.sm.alarmRule.entity.AlarmRule;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO;
import cn.gistack.sm.alarmRule.vo.AlarmRuleVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRule;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleDetailVO;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRuleMapper.xml
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.alarmRule.mapper.AlarmRuleMapper">
<mapper namespace="cn.gistack.alerts.alarmRule.mapper.AlarmRuleMapper">
    <!--自定义分页列表查询-->
    <select id="selectAlarmRulePage" resultType="cn.gistack.sm.alarmRule.vo.AlarmRuleVO">
    <select id="selectAlarmRulePage" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRuleVO">
        select sar.* from YWXT.sm_alarm_rule sar where sar.is_deleted = 0
        <if test="alarmRule.type!=null and alarmRule.type!=''">
            and sar.type = #{alarmRule.type}
@@ -20,12 +20,12 @@
    </select>
    <!--通过id查询-->
    <select id="getDetailById" resultType="cn.gistack.sm.alarmRule.vo.AlarmRuleVO">
    <select id="getDetailById" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRuleVO">
        select * from sm_alarm_rule where is_deleted = 0 and id = #{id}
    </select>
    <!--通过id查询-->
    <select id="getAlarmRuleDetailList" resultType="cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO">
    <select id="getAlarmRuleDetailList" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRuleDetailVO">
        select sard.*,sst.content as alarmContent
        from sm_alarm_rule_detail sard left join sm_sms_template sst on sard.template_id = sst.template_id
        where sard.alarm_rule_id = #{id}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordDetailService.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRecordDetailService.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.alarmRule.service;
package cn.gistack.alerts.alarmRule.service;
import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordDetailVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRecordService.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.alarmRule.service;
package cn.gistack.alerts.alarmRule.service;
import cn.gistack.sm.alarmRule.entity.AlarmRecord;
import cn.gistack.sm.alarmRule.vo.AlarmRecordVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecord;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleDetailService.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRuleDetailService.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.alarmRule.service;
package cn.gistack.alerts.alarmRule.service;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleDetailVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRuleService.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRuleService.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.alarmRule.service;
package cn.gistack.alerts.alarmRule.service;
import cn.gistack.sm.alarmRule.entity.AlarmRule;
import cn.gistack.sm.alarmRule.vo.AlarmRuleVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRule;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordDetailServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRecordDetailServiceImpl.java
@@ -1,12 +1,11 @@
package cn.gistack.sm.alarmRule.service.impl;
package cn.gistack.alerts.alarmRule.service.impl;
import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.sm.alarmRule.mapper.AlarmRecordDetailMapper;
import cn.gistack.sm.alarmRule.service.AlarmRecordDetailService;
import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.alerts.alarmRule.mapper.AlarmRecordDetailMapper;
import cn.gistack.alerts.alarmRule.service.AlarmRecordDetailService;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordDetailVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRecordServiceImpl.java
@@ -1,9 +1,9 @@
package cn.gistack.sm.alarmRule.service.impl;
package cn.gistack.alerts.alarmRule.service.impl;
import cn.gistack.sm.alarmRule.entity.AlarmRecord;
import cn.gistack.sm.alarmRule.mapper.AlarmRecordMapper;
import cn.gistack.sm.alarmRule.service.AlarmRecordService;
import cn.gistack.sm.alarmRule.vo.AlarmRecordVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRecord;
import cn.gistack.alerts.alarmRule.mapper.AlarmRecordMapper;
import cn.gistack.alerts.alarmRule.service.AlarmRecordService;
import cn.gistack.alerts.alarmRule.vo.AlarmRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleDetailServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRuleDetailServiceImpl.java
@@ -1,9 +1,9 @@
package cn.gistack.sm.alarmRule.service.impl;
package cn.gistack.alerts.alarmRule.service.impl;
import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.sm.alarmRule.mapper.AlarmRuleDetailMapper;
import cn.gistack.sm.alarmRule.service.AlarmRuleDetailService;
import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRuleDetail;
import cn.gistack.alerts.alarmRule.mapper.AlarmRuleDetailMapper;
import cn.gistack.alerts.alarmRule.service.AlarmRuleDetailService;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleDetailVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRuleServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRuleServiceImpl.java
@@ -1,9 +1,9 @@
package cn.gistack.sm.alarmRule.service.impl;
package cn.gistack.alerts.alarmRule.service.impl;
import cn.gistack.sm.alarmRule.entity.AlarmRule;
import cn.gistack.sm.alarmRule.mapper.AlarmRuleMapper;
import cn.gistack.sm.alarmRule.service.AlarmRuleService;
import cn.gistack.sm.alarmRule.vo.AlarmRuleVO;
import cn.gistack.alerts.alarmRule.entity.AlarmRule;
import cn.gistack.alerts.alarmRule.mapper.AlarmRuleMapper;
import cn.gistack.alerts.alarmRule.service.AlarmRuleService;
import cn.gistack.alerts.alarmRule.vo.AlarmRuleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/launch/AlertsLauncherServiceImpl.java
New file
@@ -0,0 +1,48 @@
package cn.gistack.alerts.launch;
import org.springblade.core.auto.service.AutoService;
import cn.gistack.common.constant.LauncherConstant;
import org.springblade.core.launch.service.LauncherService;
import org.springblade.core.launch.utils.PropsUtil;
import org.springframework.boot.builder.SpringApplicationBuilder;
import java.util.Properties;
/**
 * 启动参数拓展
 *
 * @author smallchil
 */
@AutoService(LauncherService.class)
public class AlertsLauncherServiceImpl implements LauncherService {
    @Override
    public void launcher(SpringApplicationBuilder builder, String appName, String profile, boolean isLocalDev) {
        Properties props = System.getProperties();
        // 通用注册
        PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.server-addr", LauncherConstant.nacosAddr(profile));
        PropsUtil.setProperty(props, "spring.cloud.nacos.config.server-addr", LauncherConstant.nacosAddr(profile));
        PropsUtil.setProperty(props, "spring.cloud.sentinel.transport.dashboard", LauncherConstant.sentinelAddr(profile));
        PropsUtil.setProperty(props, "spring.zipkin.base-url", LauncherConstant.zipkinAddr(profile));
        //开启多数据源
        PropsUtil.setProperty(props, "spring.datasource.dynamic.enabled", "true");
        // 开启elk日志
        // PropsUtil.setProperty(props, "blade.log.elk.destination", LauncherConstant.elkAddr(profile));
        // seata注册地址
        // PropsUtil.setProperty(props, "seata.service.grouplist.default", LauncherConstant.seataAddr(profile));
        // seata注册group格式
        // PropsUtil.setProperty(props, "seata.tx-service-group", LauncherConstant.seataServiceGroup(appName));
        // seata配置服务group
        // PropsUtil.setProperty(props, "seata.service.vgroup-mapping.".concat(LauncherConstant.seataServiceGroup(appName)), LauncherConstant.DEFAULT_MODE);
        // seata注册模式配置
        // PropsUtil.setProperty(props, "seata.registry.type", LauncherConstant.NACOS_MODE);
        // PropsUtil.setProperty(props, "seata.registry.nacos.server-addr", LauncherConstant.nacosAddr(profile));
        // PropsUtil.setProperty(props, "seata.config.type", LauncherConstant.NACOS_MODE);
        // PropsUtil.setProperty(props, "seata.config.nacos.server-addr", LauncherConstant.nacosAddr(profile));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
New file
@@ -0,0 +1,265 @@
package cn.gistack.alerts.sms.controller;
import cn.com.flaginfo.sdk.cmc.api.result.ComResult;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.alerts.sms.entity.SmsRequest;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.service.SmsService;
import cn.gistack.alerts.sms.util.SmsUtils;
import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static cn.gistack.common.cache.CacheNames.PHONE_KEY;
/**
 * 短信发送控制层
 * @author zhongrj
 * @date 2023-04-22
 */
@Slf4j
@RestController
@RequestMapping("/sms/sms")
@AllArgsConstructor
public class SmsController {
    private final SmsService smsService;
    private final BladeRedis bladeRedis;
    private final IUserClient userClient;
    @GetMapping("/test")
    public void setRedis(){
        saveCodeForRedis("super_admin","123456");
    }
    /**
     * 短信固定内容发送通用方法(仅支持 {xx} 模式的模板)
     * request 必须包含手机号,模板id,拼接好的内容
     * @param request
     * @return
     */
    @PostMapping("/sendFixedContentByXXModel")
    public R sendFixedContentByXXModel(@RequestBody SMSSendRequest request){
        // 手机号码校验
        if(validatePhone(request.getUserNumber())) {
            // 发送操作
            ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
            // 记录发送记录操作
            SmsResult smsResult = smsService.saveSendResult(request, 1);
            if (null != smsResult){
                smsService.saveSendRecord(request, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId());
            }
            // 返回发送信息
            return R.data(resultComResult);
        }
        // 返回发送信息
        return R.fail(400,"该手机号不存在!");
    }
    /**
     * 短信动态内容发送通用方法(仅支持 具名变量 {手机号码:11} 模式的模板)
     * request 必须包含手机号,模板id,拼接好的内容
     * @param smsRequest
     * @return
     */
    @PostMapping("/sendFixedContentByNamedVariableModel")
    public R sendFixedContentByNamedVariableModel(@RequestBody SmsRequest smsRequest){
        // 处理数据(可能是多个手机号情况)
        List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
        // 保存发送结果
        // 记录保存
        SMSSendRequest request = new SMSSendRequest();
        request.setMessageContent(smsRequest.getContent());
        request.setTemplateId(smsRequest.getTemplateId());
        SmsResult smsResult = smsService.saveSendResult(request, list.size());
        // 遍历
        for (String phone : list) {
            DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
            dynSMSSendRequest.setTemplateId(smsRequest.getTemplateId());
            dynSMSSendRequest.setDynData(smsRequest.getParams());
            // 手机号校验
            if(validator(phone)) {
                // 发送邮件短信
                ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(dynSMSSendRequest);
                // 记录保存
                if (null != smsResult) {
                    SMSSendRequest smsSendRequest = new SMSSendRequest();
                    smsSendRequest.setUserNumber(phone);
                    smsSendRequest.setMessageContent(smsRequest.getContent());
                    smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                    // 记录发送记录操作
                    smsService.saveSendRecord(smsSendRequest, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId());
                }
            }else {
                // 手机号有误记录
                // 记录保存
                SMSSendRequest smsSendRequest = new SMSSendRequest();
                smsSendRequest.setUserNumber(phone);
                smsSendRequest.setMessageContent(smsRequest.getContent());
                smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                // 记录发送记录操作
                smsService.saveSendRecord(smsSendRequest, 400,"手机号错误未发送...",null);
            }
        }
        return R.status(true);
    }
    /**
     * 发送登录验证码
     * request 必须包含手机号
     * @param request
     * @return
     */
    @PostMapping("/sendCode")
    public R sendCode(@RequestBody SMSSendRequest request){
        // 手机号码校验
        if(validatePhone(request.getUserNumber())) {
            //设置模板相关信息
            String templateId = "2431012205498";
            String randNumber = SmsUtils.getRandNumber();
            String content = "您的登录验证码是" + randNumber + ",5分钟内有效,请勿泄漏,如非本人操作,请忽略此信息";
            request.setMessageContent(content);
            request.setTemplateId(templateId);
            // 发送操作
            ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
            // 记录发送记录操作
            SmsResult smsResult = smsService.saveSendResult(request, 1);
            if (null != smsResult){
                smsService.saveSendRecord(request, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId());
            }
            // 保存验证码到 redis
            saveCodeForRedis(request.getUserNumber(), randNumber);
            // 返回发送信息
            return R.data(resultComResult);
        }
        // 返回发送信息
        return R.fail(400,"该手机号不存在!");
    }
    /**
     * 校验手机号码正确性
     * @param userNumber
     * @return
     */
    private boolean validatePhone(String userNumber) {
        // 校验手机号码正确性
        if (validator(userNumber)){
            // 校验该账户是否已注册,通过手机号查询用户是否存在,tenantId 暂时写死,未登陆情况 tenantId 获取不到
            R<List<User>> list = userClient.userInfoByPhoneOrAccount("000000", userNumber);
            if (list.getData().size()>0){
                return true;
            }
            return false;
        }
        return false;
    }
    /**
     * 校验手机号码
     */
    public static boolean validator(String phone) {
        if (null!=phone && !phone.equals("")) {
            String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$";
            if (phone.length() != 11) {
                return false;
            } else {
                Pattern p = Pattern.compile(regex);
                Matcher m = p.matcher(phone);
                boolean isMatch = m.matches();
                return isMatch;
            }
        }
        return false;
    }
    /**
     * 保存验证码到 redis
     * @param userNumber
     * @param randNumber
     */
    private void saveCodeForRedis(String userNumber, String randNumber) {
        bladeRedis.setEx(PHONE_KEY + userNumber,randNumber,5*60L);
    }
    /**
     * 发送邮件提醒
     * @param smsRequest
     * @return
     */
    @PostMapping("/sendEmailMsg")
    public R sendEmailMsg(@RequestBody SmsRequest smsRequest){
        // 处理数据(可能是多个手机号情况)
        List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
        // 保存发送结果
        // 记录保存
        SMSSendRequest request = new SMSSendRequest();
        request.setMessageContent(smsRequest.getContent());
        request.setTemplateId("2431012165299");
        SmsResult smsResult = smsService.saveSendResult(request, list.size());
        // 遍历
        for (String phone : list) {
            DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
            dynSMSSendRequest.setTemplateId("2431012165299");
            dynSMSSendRequest.setDynData(new String[][]{{"手机号码", "标题"}, {phone, smsRequest.getContent()}});
            // 手机号校验
            if(validator(phone)) {
                // 发送邮件短信
                ComResult<DynSMSSendDataResult> resultComResult = SmsUtils.dynSendMethod(dynSMSSendRequest);
                // 记录保存
                if (null != smsResult) {
                    SMSSendRequest smsSendRequest = new SMSSendRequest();
                    smsSendRequest.setUserNumber(phone);
                    smsSendRequest.setMessageContent(smsRequest.getContent());
                    smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                    // 记录发送记录操作
                    smsService.saveSendRecord(smsSendRequest, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId());
                }
            }else {
                // 手机号有误记录
                // 记录保存
                SMSSendRequest smsSendRequest = new SMSSendRequest();
                smsSendRequest.setUserNumber(phone);
                smsSendRequest.setMessageContent(smsRequest.getContent());
                smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                // 记录发送记录操作
                smsService.saveSendRecord(smsSendRequest, 400,"手机号错误未发送...",null);
            }
        }
        return R.status(true);
    }
    /**
     * 发送 xx 变量模板短信
     * @param smsRequest 发送对象
     * @return
     */
    @PostMapping("/sendXXMsg")
    public R sendXXMsg(@RequestBody SmsRequestTemplate smsRequest){
        return R.data(smsService.sendXXMsg(smsRequest.getSmsRequest(),smsRequest.getPhoneNumbers()));
    }
    /**
     * 发送 具名 变量模板短信
     * @param smsRequest 发送对象
     * @return
     */
    @PostMapping("/sendSignMsg")
    public R sendSignMsg(@RequestBody SmsRequestTemplate smsRequest){
        return R.data(smsService.sendSignMsg(smsRequest));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsRecordController.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsRecordController.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.sms.controller;
package cn.gistack.alerts.sms.controller;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.service.ISmsRecordService;
import cn.gistack.sm.sms.vo.SmsRecordVO;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.service.ISmsRecordService;
import cn.gistack.alerts.sms.vo.SmsRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -13,6 +13,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
/**
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsResultController.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsResultController.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.sms.controller;
package cn.gistack.alerts.sms.controller;
import cn.gistack.sm.sms.entity.SmsResult;
import cn.gistack.sm.sms.service.ISmsResultService;
import cn.gistack.sm.sms.vo.SmsResultVO;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.service.ISmsResultService;
import cn.gistack.alerts.sms.vo.SmsResultVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsTemplateController.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsTemplateController.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.sms.controller;
package cn.gistack.alerts.sms.controller;
import cn.gistack.sm.sms.entity.SmsTemplate;
import cn.gistack.sm.sms.service.ISmsTemplateService;
import cn.gistack.sm.sms.vo.SmsTemplateVO;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.service.ISmsTemplateService;
import cn.gistack.alerts.sms.vo.SmsTemplateVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java
New file
@@ -0,0 +1,52 @@
package cn.gistack.alerts.sms.feign;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.service.SmsService;
import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
 * 短信发送记录
 * @author zhongrj
 * @date 2023-06-02
 */
@NonDS
@ApiIgnore
@RestController
@AllArgsConstructor
public class SmsRecordClient implements ISmsRecordClient {
    private final SmsService smsService;
    /**
     * 短信记录发送保存
     * @param userNumber
     * @param messageContent
     * @param templateId
     * @param code
     * @param msg
     * @param number
     */
    @Override
    @GetMapping(SAVE_SMS_RECORD)
    public void saveSmsRecord(String userNumber,
                              String messageContent,
                              String templateId,
                              Integer code,
                              String msg,
                              Integer number) {
        SMSSendRequest request = new SMSSendRequest();
        request.setUserNumber(userNumber);
        request.setTemplateId(templateId);
        request.setMessageContent(messageContent);
        // 记录发送记录操作
        SmsResult smsResult = smsService.saveSendResult(request, number);
        if (null != smsResult){
            smsService.saveSendRecord(request, code,msg,smsResult.getId());
        }
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.sms.mapper;
package cn.gistack.alerts.sms.mapper;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.vo.SmsRecordVO;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.vo.SmsRecordVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.xml
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.sms.mapper.SmsRecordMapper">
<mapper namespace="cn.gistack.alerts.sms.mapper.SmsRecordMapper">
    <!--自定义分页列表查询-->
    <select id="selectSmsRecordPage" resultType="cn.gistack.sm.sms.vo.SmsRecordVO">
    <select id="selectSmsRecordPage" resultType="cn.gistack.alerts.sms.vo.SmsRecordVO">
        select * from sm_sms_record where 1=1 and is_deleted = 0
        <if test="smsRecord.phone!=null and smsRecord.phone!=''">
            and phone like concat(concat('%',#{smsRecord.phone}),'%')
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.java
@@ -1,10 +1,11 @@
package cn.gistack.sm.sms.mapper;
package cn.gistack.alerts.sms.mapper;
import cn.gistack.sm.sms.entity.SmsResult;
import cn.gistack.sm.sms.vo.SmsResultVO;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.vo.SmsResultVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsResultMapper.xml
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.sms.mapper.SmsResultMapper">
<mapper namespace="cn.gistack.alerts.sms.mapper.SmsResultMapper">
    <!--自定义分页列表查询-->
    <select id="selectSmsResultPage" resultType="cn.gistack.sm.sms.vo.SmsResultVO">
    <select id="selectSmsResultPage" resultType="cn.gistack.alerts.sms.vo.SmsResultVO">
        select * from sm_sms_result where 1=1 and is_deleted = 0
        order by id desc
    </select>
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsTemplateMapper.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.sms.mapper;
package cn.gistack.alerts.sms.mapper;
import cn.gistack.sm.sms.entity.SmsTemplate;
import cn.gistack.sm.sms.vo.SmsTemplateVO;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.vo.SmsTemplateVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsTemplateMapper.xml
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsTemplateMapper.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.sm.sms.mapper.SmsTemplateMapper">
<mapper namespace="cn.gistack.alerts.sms.mapper.SmsTemplateMapper">
    <!--自定义列表查询-->
    <select id="selectSmsTemplatePage" resultType="cn.gistack.sm.sms.vo.SmsTemplateVO">
    <select id="selectSmsTemplatePage" resultType="cn.gistack.alerts.sms.vo.SmsTemplateVO">
        select * from sm_sms_template where is_deleted = 0
        <if test="smsTemplate.templateName!=null and smsTemplate.templateName!=''">
            and template_name like concat(concat('%',#{smsTemplate.templateName}),'%')
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsRecordService.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/ISmsRecordService.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.sms.service;
package cn.gistack.alerts.sms.service;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.vo.SmsRecordVO;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.vo.SmsRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsResultService.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/ISmsResultService.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.sms.service;
package cn.gistack.alerts.sms.service;
import cn.gistack.sm.sms.entity.SmsResult;
import cn.gistack.sm.sms.vo.SmsResultVO;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.vo.SmsResultVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsTemplateService.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/ISmsTemplateService.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.sms.service;
package cn.gistack.alerts.sms.service;
import cn.gistack.sm.sms.entity.SmsTemplate;
import cn.gistack.sm.sms.vo.SmsTemplateVO;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.vo.SmsTemplateVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
New file
@@ -0,0 +1,50 @@
package cn.gistack.alerts.sms.service;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
import java.util.List;
/**
 * 短信发送服务接口
 * @author zhongrj
 * @date 2023-05-30
 */
public interface SmsService {
    /**
     * 发送 xx 变量模板短信
     * @param phoneNumbers 手机号集合
     * @param request 内容对象
     * @return
     */
    Object sendXXMsg(SMSSendRequest request,
                     List<String> phoneNumbers);
    /**
     * 发送 具名 变量模板短信
     * @param smsRequestTemplate
     * @return
     */
    Object sendSignMsg(SmsRequestTemplate smsRequestTemplate);
    /**
     * 保存短信发送结果
     * @param request
     * @param number
     * @return
     */
    SmsResult saveSendResult(SMSSendRequest request, Integer number);
    /**
     * 短信发送记录保存
     * @param request
     * @param code
     * @param sendMsg
     * @param resultId
     * @return
     */
    SmsRecord saveSendRecord(SMSSendRequest request,Integer code, String sendMsg, Long resultId);
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsRecordServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/impl/SmsRecordServiceImpl.java
@@ -1,9 +1,9 @@
package cn.gistack.sm.sms.service.impl;
package cn.gistack.alerts.sms.service.impl;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.mapper.SmsRecordMapper;
import cn.gistack.sm.sms.service.ISmsRecordService;
import cn.gistack.sm.sms.vo.SmsRecordVO;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.mapper.SmsRecordMapper;
import cn.gistack.alerts.sms.service.ISmsRecordService;
import cn.gistack.alerts.sms.vo.SmsRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsResultServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/impl/SmsResultServiceImpl.java
@@ -1,9 +1,9 @@
package cn.gistack.sm.sms.service.impl;
package cn.gistack.alerts.sms.service.impl;
import cn.gistack.sm.sms.entity.SmsResult;
import cn.gistack.sm.sms.mapper.SmsResultMapper;
import cn.gistack.sm.sms.service.ISmsResultService;
import cn.gistack.sm.sms.vo.SmsResultVO;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.mapper.SmsResultMapper;
import cn.gistack.alerts.sms.service.ISmsResultService;
import cn.gistack.alerts.sms.vo.SmsResultVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/impl/SmsServiceImpl.java
@@ -1,20 +1,20 @@
package cn.gistack.sm.sms.service.impl;
package cn.gistack.alerts.sms.service.impl;
import cn.com.flaginfo.sdk.cmc.api.result.ComResult;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.sm.alarmRule.service.AlarmRecordDetailService;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.entity.SmsResult;
import cn.gistack.sm.sms.entity.SmsTemplate;
import cn.gistack.sm.sms.service.ISmsRecordService;
import cn.gistack.sm.sms.service.ISmsResultService;
import cn.gistack.sm.sms.service.SmsService;
import cn.gistack.sm.sms.util.SmsUtils;
import cn.gistack.sm.sms.vo.SmsRequestTemplate;
import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail;
import cn.gistack.alerts.alarmRule.service.AlarmRecordDetailService;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.service.ISmsRecordService;
import cn.gistack.alerts.sms.service.ISmsResultService;
import cn.gistack.alerts.sms.service.SmsService;
import cn.gistack.alerts.sms.util.SmsUtils;
import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -56,7 +56,7 @@
                ComResult<SMSSendDataResult> result = SmsUtils.sendMsg(request);
                if(null != smsResult) {
                    // 保存记录
                    saveSmsRecord(request, result.getCode(), result.getMsg(), smsResult.getId());
                    saveSendRecord(request, result.getCode(), result.getMsg(), smsResult.getId());
                }
                list.add(result);
            }
@@ -114,7 +114,7 @@
                // 设置内容
                request.setMessageContent(format);
                // 保存记录
                smsRecord = saveSmsRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId());
                smsRecord = saveSendRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId());
                if (null != smsRecord){
                    alarmRecordDetail.setAlarmContent(format);
                    alarmRecordDetail.setSendRecordId(smsRecord.getId());
@@ -159,7 +159,7 @@
        SmsRecord smsRecord = new SmsRecord();
        if (null != smsResult){
            // 保存记录
            smsRecord = saveSmsRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId());
            smsRecord = saveSendRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId());
        }
        Map<String, Object> map = new HashMap<>(2);
        map.put("smsRecord",smsRecord);
@@ -168,34 +168,14 @@
        return map;
    }
    /**
     * 保存发送短信记录信息
     * @param request
     * @param code 响应code
     * @param msg 响应消息
     * @param resultId
     */
    private SmsRecord saveSmsRecord(SMSSendRequest request,Integer code,String msg, Long resultId) {
        // 在保存明细
        SmsRecord smsRecord = new SmsRecord();
        smsRecord.setTel(request.getUserNumber());
        smsRecord.setContent(request.getMessageContent());
        smsRecord.setTemplateId(request.getTemplateId());
        smsRecord.setResultId(resultId);
        smsRecord.setResponseStatus(code.toString());
        smsRecord.setResponseMsg(msg);
        //插入记录
        smsRecordService.save(smsRecord);
        // 返回
        return smsRecord;
    }
    /**
     * 发送记录保存
     * @param request 发送信息
     * @param number 号码个数
     */
    private SmsResult saveSendResult(SMSSendRequest request,Integer number) {
    @Override
    public SmsResult saveSendResult(SMSSendRequest request,Integer number) {
        // 先保存结果表
        SmsResult smsResult = new SmsResult();
        smsResult.setTemplateId(request.getTemplateId());
@@ -209,4 +189,28 @@
        // 返回
        return null;
    }
    /**
     * 保存发送短信记录信息
     * @param request
     * @param code 响应code
     * @param sendMsg 响应消息
     * @param resultId
     */
    @Override
    public SmsRecord saveSendRecord(SMSSendRequest request, Integer code, String sendMsg, Long resultId) {
        // 在保存明细
        SmsRecord smsRecord = new SmsRecord();
        smsRecord.setTel(request.getUserNumber());
        smsRecord.setContent(request.getMessageContent());
        smsRecord.setTemplateId(request.getTemplateId());
        smsRecord.setResultId(resultId);
        smsRecord.setResponseStatus(code.toString());
        smsRecord.setResponseMsg(sendMsg);
        //插入记录
        smsRecordService.save(smsRecord);
        // 返回
        return smsRecord;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsTemplateServiceImpl.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/impl/SmsTemplateServiceImpl.java
@@ -1,9 +1,9 @@
package cn.gistack.sm.sms.service.impl;
package cn.gistack.alerts.sms.service.impl;
import cn.gistack.sm.sms.entity.SmsTemplate;
import cn.gistack.sm.sms.mapper.SmsTemplateMapper;
import cn.gistack.sm.sms.service.ISmsTemplateService;
import cn.gistack.sm.sms.vo.SmsTemplateVO;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.mapper.SmsTemplateMapper;
import cn.gistack.alerts.sms.service.ISmsTemplateService;
import cn.gistack.alerts.sms.vo.SmsTemplateVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/util/SmsUtils.java
New file
@@ -0,0 +1,125 @@
package cn.gistack.alerts.sms.util;
import cn.com.flaginfo.sdk.cmc.api.ApiProvider;
import cn.com.flaginfo.sdk.cmc.api.request.ApiConfig;
import cn.com.flaginfo.sdk.cmc.api.result.ComResult;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSAPI;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSApi;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.com.flaginfo.sdk.cmc.common.ApiEnum;
import cn.gistack.common.constant.SmsConstant;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import static cn.gistack.common.constant.SmsConstant.*;
/**
 * 短信发送工具类
 * @author zhongrj
 * @date 2023-05-30
 */
@Component
public class SmsUtils {
    /**
     * 固定内容发送
     */
    public static ComResult<SMSSendDataResult> sendMsg(SMSSendRequest sendRequest) {
        ApiConfig apiConfig = new ApiConfig(SpCode, AppKey, AppSecret);
        ApiProvider provider = ApiProvider.getInstance(apiConfig);
        //请求接口
        SMSApi api = (SMSApi) provider.getApi(ApiEnum.SENDSMS);
        api.setRequestUrl(SmsConstant.HOST + SmsConstant.sendUrl);
        //请求参数
        sendRequest.setSerialNumber(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
        ComResult<SMSSendDataResult> request = api.request(sendRequest);
        // 返回
        return request;
    }
    /**
     * 获取随机字符串
     * @return
     */
    public static String getRandNumber() {
        Random random = new Random();
        //把随机生成的数字转成字符串
        String str = String.valueOf(random.nextInt(9));
        for (int i = 0; i < 5; i++) {
            str += random.nextInt(9);
        }
        return str;
    }
    /**
     * 动态短信内容批量发送
     */
    public static ComResult<DynSMSSendDataResult> dynSendMethod(DynSMSSendRequest sendRequest) {
        ApiConfig apiConfig = new ApiConfig(SpCode, AppKey, AppSecret);
        ApiProvider provider = ApiProvider.getInstance(apiConfig);
        //请求接口
        DynSMSAPI api = (DynSMSAPI) provider.getApi(ApiEnum.SENDDYNSMS);
        api.setRequestUrl(SmsConstant.HOST + SmsConstant.sendVarUrl);
        //请求参数
        sendRequest.setSerialNumber(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
        ComResult<DynSMSSendDataResult> result = api.request(sendRequest);
        // 返回
        return result;
    }
    /**
     * 状态报告
     */
//    public void testReportMethod() {
//        //请求接口
//        SMSReportAPI api = (SMSReportAPI) provider.getApi(ApiEnum.REPORTSMS);
//        api.setRequestUrl(SmsConstant.HOST + "/info/sms/report");
//        //请求
//        ComResult<List<SMSReportResult>> result = api.request(new SMSReportRequest());
//        List<SMSReportResult> data = result.getData();
//        if (data.size() > 0) {
//            System.out.println(data.get(0).getResult());
//        }
//        System.out.println(JSON.toJSONString(data));
//        System.out.println(JSON.toJSONString(result));
//
//    }
    /**
     * 上行回复查询
     */
//    public void testReplyMethod() {
//        //请求接口
//        SMSReplyAPI api = (SMSReplyAPI) provider.getApi(ApiEnum.REPLYSMS);
//        api.setRequestUrl(SmsConstant.HOST + "/info/sms/reply/query");
//        SMSReplyRequest smsReplyRequest = new SMSReplyRequest();
//        //请求
//        ComResult<SMSReplyDataResult> result = api.request(smsReplyRequest);
//        System.out.println(result.getData().getMaxId());
//        if (result.getData().getApiSmsReplyBoList() != null && result.getData().getApiSmsReplyBoList().size() > 0) {
//            System.out.println(result.getData().getApiSmsReplyBoList().get(0).getContent());
//        }
//        System.out.println(JSON.toJSONString(result));
//    }
    /**
     * 上行回复查询数据收到确认
     */
//    public void testReplyConfirmMethod() {
//        //请求接口
//        SMSReplyConfirmAPI api = (SMSReplyConfirmAPI) provider.getApi(ApiEnum.REPLYSMSCONFIRM);
//        //请求Url
//        SMSReplyConfirmRequest req = new SMSReplyConfirmRequest();
//        api.setRequestUrl(SmsConstant.HOST + "/info/sms/reply/confirm");
//        req.setMaxId("10110572149");
//        ComResult request = api.request(req);
//        System.out.println(request.isSucc());
//        System.out.println(JSON.toJSONString(request));
//    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/vo/SmsRequestTemplate.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/vo/SmsRequestTemplate.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.sms.vo;
package cn.gistack.alerts.sms.vo;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.sm.notice.vo.PersonVO;
import cn.gistack.sm.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/resources/application-dev.yml
New file
@@ -0,0 +1,43 @@
#服务器端口
server:
  port: 8111
#数据源配置
#spring:
#  datasource:
#    url: ${blade.datasource.dev.url}
#    username: ${blade.datasource.dev.username}
#    password: ${blade.datasource.dev.password}
#多数据源配置
spring:
  #排除DruidDataSourceAutoConfigure
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
  datasource:
    dynamic:
      #设置默认的数据源或者数据源组,默认值即为master
      primary: master
      datasource:
        ## 业务默认数据源
        master:
          url: ${blade.datasource.dev.url}
          username: ${blade.datasource.dev.username}
          password: ${blade.datasource.dev.password}
        ##中台数据源
        zt:
          url: ${blade.datasource.dev.zt.url}
          username: ${blade.datasource.dev.zt.username}
          password: ${blade.datasource.dev.zt.password}
        # 智能外呼数据库
        ztznwh:
          url: ${blade.datasource.dev.ztznwh.url}
          username: ${blade.datasource.dev.ztznwh.username}
          password: ${blade.datasource.dev.ztznwh.password}
        ## 定时器数据源
        xxljob:
          url: ${blade.datasource.dev.xxljob.url}
          username: ${blade.datasource.dev.xxljob.username}
          password: ${blade.datasource.dev.xxljob.password}
  main:
    allow-circular-references: true
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/resources/application-prod.yml
New file
@@ -0,0 +1,41 @@
#服务器端口
server:
  port: 8110
#数据源配置
#spring:
#  datasource:
#    url: ${blade.datasource.prod.url}
#    username: ${blade.datasource.prod.username}
#    password: ${blade.datasource.prod.password}
#多数据源配置
spring:
  #排除DruidDataSourceAutoConfigure
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
  datasource:
    dynamic:
      #设置默认的数据源或者数据源组,默认值即为master
      primary: master
      datasource:
        master:
          url: ${blade.datasource.prod.url}
          username: ${blade.datasource.prod.username}
          password: ${blade.datasource.prod.password}
        zt:
          url: ${blade.datasource.prod.zt.url}
          username: ${blade.datasource.prod.zt.username}
          password: ${blade.datasource.prod.zt.password}
        # 智能外呼数据库
        ztznwh:
          url: ${blade.datasource.prod.ztznwh.url}
          username: ${blade.datasource.prod.ztznwh.username}
          password: ${blade.datasource.prod.ztznwh.password}
        ## 定时器数据源
        xxljob:
          url: ${blade.datasource.prod.xxljob.url}
          username: ${blade.datasource.prod.xxljob.username}
          password: ${blade.datasource.prod.xxljob.password}
  main:
    allow-circular-references: true
skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
@@ -52,6 +52,11 @@
            <artifactId>skjcmanager-user-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>cn.gistack</groupId>
            <artifactId>skjcmanager-alerts-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
        <!--Job-->
        <dependency>
            <groupId>com.xuxueli</groupId>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/PtInfoConstant.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/ZtApiDataColumnConstant.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/ZtApiUrlConstant.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/constant/ZtConfigConstant.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/controller/NoticeController.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/controller/NoticeTypeController.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/entity/Notice.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/enums/PersonEnum.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/NoticeStrategyContext.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/NoticeTypeStrategyContext.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/INoticeService.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/InStationNoticeServiceImpl.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/NoticeStrategyImpl.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/SmsNoticeServiceImpl.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/strategy/service/impl/TelNoticeServiceImpl.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/util/FormatUtil.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/notice/vo/PersonVO.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java
@@ -3,7 +3,9 @@
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import jodd.util.StringUtil;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
@@ -14,6 +16,7 @@
import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -31,6 +34,7 @@
    private final IAttResManagePersonService attResManagePersonService;
    private final IAttAdBaseService adBaseService;
    private final IAttResBaseService attResBaseService;
    @Override
    @GetMapping(QUERY_LIST_BY_PHONE)
@@ -56,4 +60,25 @@
        return R.data(null);
    }
    /**
     * 查询责任人相关信息
     * @param guid
     * @param personList
     * @return
     */
    @Override
    public List<PersonVO> getPersonListByResGuid(String guid, String personList) {
        return attResManagePersonService.getPersonListByResGuid(guid, Arrays.asList(personList.split(",")));
    }
    /**
     *
     * @param res_cd
     * @return
     */
    @Override
    public List<PersonVO> getUserListByResGuid(String res_cd) {
        return adBaseService.getPersonListByResGuid(res_cd);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.java
@@ -1,7 +1,7 @@
package cn.gistack.sm.sjztmd.mapper;
import cn.gistack.common.node.TreeNode;
import cn.gistack.sm.notice.vo.PersonVO;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttAdBaseMapper.xml
@@ -87,7 +87,7 @@
    </select>
    <!--根据水库编号查询除责任人之外的人员信息-->
    <select id="getPersonListByResGuid" resultType="cn.gistack.sm.notice.vo.PersonVO">
    <select id="getPersonListByResGuid" resultType="cn.gistack.sm.sjztmd.vo.PersonVO">
        select bu.real_name,bu.phone,bd.ad_code from YWXT.blade_user bu left  join YWXT.blade_dept bd on instr(bu.dept_id,bd.id)>0 and bd.is_deleted = 0
        where bu.is_deleted = 0
        and bd.ad_code in (
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.sjztmd.mapper;
import cn.gistack.sm.notice.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
@@ -32,5 +32,5 @@
     * @return
     */
    @DS("zt")
    List<PersonVO> getPersonListByResGuid(@Param("res_cd")String res_cd,@Param("list") List<String> personList);
    List<PersonVO> getPersonListByResGuid(@Param("res_cd")String res_cd, @Param("list") List<String> personList);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
@@ -70,7 +70,7 @@
    </insert>
    <!--根据水库编号及责任人类型查询相关责任人信息-->
    <select id="getPersonListByResGuid" resultType="cn.gistack.sm.notice.vo.PersonVO">
    <select id="getPersonListByResGuid" resultType="cn.gistack.sm.sjztmd.vo.PersonVO">
        select "user_name" as name,"user_phone" as phone
        from "SJZT_MD"."att_res_manage_person"
        where "res_guid" = #{res_cd}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.sjztmd.service;
import cn.gistack.sm.notice.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java
@@ -1,8 +1,8 @@
package cn.gistack.sm.sjztmd.service;
import cn.gistack.sm.notice.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.tool.api.R;
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
@@ -2,7 +2,7 @@
import cn.gistack.common.node.TreeNode;
import cn.gistack.common.utils.NodeTreeUtil;
import cn.gistack.sm.notice.vo.PersonVO;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
@@ -11,7 +11,6 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
@@ -1,10 +1,10 @@
package cn.gistack.sm.sjztmd.service.impl;
import cn.gistack.sm.notice.vo.PersonVO;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.mapper.AttResManagePersonMapper;
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
import cn.gistack.sm.sjztmd.vo.PersonVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.tool.api.R;
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
@@ -1,15 +1,10 @@
package cn.gistack.sm.sms.controller;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
import cn.com.flaginfo.sdk.cmc.api.result.ComResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.sm.sms.entity.SmsRecord;
import cn.gistack.sm.sms.entity.SmsRequest;
import cn.gistack.sm.sms.entity.SmsResult;
import cn.gistack.sm.sms.service.ISmsRecordService;
import cn.gistack.sm.sms.service.ISmsResultService;
import cn.gistack.sm.sms.service.SmsService;
import cn.gistack.alerts.sms.feign.ISmsRecordClient;
import cn.gistack.sm.sms.util.SmsUtils;
import cn.gistack.sm.sms.vo.SmsRequestTemplate;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.alibaba.fastjson.JSON;
@@ -19,8 +14,6 @@
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -37,94 +30,11 @@
@AllArgsConstructor
public class SmsController {
    private final ISmsRecordService smsRecordService;
    private final ISmsResultService smsResultService;
    private final SmsService smsService;
    private final BladeRedis bladeRedis;
    private final IUserClient userClient;
    @GetMapping("/test")
    public void setRedis(){
        saveCodeForRedis("super_admin","123456");
    }
    /**
     * 短信固定内容发送通用方法(仅支持 {xx} 模式的模板)
     * request 必须包含手机号,模板id,拼接好的内容
     * @param request
     * @return
     */
    @PostMapping("/sendFixedContentByXXModel")
    public R sendFixedContentByXXModel(@RequestBody SMSSendRequest request){
        // 手机号码校验
        if(validatePhone(request.getUserNumber())) {
            // 发送操作
            String sendMsg = JSON.toJSONString(SmsUtils.sendMsg(request));
            JSONObject jsonObject = JSON.parseObject(sendMsg);
            // 记录发送记录操作
            SmsResult smsResult = saveSendResult(request, 1);
            if (null != smsResult){
                saveSendRecord(request, sendMsg,smsResult.getId());
            }
            // 返回发送信息
            return R.data(jsonObject);
        }
        // 返回发送信息
        return R.fail(400,"该手机号不存在!");
    }
    /**
     * 短信动态内容发送通用方法(仅支持 具名变量 {手机号码:11} 模式的模板)
     * request 必须包含手机号,模板id,拼接好的内容
     * @param smsRequest
     * @return
     */
    @PostMapping("/sendFixedContentByNamedVariableModel")
    public R sendFixedContentByNamedVariableModel(@RequestBody SmsRequest smsRequest){
        // 处理数据(可能是多个手机号情况)
        List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
        // 保存发送结果
        // 记录保存
        SMSSendRequest request = new SMSSendRequest();
        request.setMessageContent(smsRequest.getContent());
        request.setTemplateId(smsRequest.getTemplateId());
        SmsResult smsResult = saveSendResult(request, list.size());
        // 遍历
        for (String phone : list) {
            DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
            dynSMSSendRequest.setTemplateId(smsRequest.getTemplateId());
            dynSMSSendRequest.setDynData(smsRequest.getParams());
            // 手机号校验
            if(validator(phone)) {
                // 发送邮件短信
                String dynSendMsg = JSON.toJSONString(SmsUtils.dynSendMethod(dynSMSSendRequest));
                // 记录保存
                if (null != smsResult) {
                    SMSSendRequest smsSendRequest = new SMSSendRequest();
                    smsSendRequest.setUserNumber(phone);
                    smsSendRequest.setMessageContent(smsRequest.getContent());
                    smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                    // 记录发送记录操作
                    saveSendRecord(smsSendRequest, dynSendMsg,smsResult.getId());
                }
            }else {
                // 手机号有误记录
                // 记录保存
                SMSSendRequest smsSendRequest = new SMSSendRequest();
                smsSendRequest.setUserNumber(phone);
                smsSendRequest.setMessageContent(smsRequest.getContent());
                smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                // 记录发送记录操作
                saveSendRecord(smsSendRequest, "手机号错误未发送...",null);
            }
        }
        return R.status(true);
    }
    private final ISmsRecordClient smsRecordClient;
    /**
     * 发送登录验证码
@@ -143,15 +53,19 @@
            request.setMessageContent(content);
            request.setTemplateId(templateId);
            // 发送操作
            String sendMsg =JSON.toJSONString(SmsUtils.sendMsg(request));
            ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
            String sendMsg =JSON.toJSONString(resultComResult);
            JSONObject jsonObject = JSON.parseObject(sendMsg);
            // 记录发送记录操作
            SmsResult smsResult = saveSendResult(request, 1);
            if (null != smsResult){
                saveSendRecord(request, sendMsg,smsResult.getId());
            }
            // 保存验证码到 redis
            saveCodeForRedis(request.getUserNumber(), randNumber);
            // 记录发送记录操作
            smsRecordClient.saveSmsRecord(
                request.getUserNumber(),
                request.getMessageContent(),
                request.getTemplateId(),
                resultComResult.getCode(),
                resultComResult.getMsg(),
                1);
            // 返回发送信息
            return R.data(jsonObject);
        }
@@ -202,117 +116,5 @@
     */
    private void saveCodeForRedis(String userNumber, String randNumber) {
        bladeRedis.setEx(PHONE_KEY + userNumber,randNumber,5*60L);
    }
    /**
     * 发送记录保存
     * @param request 发送信息
     * @param sendMsg 响应数据
     * @param resultId 发送结果id
     */
    private void saveSendRecord(SMSSendRequest request, String sendMsg,Long resultId) {
        // 在保存明细
        SmsRecord smsRecord = new SmsRecord();
        smsRecord.setTel(request.getUserNumber());
        smsRecord.setContent(request.getMessageContent());
        smsRecord.setTemplateId(request.getTemplateId());
        smsRecord.setResContent(sendMsg);
        smsRecord.setResultId(resultId);
        // 解析 sendMsg
        JSONObject jsonObject = JSON.parseObject(sendMsg);
        smsRecord.setResponseStatus(jsonObject.getString("code"));
        smsRecord.setResponseMsg(jsonObject.getString("msg"));
        //插入记录
        smsRecordService.save(smsRecord);
    }
    /**
     * 发送记录保存
     * @param request 发送信息
     * @param number 号码个数
     */
    private SmsResult saveSendResult(SMSSendRequest request,Integer number) {
        // 先保存结果表
        SmsResult smsResult = new SmsResult();
        smsResult.setTemplateId(request.getTemplateId());
        smsResult.setContent(request.getMessageContent());
        smsResult.setNumber(number);
        //插入记录
        boolean save = smsResultService.save(smsResult);
        if (save){
            return smsResult;
        }
        // 返回
        return null;
    }
    /**
     * 发送邮件提醒
     * @param smsRequest
     * @return
     */
    @PostMapping("/sendEmailMsg")
    public R sendEmailMsg(@RequestBody SmsRequest smsRequest){
        // 处理数据(可能是多个手机号情况)
        List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
        // 保存发送结果
        // 记录保存
        SMSSendRequest request = new SMSSendRequest();
        request.setMessageContent(smsRequest.getContent());
        request.setTemplateId("2431012165299");
        SmsResult smsResult = saveSendResult(request, list.size());
        // 遍历
        for (String phone : list) {
            DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
            dynSMSSendRequest.setTemplateId("2431012165299");
            dynSMSSendRequest.setDynData(new String[][]{{"手机号码", "标题"}, {phone, smsRequest.getContent()}});
            // 手机号校验
            if(validator(phone)) {
                // 发送邮件短信
                String dynSendMsg = JSON.toJSONString(SmsUtils.dynSendMethod(dynSMSSendRequest));
                // 记录保存
                if (null != smsResult) {
                    SMSSendRequest smsSendRequest = new SMSSendRequest();
                    smsSendRequest.setUserNumber(phone);
                    smsSendRequest.setMessageContent(smsRequest.getContent());
                    smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                    // 记录发送记录操作
                    saveSendRecord(smsSendRequest, dynSendMsg,smsResult.getId());
                }
            }else {
                // 手机号有误记录
                // 记录保存
                SMSSendRequest smsSendRequest = new SMSSendRequest();
                smsSendRequest.setUserNumber(phone);
                smsSendRequest.setMessageContent(smsRequest.getContent());
                smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId());
                // 记录发送记录操作
                saveSendRecord(smsSendRequest, "手机号错误未发送...",null);
            }
        }
        return R.status(true);
    }
    /**
     * 发送 xx 变量模板短信
     * @param smsRequest 发送对象
     * @return
     */
    @PostMapping("/sendXXMsg")
    public R sendXXMsg(@RequestBody SmsRequestTemplate smsRequest){
        return R.data(smsService.sendXXMsg(smsRequest.getSmsRequest(),smsRequest.getPhoneNumbers()));
    }
    /**
     * 发送 具名 变量模板短信
     * @param smsRequest 发送对象
     * @return
     */
    @PostMapping("/sendSignMsg")
    public R sendSignMsg(@RequestBody SmsRequestTemplate smsRequest){
        return R.data(smsService.sendSignMsg(smsRequest));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/service/SmsService.java
File was deleted
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/util/SmsUtils.java
@@ -10,12 +10,13 @@
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.com.flaginfo.sdk.cmc.common.ApiEnum;
import cn.gistack.sm.sms.constant.SmsConstant;
import cn.gistack.common.constant.SmsConstant;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import static cn.gistack.sm.sms.constant.SmsConstant.*;
import static cn.gistack.common.constant.SmsConstant.*;
/**
 * 短信发送工具类