From 697b4a43e15b8b5e2e2ee82479cd10e2dc0594be Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 26 Apr 2023 10:45:56 +0800
Subject: [PATCH] 动态短信发送记录保存,组织机构数据查询修改,排除部门绑定不上人员数据

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java |   61 +++++++++++++++++++++++++-----
 1 files changed, 50 insertions(+), 11 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
index ad74e6c..c078fe1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java
@@ -3,6 +3,7 @@
 import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
 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.service.ISmsRecordService;
 import cn.gistack.sm.sms.util.SmsUtils;
 import cn.gistack.system.user.entity.User;
@@ -15,6 +16,7 @@
 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;
@@ -94,15 +96,18 @@
 	 * 校验手机号码
 	 */
 	public static boolean validator(String phone) {
-		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;
+		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;
 	}
 
 	/**
@@ -129,8 +134,42 @@
 		smsRecordService.save(smsRecord);
 	}
 
-	@PostMapping("/test1")
-	public R test1(@RequestBody DynSMSSendRequest request){
-		return R.data(SmsUtils.dynSendMethod(request));
+	/**
+	 * 发送邮件提醒
+	 * @param smsRequest
+	 * @return
+	 */
+	@PostMapping("/sendEmailMsg")
+	public R sendEmailMsg(@RequestBody SmsRequest smsRequest){
+		// 处理数据(可能是多个手机号情况)
+		List<String> list = Arrays.asList(smsRequest.getPhone().split(","));
+		// 遍历
+		for (String phone : list) {
+			DynSMSSendRequest dynSMSSendRequest = new DynSMSSendRequest();
+			dynSMSSendRequest.setTemplateId("2431012165350");
+			dynSMSSendRequest.setDynData(new String[][]{{"手机号码", "标题"}, {phone, smsRequest.getContent()}});
+			// 手机号校验
+			if(validator(phone)) {
+				// 发送邮件短信
+				String dynSendMsg = SmsUtils.dynSendMethod(dynSMSSendRequest);
+				// 记录保存
+				SMSSendRequest request = new SMSSendRequest();
+				request.setUserNumber(phone);
+				request.setMessageContent(smsRequest.getContent());
+				request.setTemplateId(dynSMSSendRequest.getTemplateId());
+				// 记录发送记录操作
+				saveSendRecord(request, dynSendMsg);
+			}else {
+				// 手机号有误记录
+				// 记录保存
+				SMSSendRequest request = new SMSSendRequest();
+				request.setUserNumber(phone);
+				request.setMessageContent(smsRequest.getContent());
+				request.setTemplateId(dynSMSSendRequest.getTemplateId());
+				// 记录发送记录操作
+				saveSendRecord(request, "手机号错误未发送...");
+			}
+		}
+		return R.status(true);
 	}
 }

--
Gitblit v1.9.3