配置统计修改为功能统计
This commit is contained in:
@@ -743,4 +743,7 @@ public final class Constants {
|
||||
public static final Integer DEFAULT_MAX_PERROUTE=Configurations.getIntProperty("default_max_perroute", 100);
|
||||
public static final Integer POOLCM_SOCKET_TIMEOUT=Configurations.getIntProperty("poolcm_socket_timeout", 3000);
|
||||
|
||||
public static final String POLICIES_MENU_ID=Configurations.getStringProperty("policies_menu_id", "86");
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.mchange.v1.util.MapUtils;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysArea;
|
||||
import com.nis.domain.SysMenu;
|
||||
import com.nis.domain.configuration.CfgIndexInfo;
|
||||
import com.nis.domain.configuration.RequestInfo;
|
||||
import com.nis.util.CacheUtils;
|
||||
@@ -36,6 +37,7 @@ import com.nis.util.DictUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.StringUtils;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.BaseService;
|
||||
import com.nis.web.service.CommonService;
|
||||
|
||||
@@ -57,13 +59,15 @@ public class ConfigureStatisticsController extends BaseController{
|
||||
/****************************Request Info Statistics*****************************/
|
||||
//1、查询所有有效的service
|
||||
List<FunctionServiceDict> serviceDictList = DictUtils.getFunctionServiceDictList();
|
||||
//2、根据来函分页
|
||||
//2、查询所有菜单
|
||||
List<SysMenu> menuList = UserUtils.getMenuCfgList();
|
||||
//3、根据来函分页
|
||||
RequestInfo requestInfo=new RequestInfo();
|
||||
requestInfo.setIsAudit(1);
|
||||
requestInfo.setIsValid(1);
|
||||
Page requestPage = requestInfoService.findRequestInfo(new Page(request, response,"r"),requestInfo);
|
||||
List<RequestInfo> requestInfos=requestPage.getList();
|
||||
//3、根据当前页的requestInfo信息查询request统计信息
|
||||
//4、根据当前页的requestInfo信息查询request统计信息
|
||||
List<Object[]> requestStatisticList=new ArrayList<Object[]>();
|
||||
if(!StringUtil.isEmpty(requestInfos)){
|
||||
Date requestStatisticTime=configureStatisticsService.getRequestStatisticTime();
|
||||
@@ -71,7 +75,7 @@ public class ConfigureStatisticsController extends BaseController{
|
||||
if(!StringUtil.isEmpty(requestStatisticTime)){
|
||||
requestStatisticTimeStr=sdf.format(requestStatisticTime);
|
||||
}
|
||||
requestStatisticList=configureStatisticsService.getRequestStateStatistics(requestInfos,serviceDictList,requestStatisticTimeStr);
|
||||
requestStatisticList=configureStatisticsService.getRequestStateStatistics(requestInfos,menuList,requestStatisticTimeStr);
|
||||
if(!StringUtil.isEmpty(requestStatisticList)){
|
||||
for (Iterator iterator = requestStatisticList.iterator(); iterator.hasNext();) {
|
||||
Map map = (Map) iterator.next();
|
||||
|
||||
@@ -24,4 +24,6 @@ public interface SysMenuDao extends CrudDao<SysMenu>{
|
||||
|
||||
Integer getServiceId(@Param("functionId")Integer functionId, @Param("action")Integer action);
|
||||
|
||||
List<SysMenu> findAllCfgList(@Param("policiesMenuId")String policiesMenuId);
|
||||
|
||||
}
|
||||
@@ -27,6 +27,30 @@
|
||||
a.function_id
|
||||
|
||||
</sql>
|
||||
<sql id="menuCfgColumns">
|
||||
a.id,
|
||||
a.parent_id AS "parent.id",
|
||||
a.parent_ids,
|
||||
a.code,
|
||||
a.name,
|
||||
a.href,
|
||||
a.target,
|
||||
a.icon,
|
||||
a.sort,
|
||||
a.is_show,
|
||||
a.permission,
|
||||
a.remarks,
|
||||
a.create_by AS "createBy.id",
|
||||
a.create_date,
|
||||
a.update_by AS "updateBy.id",
|
||||
a.update_date,
|
||||
a.del_flag,
|
||||
a.quick_action,
|
||||
a.menu_bg,
|
||||
a.is_top,
|
||||
a.function_id
|
||||
|
||||
</sql>
|
||||
|
||||
<sql id="menuJoins">
|
||||
LEFT JOIN sys_menu p ON p.id = a.parent_id
|
||||
@@ -48,6 +72,18 @@
|
||||
WHERE a.del_flag = #{DEL_FLAG_NORMAL}
|
||||
ORDER BY a.sort
|
||||
</select>
|
||||
<!-- 查询所有业务配置菜单 -->
|
||||
<select id="findAllCfgList" resultType="sysMenu" parameterType="java.lang.String">
|
||||
SELECT
|
||||
<include refid="menuCfgColumns"/>
|
||||
FROM sys_menu a
|
||||
WHERE a.del_flag = 1
|
||||
and a.is_show=1
|
||||
and function_id is not null
|
||||
<![CDATA[ and function_id <> 0 ]]>
|
||||
<![CDATA[ and function_id <> '' ]]>
|
||||
and a.parent_Ids like CONCAT('%,', #{policiesMenuId}, ',%')
|
||||
</select>
|
||||
|
||||
<select id="findSysMenuByUserId" resultType="sysMenu">
|
||||
SELECT DISTINCT
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysMenu;
|
||||
import com.nis.domain.configuration.HttpBodyCfg;
|
||||
import com.nis.domain.configuration.RequestInfo;
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@@ -18,6 +19,7 @@ public interface ConfigureStatisticsDao {
|
||||
public List<Object[]> getConfigStateStatistics(@Param("statisticTime")String statisticTime);
|
||||
public Date getConfigStatisticTime();
|
||||
public Date getRequestStatisticTime();
|
||||
public List<Object[]> getRequestStateStatistics(@Param("requestList")List<RequestInfo> requestList,@Param("serviceList")List<FunctionServiceDict> serviceList,@Param("statisticTime")String statisticTime) ;
|
||||
public List<Object[]> getRequestStateStatistics(@Param("requestList")List<RequestInfo> requestList,@Param("menuList")List<SysMenu> menuList,@Param("statisticTime")String statisticTime) ;
|
||||
/*public List<Object[]> getRequestStateStatistics(@Param("requestList")List<RequestInfo> requestList,@Param("serviceList")List<FunctionServiceDict> serviceList,@Param("statisticTime")String statisticTime) ;*/
|
||||
public Integer getEffectiveCfgNum(@Param("serviceId")Integer serviceId);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.nis.web.dao.configuration.statistics.ConfigureStatisticsDao" >
|
||||
|
||||
<!-- -->
|
||||
<select id="getConfigStateStatistics" resultType="map">
|
||||
select c.function_id functionId,
|
||||
sum(case when c.cfg_state =1 then 1 else 0 end) as approved,
|
||||
sum(case when c.cfg_state =2 then 1 else 0 end) as unapproved,
|
||||
sum(case when c.cfg_state =3 then 1 else 0 end) as cancle_approved,
|
||||
sum(case when c.cfg_state =0 then 1 else 0 end) as created,
|
||||
sum(case when c.cfg_state =-1 then 1 else 0 end) as deleted
|
||||
from cfg_num_statistics c where c.statistic_time = #{statisticTime}
|
||||
group by c.function_id;
|
||||
</select>
|
||||
<!-- 业务配置数统计 20181126废弃
|
||||
<select id="getConfigStateStatistics" resultType="map">
|
||||
select service_id service,
|
||||
sum(case when c.cfg_state =1 then 1 else 0 end) as approved,
|
||||
@@ -14,9 +25,19 @@
|
||||
where statistic_time = #{statisticTime}
|
||||
) c
|
||||
group by service_id;
|
||||
</select>
|
||||
</select> -->
|
||||
|
||||
<select id="getRequestStateStatistics" resultType="java.util.LinkedHashMap">
|
||||
select request_id request,
|
||||
<foreach item="menu" collection="menuList" separator=",">
|
||||
sum(case when c.function_id =${menu.functionId} then 1 else 0 end) as '${menu.functionId}_${menu.functionId}'
|
||||
</foreach>
|
||||
from request_num_statistics c
|
||||
where statistic_time =#{statisticTime}
|
||||
group by request_id
|
||||
</select>
|
||||
<!-- 来函业务配置数统计 20181126废弃
|
||||
<select id="getRequestStateStatistics" resultType="java.util.LinkedHashMap">
|
||||
select request_id request,
|
||||
<foreach item="serivice" collection="serviceList" separator=",">
|
||||
sum(case when c.service_id =${serivice.serviceId} then 1 else 0 end) as ${serivice.serviceName}
|
||||
@@ -25,7 +46,7 @@
|
||||
where statistic_time =#{statisticTime}
|
||||
) c
|
||||
group by request_id
|
||||
</select>
|
||||
</select> -->
|
||||
<select id="getConfigStatisticTime" resultType="java.util.Date">
|
||||
select min(statistic_time) statistic_time
|
||||
from cfg_num_statistics c
|
||||
|
||||
@@ -53,6 +53,7 @@ public class UserUtils {
|
||||
|
||||
public static final String CACHE_ROLE_LIST = "roleList";
|
||||
public static final String CACHE_MENU_LIST = "menuList";
|
||||
public static final String CACHE_MENU_CFG_LIST = "menuCfgList";
|
||||
public static final String CACHE_AREA_LIST = "areaList";
|
||||
public static final String CACHE_OFFICE_LIST = "officeList";
|
||||
public static final String CACHE_OFFICE_ALL_LIST = "officeAllList";
|
||||
@@ -101,6 +102,7 @@ public class UserUtils {
|
||||
public static void clearCache(){
|
||||
removeCache(CACHE_ROLE_LIST);
|
||||
removeCache(CACHE_MENU_LIST);
|
||||
removeCache(CACHE_MENU_CFG_LIST);
|
||||
removeCache(CACHE_AREA_LIST);
|
||||
removeCache(CACHE_OFFICE_LIST);
|
||||
removeCache(CACHE_OFFICE_ALL_LIST);
|
||||
@@ -186,6 +188,19 @@ public class UserUtils {
|
||||
|
||||
|
||||
|
||||
}
|
||||
/**
|
||||
* 获取所有业务配置菜单
|
||||
* @return
|
||||
*/
|
||||
public static List<SysMenu> getMenuCfgList(){
|
||||
@SuppressWarnings("unchecked")
|
||||
List<SysMenu> menuList = (List<SysMenu>)getCache(CACHE_MENU_CFG_LIST);
|
||||
if (StringUtil.isEmpty(menuList)){
|
||||
menuList = sysMenuDao.findAllCfgList(com.nis.util.Constants.POLICIES_MENU_ID);
|
||||
putCache(CACHE_MENU_CFG_LIST, menuList);
|
||||
}
|
||||
return menuList;
|
||||
}
|
||||
|
||||
public static String getMenuNameById(String id) {
|
||||
|
||||
@@ -67,6 +67,7 @@ public class MenuService extends BaseService {
|
||||
}
|
||||
// 清除用户菜单缓存
|
||||
UserUtils.removeCache(UserUtils.CACHE_MENU_LIST);
|
||||
UserUtils.removeCache(UserUtils.CACHE_MENU_CFG_LIST);
|
||||
// // 清除权限缓存
|
||||
// systemRealm.clearAllCachedAuthorizationInfo();
|
||||
// 清除日志相关缓存
|
||||
@@ -78,6 +79,7 @@ public class MenuService extends BaseService {
|
||||
menuDao.delete(menu);
|
||||
// 清除用户菜单缓存
|
||||
UserUtils.removeCache(UserUtils.CACHE_MENU_LIST);
|
||||
UserUtils.removeCache(UserUtils.CACHE_MENU_CFG_LIST);
|
||||
// // 清除权限缓存
|
||||
// systemRealm.clearAllCachedAuthorizationInfo();
|
||||
// 清除日志相关缓存
|
||||
@@ -89,6 +91,7 @@ public class MenuService extends BaseService {
|
||||
menuDao.updateSort(menu);
|
||||
// 清除用户菜单缓存
|
||||
UserUtils.removeCache(UserUtils.CACHE_MENU_LIST);
|
||||
UserUtils.removeCache(UserUtils.CACHE_MENU_CFG_LIST);
|
||||
// // 清除权限缓存
|
||||
// systemRealm.clearAllCachedAuthorizationInfo();
|
||||
// 清除日志相关缓存
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysMenu;
|
||||
import com.nis.domain.configuration.AreaIpCfg;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.NumBoundaryCfg;
|
||||
@@ -37,11 +38,15 @@ public class ConfigureStatisticsService extends CrudService<NumCfgDao,NumBoundar
|
||||
Date statisticTime=configureStatisticsDao.getRequestStatisticTime();
|
||||
return statisticTime;
|
||||
}
|
||||
public List<Object[]> getRequestStateStatistics(List<RequestInfo> requestList,List<FunctionServiceDict> serviceList,String statistcTime){
|
||||
public List<Object[]> getRequestStateStatistics(List<RequestInfo> requestList,List<SysMenu> menuList,String statistcTime){
|
||||
List<Object[]> dataList=configureStatisticsDao.getRequestStateStatistics(requestList,menuList,statistcTime);
|
||||
return dataList;
|
||||
}
|
||||
/* public List<Object[]> getRequestStateStatistics(List<RequestInfo> requestList,List<FunctionServiceDict> serviceList,String statistcTime){
|
||||
List<Object[]> dataList=configureStatisticsDao.getRequestStateStatistics(requestList,serviceList,statistcTime);
|
||||
return dataList;
|
||||
}
|
||||
public Integer getEffectiveCfgNum(Integer serviceId){
|
||||
*/ public Integer getEffectiveCfgNum(Integer serviceId){
|
||||
return configureStatisticsDao.getEffectiveCfgNum(serviceId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ ssl_control=SSL
|
||||
ssl_feature_control=\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043F\u0440\u0438\u0437\u043D\u0430\u043A\u0430 SSL
|
||||
ssl_sni_control=\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 SSL SNI
|
||||
ssl_address_control=\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 IP SSL
|
||||
HTTP(s)_website_content_replace=\u0437\u0430\u043C\u0435\u043D\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430 HTTPS
|
||||
https_website_content_replace=\u0437\u0430\u043C\u0435\u043D\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430 HTTPS
|
||||
https_website_control=\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0435\u0431-\u0441\u0430\u0439\u0442 HTTPS
|
||||
rtp_ip_control=\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 IP RTP
|
||||
mms_ip_control=\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 IP MMS
|
||||
|
||||
@@ -557,4 +557,6 @@ max_allowed_packet=1048576
|
||||
http_max_connection=1000
|
||||
default_max_perroute=100
|
||||
poolcm_socket_timeout=3000
|
||||
app_vignore_user_region_key=VIGNORE
|
||||
app_vignore_user_region_key=VIGNORE
|
||||
#policies菜单的菜单ID
|
||||
policies_menu_id=86
|
||||
@@ -53,6 +53,13 @@
|
||||
<function-signature>java.util.List getMenuList()</function-signature>
|
||||
<example>${fns:getMenuList()}</example>
|
||||
</function>
|
||||
<function>
|
||||
<description>获取配置菜单对象列表</description>
|
||||
<name>getMenuCfgList</name>
|
||||
<function-class>com.nis.web.security.UserUtils</function-class>
|
||||
<function-signature>java.util.List getMenuCfgList()</function-signature>
|
||||
<example>${fns:getMenuCfgList()}</example>
|
||||
</function>
|
||||
|
||||
<function>
|
||||
<description>获取用户的菜单名称</description>
|
||||
|
||||
@@ -118,8 +118,20 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="letter"/></th>
|
||||
<c:forEach items="${serviceList }" var="serviceDict" varStatus="status" step="1">
|
||||
<th><spring:message code="${serviceDict.serviceName }"/></th>
|
||||
<c:forEach items="${fns:getMenuCfgList() }" var="functionDict" varStatus="status" step="1">
|
||||
<th>
|
||||
<c:choose>
|
||||
<c:when test="${functionDict.functionId eq 8}">
|
||||
HTTP <spring:message code="${functionDict.code }"/>
|
||||
</c:when>
|
||||
<c:when test="${functionDict.functionId eq 35}">
|
||||
MAIL <spring:message code="${functionDict.code }"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<spring:message code="${functionDict.code }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</th>
|
||||
</c:forEach>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -129,9 +141,13 @@
|
||||
<td>
|
||||
${requestStatistics['request']}
|
||||
</td>
|
||||
<c:forEach items="${serviceList }" var="serviceDict" varStatus="status" step="1">
|
||||
<td>${requestStatistics[serviceDict.serviceName]}</td>
|
||||
</c:forEach>
|
||||
<c:forEach items="${fns:getMenuCfgList() }" var="functionDict" varStatus="status" step="1">
|
||||
<td>
|
||||
<c:set var="functionId" value="${functionDict.functionId}_${functionDict.functionId}"></c:set>
|
||||
${requestStatistics[functionId]}
|
||||
</<td>
|
||||
</c:forEach>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
@@ -158,16 +174,34 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${configStatistics }" var="statistics" varStatus="status" step="1">
|
||||
<c:set var="serviceName" value=""></c:set>
|
||||
<%-- <c:set var="serviceName" value=""></c:set>
|
||||
<c:forEach items="${serviceList }" var="serviceDict" varStatus="status" step="1">
|
||||
<c:if test="${serviceDict.serviceId eq statistics.service }">
|
||||
<c:set var="serviceName" value="${serviceDict.serviceName }"></c:set>
|
||||
</c:if>
|
||||
</c:forEach> --%>
|
||||
<c:set var="functionName" value=""></c:set>
|
||||
<c:forEach items="${fns:getMenuCfgList() }" var="functionDict" varStatus="status" step="1">
|
||||
<c:if test="${(functionDict.functionId eq statistics.functionId)}">
|
||||
<c:choose>
|
||||
<c:when test="${functionDict.functionId eq 8 && functionDict.code eq 'advanced'}">
|
||||
<c:set var="functionName" value="HTTP ${functionDict.code }"></c:set>
|
||||
</c:when>
|
||||
<c:when test="${functionDict.functionId eq 35 && functionDict.code eq 'advanced'}">
|
||||
<c:set var="functionName" value="MAIL ${functionDict.code }"></c:set>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:set var="functionName" value="${functionDict.code }"></c:set>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${!empty serviceName }">
|
||||
<%-- <c:if test="${!empty serviceName }"> --%>
|
||||
<c:if test="${!empty functionName }">
|
||||
<tr>
|
||||
<td>
|
||||
<spring:message code="${serviceName }"/>
|
||||
<%-- <spring:message code="${serviceName }"/>${serviceName } --%>
|
||||
<spring:message code="${functionName }"/>
|
||||
</td>
|
||||
<td>
|
||||
${statistics.approved }
|
||||
|
||||
Reference in New Issue
Block a user