...
 
Commits (2)
    https://gitcode.net/qq_33267595/zhglxt/-/commit/e66b1f81c1b3a5af143d91d3995ad9b8d439514c 1、修复菜单栏快速点击导致展开折叠样式问题(I6CWMP) 2023-02-06T16:47:44+08:00 淡蓝色的忧伤 1195465270@qq.com 2、连接池Druid支持新的配置connectTimeout和socketTimeout(I6CLL8) 3、修复异步加载表格树重置列表父节点展开异常问题(I6AGWH) 4、屏蔽定时任务bean违规的字符 5、解决单体版本表格行拖拽操作后,列表底部的总共记录条数变成了undefined问题 6、EhCacheManager改为从bean容器获取,不使用自动装配 https://gitcode.net/qq_33267595/zhglxt/-/commit/791d1dae7a19f8898c78340390f2f758aab0e284 修复异步加载表格树重置列表父节点展开异常问题(I6AGWH) 2023-02-06T17:16:12+08:00 淡蓝色的忧伤 1195465270@qq.com
......@@ -27,6 +27,13 @@ public class DruidProperties {
@Value("${spring.datasource.druid.maxWait}")
private int maxWait;
@Value("${spring.datasource.druid.connectTimeout}")
private int connectTimeout;
@Value("${spring.datasource.druid.socketTimeout}")
private int socketTimeout;
@Value("${spring.datasource.druid.timeBetweenEvictionRunsMillis}")
private int timeBetweenEvictionRunsMillis;
......@@ -70,6 +77,12 @@ public class DruidProperties {
/** 配置获取连接等待超时的时间 */
datasource.setMaxWait(maxWait);
/** 配置驱动连接超时时间,检测数据库建立连接的超时时间,单位是毫秒 */
datasource.setConnectTimeout(connectTimeout);
/** 配置网络超时时间,等待数据库操作完成的网络超时时间,单位是毫秒 */
datasource.setSocketTimeout(socketTimeout);
/** 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 */
datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
......
......@@ -114,7 +114,9 @@ public class ScheduleUtils {
return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR);
}
Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]);
return StringUtils.containsAnyIgnoreCase(obj.getClass().getPackage().getName(), Constants.JOB_WHITELIST_STR);
String beanPackageName = obj.getClass().getPackage().getName();
return StringUtils.containsAnyIgnoreCase(beanPackageName, Constants.JOB_WHITELIST_STR)
&& !StringUtils.containsAnyIgnoreCase(beanPackageName, Constants.JOB_ERROR_STR);
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.zhglxt.system.service.impl;
import com.zhglxt.common.constant.ShiroConstants;
import com.zhglxt.common.utils.DateUtils;
import com.zhglxt.common.utils.StringUtils;
import com.zhglxt.common.utils.spring.SpringUtils;
import com.zhglxt.system.entity.SysUserOnline;
import com.zhglxt.system.mapper.SysUserOnlineMapper;
import com.zhglxt.system.service.ISysUserOnlineService;
......@@ -26,9 +27,6 @@ public class SysUserOnlineServiceImpl implements ISysUserOnlineService {
@Autowired
private SysUserOnlineMapper userOnlineDao;
@Autowired
private EhCacheManager ehCacheManager;
/**
* 通过会话序号查询信息
*
......@@ -108,6 +106,7 @@ public class SysUserOnlineServiceImpl implements ISysUserOnlineService {
*/
@Override
public void removeUserCache(String loginName, String sessionId) {
EhCacheManager ehCacheManager= SpringUtils.getBean(EhCacheManager.class);
Cache<String, Deque<Serializable>> cache = ehCacheManager.getCache(ShiroConstants.SYS_USERCACHE);
Deque<Serializable> deque = cache.get(loginName);
if (StringUtils.isEmpty(deque) || deque.size() == 0) {
......
......@@ -465,8 +465,8 @@ public class DemoTableController extends BaseController {
}
}
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = (pageDomain.getPageNum() - 1) * 10;
Integer pageSize = pageDomain.getPageNum() * 10;
Integer pageNum = (pageDomain.getPageNum() - 1) * pageDomain.getPageSize();
Integer pageSize = pageDomain.getPageNum() * pageDomain.getPageSize();
if (pageSize > areaList.size())
{
pageSize = areaList.size();
......
......@@ -26,6 +26,10 @@ spring:
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置连接超时时间
connectTimeout: 30000
# 配置网络超时时间
socketTimeout: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
......
......@@ -5,7 +5,7 @@ zhglxt:
# 版本
version: 4.7.6
# 版权年份
copyrightYear: 2022
copyrightYear: 2023
# 实例演示开关
demoEnabled: false
# 文件路径 ( Windows配置: D:/zhglxt_userfiles ;Linux配置: /usr/projects/zhglxt/zhglxt_userfiles )
......
......@@ -182,7 +182,7 @@
$.ajax({
type: options.type,
url: options.url,
data: $.extend(parms, options.ajaxParams),
data: parms,
dataType: "json",
success: function(data, textStatus, jqXHR) {
data = calculateObjectValue(options, options.responseHandler, [data], data);
......
/*
* metismenu - v1.1.3
* Easy menu jQuery plugin for Twitter Bootstrap 3
* metismenu - v2.0.2
* A jQuery menu plugin
* https://github.com/onokumus/metisMenu
*
* Made by Osman Nuri Okumus
* Under MIT License
*/
;(function($, window, document, undefined) {
var pluginName = "metisMenu",
defaults = {
toggle: true,
doubleTapToGo: false
};
function Plugin(element, options) {
this.element = $(element);
this.settings = $.extend({}, defaults, options);
this._defaults = defaults;
this._name = pluginName;
this.init();
}
Plugin.prototype = {
init: function() {
var $this = this.element,
$toggle = this.settings.toggle,
obj = this;
if (this.isIE() <= 9) {
$this.find("li.active").has("ul").children("ul").collapse("show");
$this.find("li").not(".active").has("ul").children("ul").collapse("hide");
} else {
$this.find("li.active").has("ul").children("ul").addClass("collapse in");
$this.find("li").not(".active").has("ul").children("ul").addClass("collapse");
}
//add the "doubleTapToGo" class to active items if needed
if (obj.settings.doubleTapToGo) {
$this.find("li.active").has("ul").children("a").addClass("doubleTapToGo");
}
$this.find("li").has("ul").children("a").on("click" + "." + pluginName, function(e) {
e.preventDefault();
//Do we need to enable the double tap
if (obj.settings.doubleTapToGo) {
//if we hit a second time on the link and the href is valid, navigate to that url
if (obj.doubleTapToGo($(this)) && $(this).attr("href") !== "#" && $(this).attr("href") !== "") {
e.stopPropagation();
document.location = $(this).attr("href");
return;
}
}
$(this).parent("li").toggleClass("active").children("ul").collapse("toggle");
if ($toggle) {
$(this).parent("li").siblings().removeClass("active").children("ul.in").collapse("hide");
}
});
},
isIE: function() { //https://gist.github.com/padolsey/527683
var undef,
v = 3,
div = document.createElement("div"),
all = div.getElementsByTagName("i");
while (
div.innerHTML = "<!--[if gt IE " + (++v) + "]><i></i><![endif]-->",
all[0]
) {
return v > 4 ? v : undef;
}
},
//Enable the link on the second click.
doubleTapToGo: function(elem) {
var $this = this.element;
//if the class "doubleTapToGo" exists, remove it and return
if (elem.hasClass("doubleTapToGo")) {
elem.removeClass("doubleTapToGo");
return true;
}
//does not exists, add a new class and return false
if (elem.parent().children("ul").length) {
//first remove all other class
$this.find(".doubleTapToGo").removeClass("doubleTapToGo");
//add the class on the current element
elem.addClass("doubleTapToGo");
return false;
}
},
remove: function() {
this.element.off("." + pluginName);
this.element.removeData(pluginName);
}
};
$.fn[pluginName] = function(options) {
this.each(function () {
var el = $(this);
if (el.data(pluginName)) {
el.data(pluginName).remove();
}
el.data(pluginName, new Plugin(this, options));
});
return this;
};
})(jQuery, window, document);
!function(a){"use strict";function b(){var a=document.createElement("mm"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}function c(b){return this.each(function(){var c=a(this),d=c.data("mm"),f=a.extend({},e.DEFAULTS,c.data(),"object"==typeof b&&b);d||c.data("mm",d=new e(this,f)),"string"==typeof b&&d[b]()})}a.fn.emulateTransitionEnd=function(b){var c=!1,e=this;a(this).one("mmTransitionEnd",function(){c=!0});var f=function(){c||a(e).trigger(d.end)};return setTimeout(f,b),this};var d=b();d&&(a.event.special.mmTransitionEnd={bindType:d.end,delegateType:d.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}});var e=function(b,c){this.$element=a(b),this.options=a.extend({},e.DEFAULTS,c),this.transitioning=null,this.init()};e.TRANSITION_DURATION=350,e.DEFAULTS={toggle:!0,doubleTapToGo:!1,activeClass:"active"},e.prototype.init=function(){var b=this,c=this.options.activeClass;this.$element.find("li."+c).has("ul").children("ul").addClass("collapse in"),this.$element.find("li").not("."+c).has("ul").children("ul").addClass("collapse"),this.options.doubleTapToGo&&this.$element.find("li."+c).has("ul").children("a").addClass("doubleTapToGo"),this.$element.find("li").has("ul").children("a").on("click.metisMenu",function(d){var e=a(this),f=e.parent("li"),g=f.children("ul");return d.preventDefault(),f.hasClass(c)?b.hide(g):b.show(g),b.options.doubleTapToGo&&b.doubleTapToGo(e)&&"#"!==e.attr("href")&&""!==e.attr("href")?(d.stopPropagation(),void(document.location=e.attr("href"))):void 0})},e.prototype.doubleTapToGo=function(a){var b=this.$element;return a.hasClass("doubleTapToGo")?(a.removeClass("doubleTapToGo"),!0):a.parent().children("ul").length?(b.find(".doubleTapToGo").removeClass("doubleTapToGo"),a.addClass("doubleTapToGo"),!1):void 0},e.prototype.show=function(b){var c=this.options.activeClass,f=a(b),g=f.parent("li");if(!this.transitioning&&!f.hasClass("in")){g.addClass(c),this.options.toggle&&this.hide(g.siblings().children("ul.in")),f.removeClass("collapse").addClass("collapsing").height(0),this.transitioning=1;var h=function(){f.removeClass("collapsing").addClass("collapse in").height(""),this.transitioning=0};return d?void f.one("mmTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(e.TRANSITION_DURATION).height(f[0].scrollHeight):h.call(this)}},e.prototype.hide=function(b){var c=this.options.activeClass,f=a(b);if(!this.transitioning&&f.hasClass("in")){f.parent("li").removeClass(c),f.height(f.height())[0].offsetHeight,f.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var g=function(){this.transitioning=0,f.removeClass("collapsing").addClass("collapse")};return d?void f.height(0).one("mmTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(e.TRANSITION_DURATION):g.call(this)}};var f=a.fn.metisMenu;a.fn.metisMenu=c,a.fn.metisMenu.Constructor=e,a.fn.metisMenu.noConflict=function(){return a.fn.metisMenu=f,this}}(jQuery);
\ No newline at end of file
......@@ -32,11 +32,14 @@
showRefresh: false,
showToggle: false,
showColumns: false,
onReorderRow: function (data) {
onReorderRow: function (data, newRow, oldRow, el) {
//当拖拽结束后,data为整个表格的数据
console.table(data)
// 当sidePagination: "server"时,拖拽行后顺序错乱,需要重新调用加载数据方法
$("#" + table.options.id).bootstrapTable('load', data);
//当sidePagination: "server"时,拖拽行后顺序错乱,需要重新调用加载数据方法
$("#" + table.options.id).bootstrapTable('load', {
total: el._xhr.responseJSON.total,
rows: data
});
return false;
},
columns: [{
......
......@@ -60,7 +60,7 @@
</div>
<div class="signup-footer">
<div style="text-align: center">
Copyright © 2019-2022 <a style="color: #FFFFFF" href="http://zhglxt.dlsdys.com">liuwy</a> All Rights Reserved.
Copyright © 2019-2023 <a style="color: #FFFFFF" href="http://zhglxt.dlsdys.com">liuwy</a> All Rights Reserved.
</div>
</div>
</div>
......
......@@ -56,12 +56,18 @@
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title">
<a data-toggle="collapse" data-parent="#version" href="#latest_version">latest version</a><code class="pull-right">2022.12.18-2023-01-26</code>
<a data-toggle="collapse" data-parent="#version" href="#latest_version">latest version</a><code class="pull-right">2022.12.18-2023.02.06</code>
</h5>
</div>
<div id="latest_version" class="panel-collapse collapse in">
<div class="panel-body">
<ol>
<li>修复菜单栏快速点击导致展开折叠样式问题(I6CWMP)</li>
<li>连接池Druid支持新的配置connectTimeout和socketTimeout(I6CLL8)</li>
<li>修复异步加载表格树重置列表父节点展开异常问题(I6AGWH)</li>
<li>屏蔽定时任务bean违规的字符</li>
<li>解决单体版本表格行拖拽操作后,列表底部的总共记录条数变成了undefined问题</li>
<li>EhCacheManager改为从bean容器获取,不使用自动装配</li>
<li>升级jquery到最新版v3.6.3</li>
<li>修复页签属性refresh为undefined时页面被刷新问题</li>
<li>主子表根据序号删除方法加入表格ID参数</li>
......
......@@ -74,7 +74,7 @@
</div>
<div class="signup-footer">
<div style="text-align: center">
Copyright © 2019-2022 <a style="color: #FFFFFF" href="http://zhglxt.dlsdys.com">liuwy</a> All Rights Reserved.
Copyright © 2019-2023 <a style="color: #FFFFFF" href="http://zhglxt.dlsdys.com">liuwy</a> All Rights Reserved.
</div>
</div>
</div>
......