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 各节点关闭防火墙和 ...
随机推荐
- C#编程(五)----流程控制
流控制(控制语句) 程序的代码不是按照从上往下执行的,是按照控制语句执行的. 条件语句 C#中有两个控制语句:if语句还有switch语句 1.if语句 C#中继承了C和C++中的if语句,语法直 ...
- MyEclipse Web项目调试
1.发布项目 2.启动服务 服务有两种启动方式,Run Server和Debug Server Run Server是运行模式,Debug Server是调试模式 使用Debug Server模式启动 ...
- umlの活动图
在介绍了曾经的类图和用例图等之后,因为对象图是描写叙述类图的某一个时刻的快照,所以类图没有详细的赋值可是对象图能够有详细的值.而包图是蕴含在画uml图之中的,对类图和对象图等进行分类的图,就像wind ...
- VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭
一.VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了 ...
- 文件操作篇 close creat dup dup2 fcntl flock fsync lseek mkstemp open read sync write
文件操作篇 close creat dup dup2 fcntl flock fsync lseek mkstemp open read sync write close(关闭文件) 相关函数 ope ...
- 【六】注入框架RoboGuice使用:(Singletons And ContextSingletons)
上一篇我们简单的介绍了一下RoboGuice的使用([五]注入框架RoboGuice使用:(Your First POJO Injection)),今天我们来看下单例以及上下文单例(ContextSi ...
- SpringMVC处理方法的数据绑定
一.SpringMVC数据绑定流程 Spring MVC通过反射机制对目标处理方法的签名进行解析,将请求消息中的信息以一定的方式转换并绑定到处理方法的入参中.数据绑定的核心部件是DataBinder, ...
- libevent的hello world程序
照着例子写了一个简单的libevent hello world代码: #include <sys/signal.h> #include <event.h> void signa ...
- go语言基础之二维数组
1.二维数组 示例: package main //必须有个main包 import "fmt" func main() { //有多少个[]就是多少维 //有多少个[]就用多少个 ...
- Spring MVC 4.2 CORS 跨域访问
跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求.比如说,域名A(http://domaina.examp ...