From 08a962d2925baa255207fdf979e6fee794f1773b Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 19 Jul 2024 12:25:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java |   80 +++++++++++++++++++++++++++++++++++----
 1 files changed, 71 insertions(+), 9 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
index d0b010b..d2cb092 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
@@ -8,21 +8,28 @@
 import cn.gistack.alerts.sms.entity.SmsRequest;
 import cn.gistack.alerts.sms.entity.SmsResult;
 import cn.gistack.alerts.sms.excel.SendRainSmsExcel;
+import cn.gistack.alerts.sms.excel.SendSmsExcel;
 import cn.gistack.alerts.sms.listener.ExcelListener;
 import cn.gistack.alerts.sms.service.SmsService;
 import cn.gistack.alerts.sms.util.SmsUtils;
 import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
 import cn.gistack.alerts.sms.vo.SmsResponseVO;
+import cn.gistack.sm.intelligentCall.excel.CallExcel;
 import cn.gistack.system.user.entity.User;
 import cn.gistack.system.user.feign.IUserClient;
 import com.alibaba.excel.EasyExcel;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.redis.cache.BladeRedis;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -51,6 +58,22 @@
 		saveCodeForRedis("super_admin","123456");
 	}
 
+	@GetMapping("/testSms")
+	public  ComResult<DynSMSSendDataResult> testSms() {
+		String [][] str = {
+			{"手机号码","日期","小时","分钟","乡镇","水库名称","水库水位值","超过设计洪水位值",
+				"距离或漫过坝顶值及说明","雨量值","姓名联系电话1","姓名联系电话2","姓名联系电话3","姓名联系电话4","姓名联系电话最多6人"},
+			{"18179770967","25","12","50","会昌县","测试水库","10.10","12.12",
+				"距离或漫过坝顶值及说明","10.13","谢斌18179770967","钟日健14212457896","qwe13426007894","asd13685201234","aix18179770967;aix21234567891"},
+			{"15170720695","25","12","50","会昌县","测试水库","10.10","12.12",
+				"距离或漫过坝顶值及说明","10.13","谢斌18179770967","钟日健14212457896","qwe13426007894","asd13685201234","aix18179770967;aix21234567891"},
+			{"15179776420","25","12","50","会昌县","测试水库","10.10","12.12",
+				"距离或漫过坝顶值及说明","10.13","谢斌18179770967","钟日健14212457896","qwe13426007894","asd13685201234","aix18179770967;aix21234567891"}
+		};
+		String tempId = "2431012216677";
+		return smsService.testSend(tempId,str);
+	}
+
 	/**
 	 * 短信固定内容发送通用方法(仅支持 {xx} 模式的模板)
 	 * request 必须包含手机号,模板id,拼接好的内容
@@ -63,11 +86,8 @@
 		if(validatePhone(request.getUserNumber())) {
 			// 发送操作
 			ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
-			SmsResponseVO smsResponse = new SmsResponseVO();
-			smsResponse.setCode(resultComResult.getCode().toString());
-			smsResponse.setMsg(resultComResult.getMsg());
 			// 记录发送记录操作
-			SmsResult smsResult = smsService.saveSendResult(smsResponse,request, 1);
+			SmsResult smsResult = smsService.saveSendResult(null,resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
 			if (null != smsResult){
 				smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
 			}
@@ -96,11 +116,8 @@
 			request.setTemplateId(templateId);
 			// 发送操作
 			ComResult<SMSSendDataResult> resultComResult = SmsUtils.sendMsg(request);
-			SmsResponseVO smsResponse = new SmsResponseVO();
-			smsResponse.setCode(resultComResult.getCode().toString());
-			smsResponse.setMsg(resultComResult.getMsg());
 			// 记录发送记录操作
-			SmsResult smsResult = smsService.saveSendResult(smsResponse,request, 1);
+			SmsResult smsResult = smsService.saveSendResult(null,resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
 			if (null != smsResult){
 				smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
 			}
@@ -141,7 +158,7 @@
 	}
 
 	/**
-	 * 发送邮件提醒
+	 * 发送待办提醒
 	 * @param smsRequest
 	 * @return
 	 */
@@ -217,4 +234,49 @@
 		// 导入并返回
 		return R.data(smsService.importSendRainSms(list,startTime,endTime));
 	}
+
+	/**
+	 * 批量发送短信(集合数据)
+	 * @param map (保护参数 1:短信模板id  2:数据集合 list<Map<String,Object>>)
+	 * @return
+	 */
+	@PostMapping("/batch-send-sms")
+	public R batchSendSms(@RequestBody Map<String,Object> map){
+		// 导入并返回
+		return R.data(smsService.batchSendSms(map));
+	}
+
+
+	/**
+	 * 导入表格发送预警短信
+	 * @param file excel文件
+	 * @param templateId 模板id
+	 * @param param 通用参数
+	 * @param content 发送内容
+	 * @return
+	 */
+	@PostMapping("/import-send-sms")
+	public R importSendSms(MultipartFile file,String templateId,String param,String content){
+		ExcelListener<SendSmsExcel> listener = new ExcelListener<>();
+		//headRowNumber(1)从第2行开始读取,使用getDatas()方法取出数据
+		try {
+			EasyExcel.read(file.getInputStream(), SendSmsExcel.class, listener).headRowNumber(1).sheet(0).doRead();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		List<SendSmsExcel> list = listener.getDatas();
+		// 导入并返回
+		return R.data(smsService.importSendSms(list,templateId,param,content));
+	}
+
+
+	/**
+	 * 导出模板
+	 */
+	@GetMapping("/export-template")
+	@ApiOperation(value = "导出模板")
+	public void exportTemplate(HttpServletResponse response) {
+		List<SendSmsExcel> list = new ArrayList<>();
+		ExcelUtil.export(response, "短信发送数据模板", "短信发送数据表", list, SendSmsExcel.class);
+	}
 }

--
Gitblit v1.9.3