| | |
| | | void saveSmsRecord(@RequestParam("userNumber")String userNumber, |
| | | @RequestParam("messageContent")String messageContent, |
| | | @RequestParam("templateId")String templateId, |
| | | @RequestParam("code")Integer code, |
| | | @RequestParam("code")String code, |
| | | @RequestParam("msg")String msg, |
| | | @RequestParam("number")Integer number); |
| | | } |
| | |
| | | public class ISmsRecordClientFallback implements ISmsRecordClient{ |
| | | |
| | | @Override |
| | | public void saveSmsRecord(String userNumber, String messageContent, String templateId, Integer code, String msg, Integer number) { |
| | | public void saveSmsRecord(String userNumber, String messageContent, String templateId, String code, String msg, Integer number) { |
| | | |
| | | } |
| | | } |
| | |
| | | private String name; |
| | | |
| | | /** |
| | | * 角色 |
| | | * 类型 |
| | | */ |
| | | private String roleName; |
| | | private String type; |
| | | |
| | | /** |
| | | * 手机号 |
| | |
| | | SmsTemplate smsTemplate = smsTemplateService.getOne(new QueryWrapper<SmsTemplate>().eq("template_id",templateId).eq("is_deleted",0)); |
| | | if (null != smsTemplate) { |
| | | SmsRequestTemplate smsRequestTemplate = new SmsRequestTemplate(); |
| | | // 设置短信模板信息 |
| | | // 设置模板信息 |
| | | smsRequestTemplate.setSmsTemplate(smsTemplate); |
| | | // 解析模板并设置 title |
| | | smsRequestTemplate.setTitle(FormatUtil.composeMessage(smsTemplate.getContent())); |
| | |
| | | /** |
| | | * 默认实现 |
| | | * |
| | | * @param arg1 |
| | | * @param arg1 告警规则名称 |
| | | * @param arg2 |
| | | * @return |
| | | */ |
| | |
| | | /** |
| | | * 策略2: 水位数据异常 |
| | | * |
| | | * @param arg1 |
| | | * @param arg1 告警规则名称 |
| | | * @param arg2 |
| | | * @return |
| | | */ |
| | |
| | | /** |
| | | * 策略3: 水位超低于死水位(水库技术责任人、巡查责任人) |
| | | * |
| | | * @param arg1 |
| | | * @param arg1 告警规则名称 |
| | | * @param arg2 |
| | | * @return |
| | | */ |
| | |
| | | // 遍历,拼接县水利部人员电话 |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 查询县水利部人员(通过水库编号) |
| | | list.add("测试:13112341234"); |
| | | // list.add("测试:13112341234"); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | // list.add("123789"); |
| | | } |
| | | } |
| | | // 调用短信服务 |
| | |
| | | * @return |
| | | */ |
| | | public String waterComeOverHandle(String arg1, String arg2) { |
| | | // 业务逻辑处理 2... |
| | | return ""; |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | if (null!=alarmRule) { |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = getZtData("", ZtApiUrlConstant.res_diff_dead_z_api); |
| | | // 只发送站内信 |
| | | SmsRequestTemplate smsRequestTemplate = getSendSmsTemplate(ztData, "znxsw10000001",alarmRule, ZtApiDataColumnConstant.waterLessDeadList,true); |
| | | // 拼接内容后面的联系方式,当前模板县水利部人员姓名电话 |
| | | // 遍历,拼接县水利部人员电话 |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | // 后面依次拼接 巡查责任人姓名,技术责任人姓名,市县水利部门人员姓名电话(暂时不要) |
| | | // 查询巡查责任人姓名,技术责任人姓名信息 |
| | | List<PersonVO> personVOList = attResManagePersonClient.getPersonListByResGuid(list.get(0),"4,5"); |
| | | String xczrr = ""; |
| | | String jszrr = ""; |
| | | for (PersonVO personVO : personVOList) { |
| | | if (personVO.getType().equals("5")){ |
| | | xczrr = personVO.getName(); |
| | | } |
| | | if (personVO.getType().equals("4")){ |
| | | jszrr = personVO.getName(); |
| | | } |
| | | } |
| | | // 巡查责任人姓名 |
| | | list.add(xczrr); |
| | | // 技术责任人姓名 |
| | | list.add(jszrr); |
| | | // 市县水利部门人员姓名电话(暂时不要) |
| | | // list.add("测试:13112341234"); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = saveAlarmRecord(list,alarmRule); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | // list.add("999"); |
| | | } |
| | | } |
| | | // 保存站内信记录信息 |
| | | smsService.saveInStationInfo(smsRequestTemplate); |
| | | } |
| | | return "水位接近汛限告警"; |
| | | } |
| | | |
| | | /** |
| | |
| | | // 记录发送记录操作 |
| | | SmsResult smsResult = smsService.saveSendResult(request, 1); |
| | | if (null != smsResult){ |
| | | smsService.saveSendRecord(request, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | // 返回发送信息 |
| | | return R.data(resultComResult); |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | }else { |
| | | // 手机号有误记录 |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, 400,"手机号错误未发送...",null); |
| | | smsService.saveSendRecord(smsSendRequest, "400","手机号错误未发送...",null); |
| | | } |
| | | } |
| | | return R.status(true); |
| | |
| | | // 记录发送记录操作 |
| | | SmsResult smsResult = smsService.saveSendResult(request, 1); |
| | | if (null != smsResult){ |
| | | smsService.saveSendRecord(request, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | // 保存验证码到 redis |
| | | saveCodeForRedis(request.getUserNumber(), randNumber); |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode(),resultComResult.getMsg(),smsResult.getId()); |
| | | smsService.saveSendRecord(smsSendRequest, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId()); |
| | | } |
| | | }else { |
| | | // 手机号有误记录 |
| | |
| | | smsSendRequest.setMessageContent(smsRequest.getContent()); |
| | | smsSendRequest.setTemplateId(dynSMSSendRequest.getTemplateId()); |
| | | // 记录发送记录操作 |
| | | smsService.saveSendRecord(smsSendRequest, 400,"手机号错误未发送...",null); |
| | | smsService.saveSendRecord(smsSendRequest, "400","手机号错误未发送...",null); |
| | | } |
| | | } |
| | | return R.status(true); |
| | |
| | | public void saveSmsRecord(String userNumber, |
| | | String messageContent, |
| | | String templateId, |
| | | Integer code, |
| | | String code, |
| | | String msg, |
| | | Integer number) { |
| | | SMSSendRequest request = new SMSSendRequest(); |
| | |
| | | import cn.gistack.alerts.sms.vo.SmsRequestTemplate; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 短信发送服务接口 |
| | |
| | | * @param resultId |
| | | * @return |
| | | */ |
| | | SmsRecord saveSendRecord(SMSSendRequest request,Integer code, String sendMsg, Long resultId); |
| | | SmsRecord saveSendRecord(SMSSendRequest request,String code, String sendMsg, Long resultId); |
| | | |
| | | /** |
| | | * 保存站内信记录信息 |
| | | * @param smsRequestTemplate |
| | | * @return |
| | | */ |
| | | Map<String, Object> saveInStationInfo(SmsRequestTemplate smsRequestTemplate); |
| | | } |
| | |
| | | ComResult<SMSSendDataResult> result = SmsUtils.sendMsg(request); |
| | | if(null != smsResult) { |
| | | // 保存记录 |
| | | saveSendRecord(request, result.getCode(), result.getMsg(), smsResult.getId()); |
| | | saveSendRecord(request, result.getCode().toString(), result.getMsg(), smsResult.getId()); |
| | | } |
| | | list.add(result); |
| | | } |
| | |
| | | // 设置内容 |
| | | request.setMessageContent(format); |
| | | // 保存记录 |
| | | smsRecord = saveSendRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId()); |
| | | smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId()); |
| | | if (null != smsRecord){ |
| | | alarmRecordDetail.setAlarmContent(format); |
| | | alarmRecordDetail.setSendRecordId(smsRecord.getId()); |
| | |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 保存站内信记录信息 |
| | | * @param smsRequestTemplate |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Map<String, Object> saveInStationInfo(SmsRequestTemplate smsRequestTemplate) { |
| | | // 取出数据 |
| | | SMSSendRequest request = new SMSSendRequest(); |
| | | SmsTemplate smsTemplate = smsRequestTemplate.getSmsTemplate(); |
| | | request.setTemplateId(smsTemplate.getTemplateId()); |
| | | List<List<String>> templateContent = smsRequestTemplate.getTemplateContent(); |
| | | // 先保存结果记录 |
| | | SmsResult smsResult = saveSendResult(request, templateContent.size()); |
| | | List<SmsRecord> smsRecordList = new ArrayList<>(); |
| | | // 遍历处理 |
| | | for (List<String> list : templateContent) { |
| | | AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail(); |
| | | alarmRecordDetail.setReservoirNumber(list.get(0)); |
| | | alarmRecordDetail.setAlarmRecordId(Long.parseLong(list.get(list.size() - 1))); |
| | | alarmRecordDetail.setAlarmMode("站内信"); |
| | | // 未读 |
| | | alarmRecordDetail.setStatus(1); |
| | | // 删除 最后一个 告警记录id |
| | | list.remove(list.size() - 1); |
| | | // 删除 0 水库编码 |
| | | list.remove(0); |
| | | |
| | | SmsRecord smsRecord = new SmsRecord(); |
| | | if (null != smsResult){ |
| | | alarmRecordDetail.setPhone(list.get(0)); |
| | | // 设置手机号 |
| | | request.setUserNumber(list.get(0)); |
| | | // 内容处理 |
| | | String s = smsTemplate.getContent().replaceAll("\\{.+?\\}", "%s"); |
| | | // 需要删除最前面的手机号 |
| | | list.remove(0); |
| | | // 格式转换 |
| | | String format = String.format(s, list.toArray()); |
| | | // 设置内容 |
| | | request.setMessageContent(format); |
| | | // 保存记录 |
| | | smsRecord = saveSendRecord(request, "", "", smsResult.getId()); |
| | | if (null != smsRecord){ |
| | | alarmRecordDetail.setAlarmContent(format); |
| | | alarmRecordDetail.setSendRecordId(smsRecord.getId()); |
| | | alarmRecordDetail.setCreateTime(new Date()); |
| | | // 保存告警记录详情信息 |
| | | boolean save = alarmRecordDetailService.save(alarmRecordDetail); |
| | | } |
| | | } |
| | | smsRecordList.add(smsRecord); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(2); |
| | | map.put("smsRecord",smsRecordList); |
| | | map.put("smsResult",smsResult); |
| | | // 返回 |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 发送 具名 变量模板短信--批量一次发送 |
| | |
| | | SmsRecord smsRecord = new SmsRecord(); |
| | | if (null != smsResult){ |
| | | // 保存记录 |
| | | smsRecord = saveSendRecord(request, resultComResult.getCode(), resultComResult.getMsg(), smsResult.getId()); |
| | | smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId()); |
| | | } |
| | | Map<String, Object> map = new HashMap<>(2); |
| | | map.put("smsRecord",smsRecord); |
| | |
| | | * @param resultId |
| | | */ |
| | | @Override |
| | | public SmsRecord saveSendRecord(SMSSendRequest request, Integer code, String sendMsg, Long resultId) { |
| | | public SmsRecord saveSendRecord(SMSSendRequest request, String 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.setResponseStatus(code); |
| | | smsRecord.setResponseMsg(sendMsg); |
| | | //插入记录 |
| | | smsRecordService.save(smsRecord); |
| | | // 返回 |
| | | return smsRecord; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | <!--根据水库编号及责任人类型查询相关责任人信息--> |
| | | <select id="getPersonListByResGuid" resultType="cn.gistack.sm.sjztmd.vo.PersonVO"> |
| | | select "user_name" as name,"user_phone" as phone |
| | | select "user_name" as name,"user_phone" as phone,"type" as type |
| | | from "SJZT_MD"."att_res_manage_person" |
| | | where "res_guid" = #{res_cd} |
| | | <choose> |
| | |
| | | request.getUserNumber(), |
| | | request.getMessageContent(), |
| | | request.getTemplateId(), |
| | | resultComResult.getCode(), |
| | | resultComResult.getCode().toString(), |
| | | resultComResult.getMsg(), |
| | | 1); |
| | | // 返回发送信息 |