From affff835d01de682a503eee8b71d48bf35255a50 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 25 May 2023 15:20:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml     |    7 +++
 skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml   |    2 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml     |    1 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml |   12 +++---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java         |   10 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/controller/SmsController.java  |   76 +++++++++++++++++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java        |    6 +++
 7 files changed, 106 insertions(+), 8 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
index 285a294..71dde4f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -38,27 +38,27 @@
 
         left join (
         select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
-        from "SJZT_MD"."tb_res_manage_person" where  "type"=1 GROUP BY "res_guid"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=1 GROUP BY "res_guid"
         ) trmp1 on arb."guid" = trmp1."res_guid"
 
         left join (
         select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
-        from "SJZT_MD"."tb_res_manage_person" where  "type"=2 GROUP BY "res_guid"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=2 GROUP BY "res_guid"
         ) trmp2 on arb."guid" = trmp2."res_guid"
 
         left join (
         select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
-        from "SJZT_MD"."tb_res_manage_person" where  "type"=3 GROUP BY "res_guid"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=3 GROUP BY "res_guid"
         ) trmp3 on arb."guid" = trmp3."res_guid"
 
         left join (
         select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
-        from "SJZT_MD"."tb_res_manage_person" where  "type"=4 GROUP BY "res_guid"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=4 GROUP BY "res_guid"
         ) trmp4 on arb."guid" = trmp4."res_guid"
 
         left join (
         select "res_guid",WM_Concat("user_unit") "user_unit",WM_Concat("user_name") "user_name",WM_Concat("user_phone") "user_phone",WM_Concat("position") "position"
-        from "SJZT_MD"."tb_res_manage_person" where  "type"=5 GROUP BY "res_guid"
+        from "SJZT_MD"."att_res_manage_person" where  "type"=5 GROUP BY "res_guid"
         ) trmp5 on arb."guid" = trmp5."res_guid"
         where 1=1
         <if test="params.name !=null and params.name !=''">
@@ -114,7 +114,7 @@
         trmp."user_unit" as unitName,
         trmp."position",
         trmp."user_phone" as phone
-        from "SJZT_MD"."tb_res_manage_person" trmp
+        from "SJZT_MD"."att_res_manage_person" trmp
         where trmp."res_guid" = #{guid}
     </select>
 
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 d84efde..53daeb9 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
@@ -49,13 +49,87 @@
 	}
 
 	/**
+	 * 短信固定内容发送通用方法(仅支持 {xx} 模式的模板)
+	 * request 必须包含手机号,模板id,拼接好的内容
+	 * @param request
+	 * @return
+	 */
+	@PostMapping("/sendFixedContentByXXModel")
+	public R sendFixedContentByXXModel(@RequestBody SMSSendRequest request){
+		// 手机号码校验
+		if(validatePhone(request.getUserNumber())) {
+			// 发送操作
+			String sendMsg = 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 = 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);
+	}
+
+	/**
 	 * 发送登录验证码
 	 * request 必须包含手机号
 	 * @param request
 	 * @return
 	 */
 	@PostMapping("/sendCode")
-	public R test(@RequestBody SMSSendRequest request){
+	public R sendCode(@RequestBody SMSSendRequest request){
 		// 手机号码校验
 		if(validatePhone(request.getUserNumber())) {
 			//设置模板相关信息
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java
index fe67b90..178c27f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsRequest.java
@@ -15,7 +15,17 @@
 	private String phone;
 
 	/**
+	 * 模板id
+	 */
+	private String templateId;
+
+	/**
 	 * 内容
 	 */
 	private String content;
+
+	/**
+	 * 具名参数
+	 */
+	private String[][] params;
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java
index fc80d71..e9b0f35 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/entity/SmsTemplate.java
@@ -33,6 +33,12 @@
 	private String templateName;
 
 	/**
+	 * 模板类型 1:xx变量(原有模式) 2:具名变量
+	 */
+	@ApiModelProperty(value = "模板类型")
+	private String type;
+
+	/**
 	 * 模板内容
 	 */
 	@ApiModelProperty(value = "模板内容")
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml
index 99f01a0..1469123 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsRecordMapper.xml
@@ -8,6 +8,13 @@
         <if test="smsRecord.phone!=null and smsRecord.phone!=''">
             and phone like concat(concat('%',#{smsRecord.phone}),'%')
         </if>
+        <if test="smsRecord.content!=null and smsRecord.content!=''">
+            and content like concat(concat('%',#{smsRecord.content}),'%')
+        </if>
+        <if test="smsRecord.templateId!=null and smsRecord.templateId!=''">
+            and template_id like concat(concat('%',#{smsRecord.templateId}),'%')
+        </if>
+        order by id desc
     </select>
 
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml
index c7732ef..c1f52a3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/mapper/SmsResultMapper.xml
@@ -5,6 +5,7 @@
     <!--自定义分页列表查询-->
     <select id="selectSmsResultPage" resultType="cn.gistack.sm.sms.vo.SmsResultVO">
         select * from sm_sms_result where 1=1 and is_deleted = 0
+        order by id desc
     </select>
 
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml
index e74ed08..4276b97 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/mapper/UserMapper.xml
@@ -39,7 +39,7 @@
             and account = #{user.account}
         </if>
         <if test="user.realName!=null and user.realName != ''">
-            and real_name = #{user.realName}
+            and real_name like concat(concat('%',#{user.realName}),'%')
         </if>
         <if test="user.userType!=null and user.userType != ''">
             and user_type = #{user.userType}

--
Gitblit v1.9.3