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 各节点关闭防火墙和 ...
随机推荐
- 游戏编程之Unity常用脚本类的继承关系
前言学习Unity开发引擎的初学者会接触大量的脚本类,而这些类之间的关系往往容易被忽略.本文对Unity引擎开发中的一些常用类及其关系进行了简单的归纳总结. 博文首发地址:http://tieba.b ...
- Java clone方法(下)
1.终于调用的是一个JNI方法,即java本地方法,加高速度 2.使用clone方法,分为浅复制.深复制,这里直接使用网上抄来的案例来说明吧: 说明: 1)为什么我们在派生类中覆盖Object的clo ...
- tinyxml使用笔记与总结
在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类. TiXmlAttribute:对应于XML中的元素的属性. ...
- Android事件分发机制源码分析
Android事件分发机制源码分析 Android事件分发机制源码分析 Part1事件来源以及传递顺序 Activity分发事件源码 PhoneWindow分发事件源码 小结 Part2ViewGro ...
- 谷歌死忠速查:可访问谷歌google搜索的IP们
[见谅! 此文已废了,下面的办法已经无效了!]但是访问我博客并回复的哥们“问天何必”提供了一个方法,详见http://www.gaomn.com/,他提供了一个网站来访问google的,速度还算可以, ...
- JavaScript 面向对象编程之一
一:Class and private And public JS 中的类以 function 进行声明,同时 JS 也支持声明私有 private 和公有 public 成员,只不过跟 C# 不一样 ...
- 【BZOJ】【1072】【SCOI2007】排列perm
暴力 ……傻逼题我还WA了这么多次(有几次是忘了删调试信息……sigh) 直接统计0~9各有多少个,枚举数字就行了……因为是直接枚举的数字,而不是枚举用了s中的哪一位,所以是不用去重的!(我一开始写的 ...
- C语言:指针的几种形式
字符串的两种形式: 1.字符数组 char name[32] = “zhangsan”;//只能在初始化时这样做 strcpy(name,”lisi”);//整体赋值只能通过s ...
- 数学图形之将曲线(curve)转化成曲面管
在我关于数学图形的博客中,一开始讲曲线的生成算法.然后在最近的章节中介绍了圆环,还介绍了螺旋管以及海螺的生成算法.一类是曲线,一类是环面,为什么不将曲线变成环的图形,毕竟曲线看上去太单薄了,这一节我将 ...
- word图片自动编号与引用(转)
http://blog.csdn.net/hunauchenym/article/details/5915616 用Word时,可能会遇到文中使用了大量的图片的情况,这时,若采用手动为图片编号的方法, ...