From 02e4e3a9fcfbe2a366fc75868dfa019145cea9d2 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期一, 20 十月 2025 15:05:18 +0800
Subject: [PATCH] 市一短信和微信问卷及orgid过滤优化
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java | 4
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 17 ++++-
smartor/src/main/java/com/smartor/mapper/ServiceOutPathMapper.java | 7 ++
smartor/src/main/java/com/smartor/service/IServiceOutPathService.java | 7 ++
smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java | 10 +++
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java | 24 ++++++++
smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml | 5 +
smartor/src/main/java/com/smartor/service/impl/ServiceTelInfoServiceImpl.java | 8 ++
smartor/src/main/java/com/smartor/service/IServiceTelInfoService.java | 2
ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/HospitalFilterInterceptor.java | 4 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java | 59 ++++++++++---------
ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java | 27 +++++++++
12 files changed, 136 insertions(+), 38 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
index 5a8093a..c0310e5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -11,6 +11,7 @@
import com.smartor.domain.HtmlContentVO;
import com.smartor.domain.ServiceOutPath;
import com.smartor.domain.smsVO;
+import com.smartor.mapper.UtilsMapper;
import com.smartor.service.IServiceOutPathService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -27,6 +28,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Date;
+import java.util.List;
@RestController
@Api(description = "鐭ヤ俊鎺ュ彛")
@@ -54,6 +56,8 @@
@Autowired
private IServiceOutPathService iServiceOutPathService;
+ @Autowired
+ private UtilsMapper utilsMapper;
/**
* @param
@@ -76,31 +80,29 @@
String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key);
String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key);
String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key);
+ Integer radix=iServiceOutPathService.selectAutoId();
+ String format = String.format("%03X", radix);
ServiceOutPath serviceOutPath = new ServiceOutPath();
serviceOutPath.setParam1(taskId);
serviceOutPath.setParam2(patid);
serviceOutPath.setParam3(vo.getTaskName());
serviceOutPath.setParam6(subId);
+ serviceOutPath.setRadix(format);
serviceOutPath.setCreateTime(new Date());
- String format ="";
- if(ObjectUtils.isNotEmpty(vo.getSubId())) {
- format = String.format("%03X", Integer.parseInt(vo.getSubId()));
- serviceOutPath.setRadix(format);
- }
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
- String url=ip + ":" + req_path + "/wt?p=" + format;
+ String url = ip + ":" + req_path + "/wt?p=" + format;
- String content="鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
- if(ObjectUtils.isNotEmpty(vo.getContent()))
- content=vo.getContent();
- else
- sendChat(vo);
- String sendMsg="";
- try{
- sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),content);
+ String content = "鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
+ if (ObjectUtils.isNotEmpty(vo.getContent()))
+ content = vo.getContent();
+// else
+// sendChat(vo);
+ String sendMsg = "";
+ try {
+ sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content);
log.info(sendMsg);
- }catch (Exception ex){
+ } catch (Exception ex) {
log.error(ex.getMessage());
}
return AjaxResult.success(sendMsg);
@@ -116,21 +118,22 @@
RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key);
String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key);
- String url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid
- + "¶m3=" + URLEncoder.encode(vo.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false";
+ String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key);
+ Integer radix=iServiceOutPathService.selectAutoId();
+ String format = String.format("%03X", radix);
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam3(vo.getTaskName());
+ serviceOutPath.setParam6(subId);
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
- String content="鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
+ String url = ip + ":" + req_path + "/wt?p=" + format;
- String urlTemp="http://192.200.54.14:5003/sfjk/SendMessage?sfzh="+vo.getIdCard()
- +"&title=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&content="+content+"&phone="+vo.getPhone()
- +"&url="+url+"&key=ff76f8904f5f32b5ee1739e8ea46e60g";
- String sendMsg= "";
- try{
- sendMsg= HttpUtils.sendGet(urlTemp);
- log.info(sendMsg);
- }catch (Exception ex){
- log.error(ex.getMessage());
- }
+
+ String sendMsg = smsUtils.sendChat(url,vo.getPhone(),vo.getIdCard());
return AjaxResult.success(sendMsg);
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java
index bba4a2b..dd17bab 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTelInfoController.java
@@ -24,8 +24,8 @@
*/
@ApiOperation("闅忚鐢佃瘽璇︽儏鍒楄〃")
@GetMapping("/getList")
- public AjaxResult getList() {
- return AjaxResult.success(telService.getList());
+ public AjaxResult getList(String orgid) {
+ return AjaxResult.success(telService.getList(orgid));
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
index d8b249b..90d8d52 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
@@ -13,6 +13,12 @@
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
+import org.apache.http.HttpEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ruoyi.common.constant.Constants;
@@ -112,6 +118,7 @@
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
conn.setRequestProperty("Accept-Charset", "utf-8");
+ conn.setRequestProperty("Charsert", "UTF-8");
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
@@ -308,4 +315,21 @@
return true;
}
}
+
+ public static String sendPost(String url){
+ HttpPost post = new HttpPost(url);
+ CloseableHttpClient client = HttpClients.createDefault();
+ //鍚姩鎵ц璇锋眰锛屽苟鑾峰緱杩斿洖鍊�
+ CloseableHttpResponse execute = null;
+ try {
+ execute = client.execute(post);
+ HttpEntity entity = execute.getEntity();
+ //鎶婂疄浣撳璞¤浆鎹负string
+ return EntityUtils.toString(entity, "UTF-8");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return "璋冪敤澶辫触";
+ }
+
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java
index 2ec23d9..bf7e08b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java
@@ -5,13 +5,16 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.utils.HttpUtil;
+import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sign.Md5Utils;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+@Slf4j
public class smsUtils {
@@ -40,4 +43,28 @@
return sendMsg;
}
+
+ /**
+ * 鏉窞甯備竴鍖婚櫌鍚村北闄㈠尯鎴戠煭淇℃帴鍙�
+ *
+ * @param url 寰俊URL
+ * @param phone 鎵嬫満鍙� 13500000001
+ * @param idCard 韬唤璇�
+ * @return 涓や釜鍙傛暟鐨勫拰
+ */
+ public static String sendChat(String url,String phone,String idCard){
+ String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh="
+ + idCard
+ + "&title=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&content=寰呴殢璁�&phone=" + phone
+ + "&url=" + url + "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
+ String sendMsg = "";
+ try {
+ sendMsg = HttpUtils.sendPost(urlTemp);
+ log.info(sendMsg);
+ } catch (Exception ex) {
+ sendMsg=ex.getMessage();
+ log.error(ex.getMessage());
+ }
+ return sendMsg;
+ }
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/HospitalFilterInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/HospitalFilterInterceptor.java
index 2bf520f..f168bc6 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/HospitalFilterInterceptor.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/HospitalFilterInterceptor.java
@@ -127,6 +127,10 @@
if (originalSql.contains("insert into") || originalSql.contains("INSERT INTO") || originalSql.contains("from sys_menu") || originalSql.contains("sys_job") || originalSql.contains("update sys_menu") || originalSql.contains("information_schema.tables") || originalSql.contains("information_schema.columns") || originalSql.contains("gen_table") || originalSql.toUpperCase().contains("ORGID IS NULL") || originalSql.toUpperCase().contains("FROM CRYXX") || originalSql.toUpperCase().contains("FROM MZXX") || originalSql.toUpperCase().contains("FROM JBXX") || originalSql.toUpperCase().contains("FROM BMXX") || originalSql.toUpperCase().contains("FROM HZJBXX") || originalSql.toUpperCase().contains("RENAME TABLE") || originalSql.toUpperCase().contains("FROM YHYKSXX") || originalSql.toUpperCase().contains("FROM YHYJSXX") || originalSql.toUpperCase().contains("ALTER TABLE") || originalSql.toUpperCase().contains("CREATE TABLE")) {
return originalSql;
}
+ if(originalSql.contains("and onorgid")){
+ originalSql=originalSql.replace("and onorginid","");
+ return originalSql;
+ }
// 鎻愬彇 orgid 鐨� WHERE 瀛愬彞
String whereClause = " orgid = '" + orgid + "'";
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 5fd05cb..07aa4de 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -645,10 +645,19 @@
}
String wxCode = "";
if (visitHosp == 3) {//甯備竴鍖婚櫌
- String urlTemp="http://192.200.54.14:5003/sfjk/SendMessage?sfzh="+serviceSubtask.getSfzh()
- +"&title=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&content=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&phone="+patArchive.getTelcode()
- +"&url="+url+"&key=ff76f8904f5f32b5ee1739e8ea46e60g";
- HttpUtils.sendGet(urlTemp);
+ String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
+ Integer radix=iServiceOutPathService.selectAutoId();
+ String format = String.format("%03X", radix);
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam3(ivrTask1.getTaskName());
+ serviceOutPath.setParam6(subId);
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ url = ip + ":" + req_path + "/wt?p=" + format;
+ smsUtils.sendChat(url,patArchive.getTelcode(),serviceSubtask.getSfzh());
}else{
wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx);
}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceOutPathMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceOutPathMapper.java
index 55b810b..a248dc2 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceOutPathMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceOutPathMapper.java
@@ -60,4 +60,11 @@
* @return 缁撴灉
*/
public int deleteServiceOutPathByIds(Long[] ids);
+
+ /**
+ * 鏌ヨ鑷ID
+ *
+ * @return ID
+ */
+ public Integer selectAutoId();
}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java b/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java
index 6106b89..f7efea9 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java
@@ -58,4 +58,11 @@
* @return 缁撴灉
*/
public int deleteServiceOutPathById(Long id);
+
+ /**
+ * 鏌ヨ鑷ID
+ *
+ * @return ID
+ */
+ public Integer selectAutoId();
}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceTelInfoService.java b/smartor/src/main/java/com/smartor/service/IServiceTelInfoService.java
index 5a1e92a..90d6372 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceTelInfoService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceTelInfoService.java
@@ -10,7 +10,7 @@
*
* @return 缁撴灉
*/
- public List<Map<String,Object>> getList();
+ public List<Map<String,Object>> getList(String orgid);
/**
* 璁剧疆鐢佃瘽鐘舵��
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java
index a63e655..feda3ae 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java
@@ -84,4 +84,14 @@
public int deleteServiceOutPathById(Long id) {
return serviceOutPathMapper.deleteServiceOutPathById(id);
}
+
+ /**
+ * 鏌ヨ鑷ID
+ *
+ * @return ID
+ */
+ @Override
+ public Integer selectAutoId() {
+ return serviceOutPathMapper.selectAutoId();
+ }
}
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTelInfoServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTelInfoServiceImpl.java
index dae868d..cdc27cc 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTelInfoServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTelInfoServiceImpl.java
@@ -4,6 +4,7 @@
import com.smartor.mapper.UtilsMapper;
import com.smartor.service.IServiceTelInfoService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -22,8 +23,11 @@
* @return 缁撴灉
*/
@Override
- public List<Map<String,Object>> getList() {
- List<Map<String,Object>> lists= utilsMapper.getList("select * from service_telinfo where state=0 OR DATE_ADD(editTime, INTERVAL 10 MINUTE)< NOW() ");
+ public List<Map<String,Object>> getList(String orgid) {
+ String where=" where state=0 OR DATE_ADD(editTime, INTERVAL 10 MINUTE)< NOW() ";
+ if(ObjectUtils.isNotEmpty(orgid))
+ where=where+" and orgid='"+orgid+"'";
+ List<Map<String,Object>> lists= utilsMapper.getList("select * from service_telinfo " +where);
return lists;
}
/**
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml
index 4ae0783..54cb39c 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml
@@ -151,6 +151,9 @@
#{id}
</foreach>
</update>
-
+ <select id="selectAutoId" resultType="Integer" >
+ SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES
+ WHERE TABLE_NAME = 'service_out_path' AND table_schema = DATABASE() and onorgid
+ </select>
</mapper>
--
Gitblit v1.9.3