job支持指定数据源名称,数据源监控显示数据源名称

This commit is contained in:
thinkgem
2018-07-12 23:37:47 +08:00
parent 378bec08f2
commit 941be6a52e
4 changed files with 147 additions and 8 deletions

View 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:下发短信对应短信IDtaskId同一批任务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;
}
}

View File

@@ -227,14 +227,11 @@ public class LoginController extends BaseController{
return REDIRECT + adminPath + "/login";
}
model.addAttribute("user", user); // 设置当前用户信息
// 登录成功后,验证码计算器清零
BaseAuthorizingRealm.isValidCodeLogin(loginInfo.getId(), loginInfo.getParam("deviceType"), "success");
//获取当前会话对象
Session session = UserUtils.getSession();
// 设置共享SessionId的Cookie值睿思BI使用
// 设置共享SessionId的Cookie值(第三方系统使用
String cookieName = Global.getProperty("session.shareSessionIdCookieName");
if (StringUtils.isNotBlank(cookieName)){
CookieUtils.setCookie((HttpServletResponse)response, cookieName, (String)session.getId());

View File

@@ -58,8 +58,8 @@
正在验证登录,请稍后...=Verify login, please later...
立即登录=Login
注册账号=Registered account
忘记密码=Forgot password
注册账号=Register
忘记密码=Forget Password
# =========== 主框架页 ===========

View File

@@ -54,9 +54,10 @@
</#form:form>
<div class="row">
<div class="col-xs-12">
<a href="${ctxPath}/account/forgetPwd" class="pull-left">[ ${text('忘记密码')} ]</a>
<% if(@ObjectUtils.toBoolean(@Global.getConfig('user.registerUser'))){ %>
<a href="${ctxPath}/account/registerUser" class="pull-right">${text('注册账号')}</a><% } %>
<a href="${ctxPath}/account/forgetPwd" class="pull-left">${text('忘记密码')}</a>
<a href="${ctxPath}/account/registerUser" class="pull-left ml10">[ ${text('注册账号')} ]</a>
<% } %>
<%
var langTypeList = @DictUtils.getDictList('sys_lang_type');
if (langTypeList.~size > 1){