From 29358cfe9b8da07f852c69a57f5d8fedcbbf116e Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 05 Jun 2023 20:32:53 +0800
Subject: [PATCH] 新增站内信记录保存

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
index 1a8ec13..e1b173e 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
@@ -56,7 +56,7 @@
 				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);
 			}
@@ -115,7 +115,7 @@
 				// 设置内容
 				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());
@@ -133,6 +133,65 @@
 		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;
+	}
 
 	/**
 	 * 发送 具名 变量模板短信--批量一次发送
@@ -160,7 +219,7 @@
 		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);
@@ -200,18 +259,20 @@
 	 * @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;
 	}
+
+
 }

--
Gitblit v1.9.3