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); } } 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)); } 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 "调用失败"; } } 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; } } 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 + "'"; 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); } 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(); } 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(); } 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); /** * 设置电话状态 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(); } } 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; } /** 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>