Commit fbe5e6de authored by lings's avatar lings

浙里办

parent 644ed526
...@@ -34,5 +34,8 @@ public interface SysSmsService extends BaseService<SysSmsEntity> { ...@@ -34,5 +34,8 @@ public interface SysSmsService extends BaseService<SysSmsEntity> {
* @param status 发送状态 * @param status 发送状态
*/ */
void save(Integer platform, String mobile, LinkedHashMap<String, String> params, Integer status); void save(Integer platform, String mobile, LinkedHashMap<String, String> params, Integer status);
// 发送短信的服务封装
String sendMessageServer(String[] mobileArray,String context);
} }
...@@ -9,15 +9,20 @@ import io.hmit.common.exception.ErrorCode; ...@@ -9,15 +9,20 @@ import io.hmit.common.exception.ErrorCode;
import io.hmit.common.exception.HmitException; import io.hmit.common.exception.HmitException;
import io.hmit.common.page.PageData; import io.hmit.common.page.PageData;
import io.hmit.common.service.impl.BaseServiceImpl; import io.hmit.common.service.impl.BaseServiceImpl;
import io.hmit.common.utils.HttpRequestUtil;
import io.hmit.common.utils.MD5;
import io.hmit.modules.message.dao.SysSmsDao; import io.hmit.modules.message.dao.SysSmsDao;
import io.hmit.modules.message.dto.SysSmsDTO; import io.hmit.modules.message.dto.SysSmsDTO;
import io.hmit.modules.message.entity.SysSmsEntity; import io.hmit.modules.message.entity.SysSmsEntity;
import io.hmit.modules.message.service.SysSmsService; import io.hmit.modules.message.service.SysSmsService;
import io.hmit.modules.message.sms.AbstractSmsService; import io.hmit.modules.message.sms.AbstractSmsService;
import io.hmit.modules.message.sms.SmsFactory; import io.hmit.modules.message.sms.SmsFactory;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
...@@ -90,4 +95,47 @@ public class SysSmsServiceImpl extends BaseServiceImpl<SysSmsDao, SysSmsEntity> ...@@ -90,4 +95,47 @@ public class SysSmsServiceImpl extends BaseServiceImpl<SysSmsDao, SysSmsEntity>
this.insert(sms); this.insert(sms);
} }
@Override
public String sendMessageServer(String[] mobileArray, String context) {
//手机号码
//String[] d= new String[]{"18368404744"}; //,"15968471110","13806679240"
//短信内容
//String content = "这是新短信接口的测试内容,你收到了说明你正在参与测试哦!";
// http 接口地址
String QUERY_URL = "http://api.eyun.openmas.net/yunmas_api/smsApi/batchSendMessage";
// 存放请求参数
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
LocalDateTime localDateTime = LocalDateTime.now();
String s3 = localDateTime.format(dateTimeFormatter);
System.out.println(s3);
JSONObject param = new JSONObject();
param.put("applicationId", "dvANIKzdaYThIx244lPTVou4Bs9BVt2KtL0"); //appKey
param.put("password", "2xKxZezvxmRLMnU"); //AppSecret
param.put("requestTime", s3); //请求时间
param.put("sign", MD5.md5("dvANIKzdaYThIx244lPTVou4Bs9BVt2KtL0"+"2xKxZezvxmRLMnU"+s3+"sIlYfnZzZAUj6AD")); //接口校验令牌
param.put("funCode","1002"); //服务代码
param.put("sendTime",""); //发送时间,用以定时发送
param.put("mobiles",mobileArray); //手机号码集合
param.put("extendCode","07"); // 拓展号 必须填写数字,不能超过7位
param.put("content",context); //短信内容
// 设置请求的Headers头信息
LinkedHashMap<String, String> headers = new LinkedHashMap<String, String>();
headers.put("Content-Type", "application/json");
headers.put("Charset", "UTF-8");
// 发送 POST 请求
JSONObject jsonObj = HttpRequestUtil.sendMessagePOST(QUERY_URL, param.toString(), headers);
//HttpRequestUtil.sendPost(QUERY_URL, param.toString(), headers);
String resultCode = jsonObj.getString("resultCode");
String resultMsg = jsonObj.getString("resultMsg");
System.out.println("resultCode===="+resultCode);
System.out.println("resultMsg====="+resultMsg);
return "resultCode===="+resultCode+"///resultMsg====="+resultMsg;
}
} }
...@@ -6,9 +6,12 @@ spring: ...@@ -6,9 +6,12 @@ spring:
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
# url: jdbc:mysql://112.51.130.215:3306/security_enterprise?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # url: jdbc:mysql://112.51.130.215:3306/security_enterprise?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/bl_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false # url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/bl_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/fh_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false # url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/fh_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
username: root url: jdbc:mysql://119.3.143.77:3306/bl_appointment?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
password: Hmit@2020 # username: root
# password: Hmit@2020
username: hmit_user
password: HmitUser@1234
# #Oracle # #Oracle
# driver-class-name: oracle.jdbc.OracleDriver # driver-class-name: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@localhost:1521:xe # url: jdbc:oracle:thin:@localhost:1521:xe
......
...@@ -21,11 +21,11 @@ public class ZhelibanAPP { ...@@ -21,11 +21,11 @@ public class ZhelibanAPP {
//北仑的个人认证接入码 //北仑的个人认证接入码
// public static final String SERVICE_CODE = "blzwfwyyqhxt"; public static final String SERVICE_CODE = "blzwfwyyqhxt";
// public static final String SERVICE_PASS = "blzwfwyyqhxtpwd"; public static final String SERVICE_PASS = "blzwfwyyqhxtpwd";
//奉化的个人认证接入码 //奉化的个人认证接入码
public static final String SERVICE_CODE = "fhzwfwyyqh"; // public static final String SERVICE_CODE = "fhzwfwyyqh";
public static final String SERVICE_PASS = "fhzwfwyyqhpwd"; // public static final String SERVICE_PASS = "fhzwfwyyqhpwd";
// public static final String APP_BASE_URL = "https://puser.zjzwfw.gov.cn/sso/servlet/simpleauth?method="; // public static final String APP_BASE_URL = "https://puser.zjzwfw.gov.cn/sso/servlet/simpleauth?method=";
public static final String APP_BASE_URL = "https://appapi.zjzwfw.gov.cn/sso/servlet/simpleauth?method="; public static final String APP_BASE_URL = "https://appapi.zjzwfw.gov.cn/sso/servlet/simpleauth?method=";
public static final String VALIDATION_TICKET = "ticketValidation"; public static final String VALIDATION_TICKET = "ticketValidation";
......
...@@ -204,7 +204,8 @@ public class AppointmentOrderController { ...@@ -204,7 +204,8 @@ public class AppointmentOrderController {
//调用取号机取号接口,获取取号信息,并更新预约号。 //调用取号机取号接口,获取取号信息,并更新预约号。
// http://IP:8223/smartqueue/yynumber?sQueueInfoID=24&time=1613389800&sign=ee2c3fc1bdabf439f00aa90af6a0a68f&sTel=13988888888&sName=王小二&sCardID=333111123456 // http://IP:8223/smartqueue/yynumber?sQueueInfoID=24&time=1613389800&sign=ee2c3fc1bdabf439f00aa90af6a0a68f&sTel=13988888888&sName=王小二&sCardID=333111123456
// 北仑 String url = "http://10.35.28.211:8223/smartqueue/yynumber?" + // 北仑 String url = "http://10.35.28.211:8223/smartqueue/yynumber?" +
String url = "http://172.19.240.230:8223/smartqueue/yynumber?" + // String url = "http://172.19.240.230:8223/smartqueue/yynumber?" +
String url = "http://10.35.28.211:8223/smartqueue/yynumber?" +
"sQueueInfoID=" +serviceId+ "sQueueInfoID=" +serviceId+
"&time="+ nowtime + "&time="+ nowtime +
"&sign="+ MD5.md5(sign)+ "&sign="+ MD5.md5(sign)+
......
...@@ -169,8 +169,9 @@ public class AppointmentOrderServiceImpl extends CrudServiceImpl<AppointmentOrde ...@@ -169,8 +169,9 @@ public class AppointmentOrderServiceImpl extends CrudServiceImpl<AppointmentOrde
public YynumberDTO findByYuNumber(String sPaperNumber) { public YynumberDTO findByYuNumber(String sPaperNumber) {
//调用取号机接口,。 //调用取号机接口,。
// String url = "http://IP:8223/smartqueue/getpaperwait?sPaperNumber=" +sPaperNumber; // String url = "http://IP:8223/smartqueue/getpaperwait?sPaperNumber=" +sPaperNumber;
// 北仑 String url = "http://10.35.28.211:8223/smartqueue/getpaperwait?sPaperNumber=" +sPaperNumber; String url = "http://10.35.28.211:8223/smartqueue/getpaperwait?sPaperNumber=" +sPaperNumber;
String url = "http://172.19.240.230:8223/smartqueue/getpaperwait?sPaperNumber=" +sPaperNumber; //奉化
// String url = "http://172.19.240.230:8223/smartqueue/getpaperwait?sPaperNumber=" +sPaperNumber;
String s = HttpRequestUtil.sendGetAndRetrieveContent(url); String s = HttpRequestUtil.sendGetAndRetrieveContent(url);
// String s = "{\"nStatus\":1,\"sMsg\":\"号码已被呼叫\",\"nWait\":0,\"sCallTime\":\"2021-03-08 16:27:09\",\"sRegTime\":\"2021-03-08 16:26:55\",\"sQueueName\":\"不动产档案查询\",\"listWin\":[\"38号窗口\",\"39号窗口\",\"40号窗口\",\"41号窗口\",\"42号窗口\",\"43号窗口\"]}"; // String s = "{\"nStatus\":1,\"sMsg\":\"号码已被呼叫\",\"nWait\":0,\"sCallTime\":\"2021-03-08 16:27:09\",\"sRegTime\":\"2021-03-08 16:26:55\",\"sQueueName\":\"不动产档案查询\",\"listWin\":[\"38号窗口\",\"39号窗口\",\"40号窗口\",\"41号窗口\",\"42号窗口\",\"43号窗口\"]}";
YynumberDTO yynumberDTO = JSONObject.parseObject(s,YynumberDTO.class); YynumberDTO yynumberDTO = JSONObject.parseObject(s,YynumberDTO.class);
......
...@@ -39,11 +39,11 @@ public class CalendarServiceImpl extends CrudServiceImpl<CalendarDao, CalendarEn ...@@ -39,11 +39,11 @@ public class CalendarServiceImpl extends CrudServiceImpl<CalendarDao, CalendarEn
public List<CalendarDTO> weekDayList() { public List<CalendarDTO> weekDayList() {
String now = DateUtils.format(new Date()); String now = DateUtils.format(new Date());
//获取工作日的日期,用于北仑 //获取工作日的日期,用于北仑
// List<CalendarEntity> calendarList = baseDao.selectList(new QueryWrapper<CalendarEntity>().gt("day",now)
// .ne("holiday",1).ne("holiday",2));
//获取包含工作日和周末的日期,用于奉化
List<CalendarEntity> calendarList = baseDao.selectList(new QueryWrapper<CalendarEntity>().gt("day",now) List<CalendarEntity> calendarList = baseDao.selectList(new QueryWrapper<CalendarEntity>().gt("day",now)
.ne("holiday",2)); .ne("holiday",1).ne("holiday",2));
//获取包含工作日和周末的日期,用于奉化
// List<CalendarEntity> calendarList = baseDao.selectList(new QueryWrapper<CalendarEntity>().gt("day",now)
// .ne("holiday",2));
return ConvertUtils.sourceToTarget(calendarList,CalendarDTO.class); return ConvertUtils.sourceToTarget(calendarList,CalendarDTO.class);
......
...@@ -5,9 +5,12 @@ spring: ...@@ -5,9 +5,12 @@ spring:
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
# url: jdbc:mysql://112.51.130.215:3306/security_enterprise?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # url: jdbc:mysql://112.51.130.215:3306/security_enterprise?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/bl_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&useSSL=false # url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/bl_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&useSSL=false
url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/fh_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&useSSL=false # url: jdbc:mysql://sh-cdb-jsrwe2i2.sql.tencentcdb.com:60548/fh_appointment?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&useSSL=false
username: root url: jdbc:mysql://119.3.143.77:3306/bl_appointment?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
password: Hmit@2020 # username: root
# password: Hmit@2020
username: hmit_user
password: HmitUser@1234
initial-size: 10 initial-size: 10
max-active: 100 max-active: 100
min-idle: 10 min-idle: 10
......
...@@ -26,6 +26,12 @@ ...@@ -26,6 +26,12 @@
<version>1.2.17</version> <version>1.2.17</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
</dependencies> </dependencies>
......
...@@ -289,9 +289,9 @@ public class DateUtils { ...@@ -289,9 +289,9 @@ public class DateUtils {
String [] hours = time[1].split("-"); String [] hours = time[1].split("-");
if(hour.compareTo(hours[1]) >0 ){ if(hour.compareTo(hours[1]) >0 ){
System.out.println("当前小时:"+hour+" > 传入小时:"+ hours[1]); System.out.println("当前小时:"+hour+" > 传入小时:"+ hours[1]);
}
return true; return true;
} }
}
return false; return false;
} }
......
...@@ -4,15 +4,16 @@ import org.apache.commons.codec.binary.Base64; ...@@ -4,15 +4,16 @@ import org.apache.commons.codec.binary.Base64;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import javax.net.ssl.*; import javax.net.ssl.*;
import java.io.BufferedReader; import java.io.*;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.text.MessageFormat;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import net.sf.json.JSONObject;
public class HttpRequestUtil { public class HttpRequestUtil {
...@@ -250,6 +251,80 @@ public class HttpRequestUtil { ...@@ -250,6 +251,80 @@ public class HttpRequestUtil {
return resultCode; return resultCode;
} }
public static JSONObject sendMessagePOST(String apiUrl, String data, LinkedHashMap<String, String> headers) {
StringBuffer strBuffer = null;
String result = null;
JSONObject jsonObj = null;
try {
// 建立连接
URL url = new URL(apiUrl);
/* 获取客户端向服务器端传送数据所依据的协议名称 */
String protocol = url.getProtocol();
if ("https".equalsIgnoreCase(protocol)) {
/* 获取HTTPS请求的SSL证书 */
try {
SSLUtils.ignoreSsl();
} catch (Exception e) {
e.printStackTrace();
}
}
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
// 需要输出
httpURLConnection.setDoOutput(true);
// 需要输入
httpURLConnection.setDoInput(true);
// 不允许缓存
httpURLConnection.setUseCaches(false);
httpURLConnection.setRequestMethod("POST");
// 设置Headers
if (null != headers) {
for (String key : headers.keySet()) {
httpURLConnection.setRequestProperty(key, headers.get(key));
}
}
// 连接会话
httpURLConnection.connect();
// 建立输入流,向指向的URL传入参数
DataOutputStream dos = new DataOutputStream(httpURLConnection.getOutputStream());
// 设置请求参数
dos.write(data.getBytes("UTF-8"));
dos.flush();
dos.close();
// 获得响应状态
int http_StatusCode = httpURLConnection.getResponseCode();
String http_ResponseMessage = httpURLConnection.getResponseMessage();
if (HttpURLConnection.HTTP_OK == http_StatusCode) {
strBuffer = new StringBuffer();
String readLine = new String();
BufferedReader responseReader = new BufferedReader(
new InputStreamReader(httpURLConnection.getInputStream(), "UTF-8"));
while ((readLine = responseReader.readLine()) != null) {
strBuffer.append(readLine);
}
responseReader.close();
result = strBuffer.toString();
if (null == result || result.length() == 0) {
throw new Exception("获取企业(法人)信息失败");
} else {
jsonObj = JSONObject.fromObject(result);
}
} else {
throw new Exception(
MessageFormat.format("请求失败,失败原因: Http状态码 = {0} , {1}", http_StatusCode, http_ResponseMessage));
}
// 断开连接
httpURLConnection.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return jsonObj;
}
/*** /***
* 向指定URL发送POST方法的请求 * 向指定URL发送POST方法的请求
......
...@@ -55,7 +55,7 @@ public class MD5 { ...@@ -55,7 +55,7 @@ public class MD5 {
} }
public static void main(String[] args) throws UnsupportedEncodingException, NoSuchAlgorithmException { public static void main(String[] args) throws UnsupportedEncodingException, NoSuchAlgorithmException {
System.out.println(md5("hjfhsdjfueytRwYSdsa%hdf^jdshfh*KGh$e241613389800")); System.out.println(md5("hjfhsdjfueytRwYSdsa%hdf^jdshfh*KGh$e241613389800"));
System.out.println(md5("kkk")); System.out.println(md5("AAA"));
System.out.println(EncoderByMd5("180@qq.com"+"123456")); System.out.println(EncoderByMd5("180@qq.com"+"123456"));
} }
} }
package io.hmit.common.utils;
import javax.net.ssl.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
/***
* @Description: 忽略HTTPS请求的SSL证书
* @Version: SSLUtils_20180529
* @Team: 公有云技术支持小组
* @Author: 天云小生
*/
public class SSLUtils {
/**
* 忽略HTTPS请求的SSL证书,必须在openConnection之前调用
*
* @throws Exception
*/
public static void ignoreSsl() throws Exception {
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
return true;
}
};
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);
}
private static void trustAllHttpsCertificates() throws Exception {
TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new Trust_Manager();
trustAllCerts[0] = tm;
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
static class Trust_Manager implements TrustManager, X509TrustManager {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(X509Certificate[] certs) {
return true;
}
public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException {
return;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException {
return;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment