oper
package main.java.com.zte.controller.ems; import java.util.HashMap;
import java.util.List;
import java.util.Map; import javax.annotation.Resource; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import main.java.com.zte.controller.base.BaseController;
import main.java.com.zte.entity.Page;
import main.java.com.zte.service.ems.OperationService;
import main.java.com.zte.util.DateUtil;
import main.java.com.zte.util.PageData;
import main.java.com.zte.util.Tools; /**
* EMS上用户操作日志处理类
*
* @author 10183302
*
*/
@Controller
@RequestMapping(value = "/ems/operation")
public class OperationController extends BaseController {
private static final String FAILD = "Failed";
private static final String OPERATION_RESULT = "operationResult";
private static final String OPER_COUNT = "OPER_COUNT";
private static final String EMS_USER_OPERATION_CHARTS = "ems/user_operation_charts";
private static final String USER_OPERATION_FAILED_COUNT = "userOperationFailedCount";
private static final String USER_OPERATION_NAME_COUNT = "userOperationNameCount";
private static final String USER_COUNT = "userCount";
private static final String OPERATION_NAME_LIST = "operationNameList";
private static final String IP_LIST = "ipList";
private static final String START_TIME = "START_TIME";
private static final String TASK_ID_STR = "taskId";
private static final String TASK_ID_NUM_STR = "1470880530369";
private static final String HOST_STR_UPPER = "HOST";
private static final String HOST_STR_LOWER = "ip";
private static final String OPERATION_NAME_STR_LOWER = "operationName";
private static final String LOG_NAME_STR_UPPER = "OPERATION_NAME"; @Resource(name = "operationService")
private OperationService operationService; @RequestMapping(value = "/to_user_operation_charts")
public ModelAndView toUserOperationCharts(Page page,
@RequestParam(value = TASK_ID_STR, required = false) String taskId)
throws Exception {
ModelAndView mv = this.getModelAndView();
PageData pd = new PageData();
List<PageData> ipList = null;
List<PageData> operationNameList = null;
List<PageData> userCount = null;
List<PageData> userOperationNameCount = null;
List<PageData> userOperationFailedCount = null;
try {
pd = this.getPageData();
if (!Tools.notEmpty(taskId)) {
taskId = TASK_ID_NUM_STR;
}
pd.put(TASK_ID_STR, taskId);
ipList = operationService.getOperationIp(pd);
if (null != ipList) {
pd.put(HOST_STR_LOWER, ipList.get(0).get(HOST_STR_UPPER));
operationNameList = operationService.getOperationName(pd);
pd.put(OPERATION_NAME_STR_LOWER,
operationNameList.get(0).get(LOG_NAME_STR_UPPER));
page.setPd(pd);
userCount = operationService.userCount(pd);
userOperationNameCount = operationService
.userOperationNameCount(pd);
pd.put(OPERATION_RESULT, FAILD);
userOperationFailedCount = operationService
.userOperationFailedCount(pd);
}
} catch (Exception e) {
logger.error(e.toString(), e);
}
mv.addObject(IP_LIST, ipList);
mv.addObject(OPERATION_NAME_LIST, operationNameList);
mv.addObject(USER_COUNT, userCount);
mv.addObject(USER_OPERATION_NAME_COUNT, userOperationNameCount);
mv.addObject(USER_OPERATION_FAILED_COUNT, userOperationFailedCount);
mv.setViewName(EMS_USER_OPERATION_CHARTS);
return mv;
} @RequestMapping(value = "/user_operation_charts")
@ResponseBody
public Map userOperationCharts(Page page,
@RequestParam(value = TASK_ID_STR, required = false) String taskId) {
PageData pd = new PageData();
List<PageData> userOperDatas = null;
JSONObject chartsUserOperJson = new JSONObject();
Map<String, Double> userOperDataMap = new HashMap<String, Double>();
try {
pd = this.getPageData();
if (!Tools.notEmpty(taskId)) {
taskId = TASK_ID_NUM_STR;
}
pd.put(TASK_ID_STR, taskId);
/*
* pd.put(HOST_STR_LOWER, ip); pd.put(OPERATION_NAME_STR_LOWER,
* operationName);
*/
userOperDatas = operationService.userOperationCharts(pd);
// 存放一个图表OPER_COUNT,START_TIME
if (!userOperDatas.isEmpty()) {
String time = "";
double operCount = 0;
for (PageData userOperData : userOperDatas) {
time = DateUtil.convertUTCTimeMillis(userOperData.get(
START_TIME).toString());
operCount = Double.valueOf(userOperData.get(OPER_COUNT)
.toString());
userOperDataMap.put(time, operCount);
}
chartsUserOperJson = JSONObject.fromObject(userOperDataMap);
}
} catch (Exception e) {
logger.error(e.toString(), e);
} Map<String, Double> map = new HashMap<String, Double>();
map.put("1", 21.1);
map.put("2", 33.3);
map.put("3", 44.4);
JSONObject jsonObject = JSONObject.fromObject(map);
return userOperDataMap;
} @RequestMapping(value = "/get_operation_name")
@ResponseBody
public String getOperationName(
@RequestParam(value = HOST_STR_LOWER, required = false) String ip) {
PageData pd = new PageData();
List<PageData> operationNameList = null;
try {
pd = this.getPageData();
pd.put(HOST_STR_LOWER, ip);
operationNameList = operationService.getOperationName(pd);
} catch (Exception e) {
logger.error(e.toString(), e);
}
return JSONArray.fromObject(operationNameList).toString();
}
}
oper的更多相关文章
- ERROR 1227 (42000): Access denied; you need (at least one of) the PROCESS privilege(s) for this oper
1 用以往的mysql登陆模式登陆 [mysql@eanintmydbc002db1 mysqllog]$ mysql Enter password: Welcome to the MySQL m ...
- 函数指针 如:void (*oper)(ChainBinTreee *p)
在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址.我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数.然后通过指针变量就可以找到并调用 ...
- scala mysql jdbc oper
package egsql import java.util.Properties import com.sun.org.apache.xalan.internal.xsltc.compiler.ut ...
- Linux碎碎念
在学习Linux过程中,有许多有用的小技巧.如果放在纸质的笔记本上,平时查阅会相当不方便.现在以一种“碎碎念”的方式,汇集整理在此,目前还不是很多,但随着学习.工作的深入,后续会陆陆续续添加更多的小技 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(12)-系统日志和异常的处理②
系列目录 上一讲我们做了日志与异常的结果显示列表,这一节我们讲要把他应用系统中来. 首先我们在App.Common类库中创建一个通用类ResultHelper,这个类里面写了,获取一个GUID,获取当 ...
- VS2013:Unit Test 单元测试入门
一.打开VS ,找到工具栏的“工具->扩展和更新”,添加图片内容 二.新建控制台应用程序: CalculatorDemo 三.新建类:Operation.cs,并添加方法 namespace C ...
- 从接口、抽象类到工厂模式再到JVM来总结一些问题
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 涉及到的知识点总结如下: 为什么使用接口? 接口和抽象类的区别 简单工厂模式总结 Java中new和newInstance的区别 J ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- Linux平台 Oracle 11gR2 RAC安装Part1:准备工作
一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...
随机推荐
- 【笨木头Lua专栏】基础补充05:迭代器番外篇
关于迭代器的内容, 另一点点,只是已经无关紧要了.应该算是一种扩展吧.就一起来开开眼界好了~ 笨木头花心贡献.哈?花心?不.是用心~ 转载请注明,原文地址: http://www.benmutou.c ...
- CSDN积分规则具体解释--【叶子】
前记:在CSDN的社区支持板块,常常看到有人提问,为什么有积分却不能下载,此类问题层出不穷,而论坛的各种积分制度说明又非常分散,不便于寻找,为了方便新注冊用户高速了解论坛的积分规则,也为了降低社区支持 ...
- 细说Unity3D(一)——移动平台动态读取外部文件全解析
前言: 一直有个想法,就是把工作中遇到的坑通过自己的深挖总结成一套相同问题的解决方案供各位同行拍砖探讨.眼瞅着2015年第一个工作日就要来到了,小匹夫也休息的差不多了,寻思着也该写点东西活动活动大脑和 ...
- Spring+Quartz实现文件中转站
其实这个功能QQ邮箱就有,为什么还要自己开发一个呢?因为有的文件非常重要...其实是客户要求... 那么我们先来看一下QQ的界面: 我们设计的界面: 文件要到期了是否通知用户?这里我们支持邮件及短信方 ...
- 《深入理解C指针》
<深入理解C指针> 基本信息 原书名:Understanding and using C pointers 作者: (美)Richard Reese 译者: 陈晓亮 丛书名: 图灵程序设计 ...
- C语言的32个保留字
auto :声明自动变量 double :声明双精度变量或函数 int: 声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与 if 连用 ...
- Spring Validation
Spring Validation模块用于表单数据验证配置,示例如下 依赖Jar包 <dependency> <groupId>javax.validation</gro ...
- eclipse oracle Database Manager plugin oracle数据库连接插件
在eclipseIDE中开发项目需要经常连接oracle数据库,装一些oracle client 去连接数据库,界面来回切换比较麻烦,所以专门找了一个eclipse插件专门连接oracle,跟大家分享 ...
- Android数据填充器LayoutInflater
LayoutInflater类在应用程序中比较实用,可以叫布局填充器,也可以成为打气筒,意思就是将布局文件填充到自己想要的位置,LayoutInflater是用来找res/layout/下的xml布局 ...
- Android -- Drawable && Bitmap
Bitmap转Drawable Bitmap bm=xxx; BitmapDrawable bd=new BitmapDrawable(bm); 因为BtimapDrawable是Drawable的子 ...