job支持指定数据源名称,数据源监控显示数据源名称
This commit is contained in:
141
common/src/main/java/com/jeesite/common/msg/SmsUtils.java
Normal file
141
common/src/main/java/com/jeesite/common/msg/SmsUtils.java
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
package com.jeesite.common.msg;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import com.jeesite.common.io.PropertiesUtils;
|
||||||
|
import com.jeesite.common.lang.DateUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送短信(乐云短信)
|
||||||
|
*/
|
||||||
|
public class SmsUtils {
|
||||||
|
|
||||||
|
private final static Logger logger = LoggerFactory.getLogger(SmsUtils.class);
|
||||||
|
private final static PropertiesUtils props = PropertiesUtils.getInstance();
|
||||||
|
private final static String url = props.getProperty("msg.sms.url", "http://lehuo520.cn/a/sms/api");
|
||||||
|
private final static String data = props.getProperty("msg.sms.data", "username=jeesite&password=jeesite.com");
|
||||||
|
private final static String prefix = props.getProperty("msg.sms.prefix", "【JeeSite】");
|
||||||
|
private final static String suffix = props.getProperty("msg.sms.suffix", "");
|
||||||
|
|
||||||
|
// public static void main(String[] args) {
|
||||||
|
// String phone = "18500000000"; // 收短信人手机号码;例如:18500000000 支持多号码,号码之间用英文逗号隔开,最多100个
|
||||||
|
// String content = "您好,您的验证码是:123456(请勿透露给其他人)感谢您的使用。"; // 输入需要发送内容;例如:你好这是一条测试短信
|
||||||
|
// String smsid = ""; // 短信id,查询短信状态报告时需要,可为空
|
||||||
|
// System.out.println(send(content, phone)); // 发短信
|
||||||
|
// System.out.println(status(smsid, phone)); // 取状态
|
||||||
|
// System.out.println(reply()); //取上行 回复短信
|
||||||
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送短信
|
||||||
|
* @param content 接受内容
|
||||||
|
* @param phone 接受手机号码
|
||||||
|
* @return {"result":"0","describing":"提交成功","sms":[{"phone":"18073110001,18073110002","smsid":"83bd18f1d48b4cc9b9fe7810c768ac43","status":"3"}]}
|
||||||
|
*/
|
||||||
|
public static String send(String content, String phone) {
|
||||||
|
return send(content, phone, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送短信
|
||||||
|
* @param content 接受内容
|
||||||
|
* @param phone 接受手机号码
|
||||||
|
* @param sendtime 发送时间为空立即发送
|
||||||
|
* @return {"result":"0","describing":"提交成功","sms":[{"phone":"18073110001,18073110002","smsid":"83bd18f1d48b4cc9b9fe7810c768ac43","status":"3"}]}
|
||||||
|
*/
|
||||||
|
public static String send(String content, String phone, Date sendTime) {
|
||||||
|
String res = "";
|
||||||
|
try {
|
||||||
|
String param = data + "&phone=" + phone + "&content=" + URLEncoder
|
||||||
|
.encode(prefix + content + suffix, "UTF-8")
|
||||||
|
+ "&sendTime=" + (sendTime != null ? DateUtils
|
||||||
|
.formatDate(sendTime, "yyyyMMddHHmm") : "");
|
||||||
|
res = connectURL(url + "/send", param);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.error(ex.getMessage(), ex);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取状态
|
||||||
|
* @param smsid,phone可为空,为空取最近两天未获取状态报告,沦询间隔时间不能低于5分钟
|
||||||
|
* @return 请求错误返回页面示例: {"result":"-1","describing":"帐号不存在,请检查用户名或者密码是否正确","sms":[]} 请求成功返回页面示例:
|
||||||
|
* {"result":"0","describing":"提交成功","sms":[{"phone":"18073110001","smsid":"83bd18f1d48b4cc9b9fe7810c768ac43","status":"7"},{"phone":"18073110001","smsid":"83bd18f1d48b4cc9b9fe7810c768ac43","status":"8"}]}
|
||||||
|
*/
|
||||||
|
public static String status(String smsid, String phone) {
|
||||||
|
String res = "";
|
||||||
|
try {
|
||||||
|
String param = data + "&smsid=" + smsid;
|
||||||
|
res = connectURL(url + "/status", param);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.error(ex.getMessage(), ex);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取回复
|
||||||
|
* @param smsid:下发短信对应短信ID,taskId同一批任务ID
|
||||||
|
* @return {"result":"0","sms":[{"phone":"18073110001","neirong":"已收到","taskId":"83bd18f1d48b4cc9b9fe7810c768ac43"},"smsId":"83bd18f1d48b48j9b9fe7810c768ac43"}]}
|
||||||
|
*/
|
||||||
|
public static String reply() {
|
||||||
|
String res = "";
|
||||||
|
try {
|
||||||
|
String param = data;
|
||||||
|
res = connectURL(url + "/query", param);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.error(ex.getMessage(), ex);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 进行http提交
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
* @throws IOException
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
private static String connectURL(String url, String param) throws IOException {
|
||||||
|
String res = "";
|
||||||
|
HttpURLConnection urlConn = null;
|
||||||
|
URL url1 = new URL(url);
|
||||||
|
urlConn = (HttpURLConnection) url1.openConnection();
|
||||||
|
urlConn.setRequestMethod("POST");
|
||||||
|
urlConn.setDoOutput(true);
|
||||||
|
OutputStream out = null;
|
||||||
|
BufferedReader rd = null;
|
||||||
|
try{
|
||||||
|
out = urlConn.getOutputStream();
|
||||||
|
out.write(param.getBytes("UTF-8"));
|
||||||
|
out.flush();
|
||||||
|
rd = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));
|
||||||
|
StringBuffer sb = new StringBuffer();
|
||||||
|
int ch;
|
||||||
|
while ((ch = rd.read()) > -1) {
|
||||||
|
sb.append((char) ch);
|
||||||
|
}
|
||||||
|
res = sb.toString().trim();
|
||||||
|
}finally {
|
||||||
|
if (out!=null){
|
||||||
|
out.close();
|
||||||
|
}
|
||||||
|
if (rd!=null){
|
||||||
|
rd.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -228,13 +228,10 @@ public class LoginController extends BaseController{
|
|||||||
}
|
}
|
||||||
model.addAttribute("user", user); // 设置当前用户信息
|
model.addAttribute("user", user); // 设置当前用户信息
|
||||||
|
|
||||||
// 登录成功后,验证码计算器清零
|
|
||||||
BaseAuthorizingRealm.isValidCodeLogin(loginInfo.getId(), loginInfo.getParam("deviceType"), "success");
|
|
||||||
|
|
||||||
//获取当前会话对象
|
//获取当前会话对象
|
||||||
Session session = UserUtils.getSession();
|
Session session = UserUtils.getSession();
|
||||||
|
|
||||||
// 设置共享SessionId的Cookie值,睿思BI使用。
|
// 设置共享SessionId的Cookie值(第三方系统使用)
|
||||||
String cookieName = Global.getProperty("session.shareSessionIdCookieName");
|
String cookieName = Global.getProperty("session.shareSessionIdCookieName");
|
||||||
if (StringUtils.isNotBlank(cookieName)){
|
if (StringUtils.isNotBlank(cookieName)){
|
||||||
CookieUtils.setCookie((HttpServletResponse)response, cookieName, (String)session.getId());
|
CookieUtils.setCookie((HttpServletResponse)response, cookieName, (String)session.getId());
|
||||||
|
|||||||
@@ -58,8 +58,8 @@
|
|||||||
正在验证登录,请稍后...=Verify login, please later...
|
正在验证登录,请稍后...=Verify login, please later...
|
||||||
立即登录=Login
|
立即登录=Login
|
||||||
|
|
||||||
注册账号=Registered account
|
注册账号=Register
|
||||||
忘记密码=Forgot password
|
忘记密码=Forget Password
|
||||||
|
|
||||||
# =========== 主框架页 ===========
|
# =========== 主框架页 ===========
|
||||||
|
|
||||||
|
|||||||
@@ -54,9 +54,10 @@
|
|||||||
</#form:form>
|
</#form:form>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
|
<a href="${ctxPath}/account/forgetPwd" class="pull-left">[ ${text('忘记密码')} ]</a>
|
||||||
<% if(@ObjectUtils.toBoolean(@Global.getConfig('user.registerUser'))){ %>
|
<% if(@ObjectUtils.toBoolean(@Global.getConfig('user.registerUser'))){ %>
|
||||||
<a href="${ctxPath}/account/registerUser" class="pull-right">${text('注册账号')}</a><% } %>
|
<a href="${ctxPath}/account/registerUser" class="pull-left ml10">[ ${text('注册账号')} ]</a>
|
||||||
<a href="${ctxPath}/account/forgetPwd" class="pull-left">${text('忘记密码')}</a>
|
<% } %>
|
||||||
<%
|
<%
|
||||||
var langTypeList = @DictUtils.getDictList('sys_lang_type');
|
var langTypeList = @DictUtils.getDictList('sys_lang_type');
|
||||||
if (langTypeList.~size > 1){
|
if (langTypeList.~size > 1){
|
||||||
|
|||||||
Reference in New Issue
Block a user