package com.whyc.constant; import com.whyc.dto.NameValueIntDto; import java.util.ArrayList; import java.util.List; /** * 审计日志/操作日志 操作类型定义 * * 在用蓄电池:A200停止充放电,开始充放电. 参数设置 * 备用蓄电池:入库,活化,参数设置 * 巡检机器人:自动巡检 * 巡检机器人模块:出现高温告警的情况: 告警点巡检,启动灭火,关闭灭火. 定时任务灭火记录 * 用户管理:添加,编辑,重置密码,移出管理员或者加入管理员,删除 * 电源信息管理:编辑,删除 * 单体定位信息管理:编辑 */ public enum OperationLogEnum { TYPE_1_SYS(1,"系统级事件"), TYPE_1_BUSINESS(2,"业务级事件"), //子级别-系统级 TYPE_2_LOGIN(101,"用户登录"), TYPE_2_LOGIN_FAIL(102,"用户登录失败"), TYPE_2_LOGOUT(103,"用户退出"), TYPE_2_USER_UPDATE(104,"用户编辑"), TYPE_2_USER_ADD(105,"用户添加"), TYPE_2_USER_DELETE(106,"用户删除"), TYPE_2_USER_UPDATE_PASSWORD(107,"密码重置"), TYPE_2_USER_OUT_ADMIN(108,"移出管理员"), TYPE_2_USER_IN_ADMIN(109,"加入管理员"), TYPE_2_UNAUTHORIZED_ACCESS(110,"越权访问"), TYPE_2_CONNECTION_TIMEOUT(111,"连接超时"), TYPE_2_EXCEPTION(112,"调用异常"), TYPE_2_USER_CHANGEPWD(113,"调用异常"), //子级别-业务级 //=================== 200-实时监控界面 ===================// TYPE_2_realpage_stopDis(2001,"实时监控界面-停止核容测试"), TYPE_2_realpage_restart(2002,"实时监控界面-远程重启"), TYPE_2_realpage_updateSysParam(2003,"实时监控界面-系统参数设置"), TYPE_2_realpage_startRes(2004,"实时监控界面-内阻测试"), TYPE_2_realpage_stopRes(2005,"实时监控界面-停止内阻测试"), TYPE_2_realpage_updateResParam(2006,"实时监控界面-内阻参数设置"), TYPE_2_realpage_setPwrHeartAcIn(2007,"实时监控界面-设置电源心跳参数-交流输入"), TYPE_2_realpage_setPwrHeartAcOut(2008,"实时监控界面-设置电源心跳参数-直流输出"), TYPE_2_realpage_setPwrHeartHr(2009,"实时监控界面-设置电源心跳参数-核容设备"), TYPE_2_devSetparam_startKD(2010,"实时监控界面-启动K/D测试"), TYPE_2_devSetparam_startDisByManual(2011,"实时监控界面-启动自检"), TYPE_2_almparamFromDevice_setAlarmFromDevice(2012,"实时监控界面-来源于设备的告警参数设置"), TYPE_2_realpage_restartHJQ(2013,"实时监控界面-重启汇集器"), TYPE_2_pwrSetparam_controlRectifModel(2014,"实时监控界面-整流模块开关控制"), TYPE_2_pwrSetparam_controlAcSwitch(2015,"实时监控界面-交流微断控制"), TYPE_2_pwrSetparam_controlDcSwitch(2016,"实时监控界面-直流微断控制"), TYPE_2_devSetparam_sysDischarge(2017,"实时监控界面-用户sys_discharge启动核容测试"), TYPE_2_devSetparam_startDisInFlow(2018,"实时监控界面-流程中启动核容测试"), TYPE_2_devSetparam_setParamInFlow(2019,"实时监控界面-流程中启动设置参数"), TYPE_2_devSetparam_startDis(2020,"实时监控界面-远程启动核容测试"), //===================210-设备管理页面 ===================// TYPE_2_infomanage_addInfo(2101,"设备管理页面-新增资产信息"), TYPE_2_infomanage_addBatt(2102,"设备管理页面-添加电池组"), TYPE_2_infomanage_updateInfo(2103,"设备管理页面-编辑资产信息"), TYPE_2_infomanage_delBatt(2104,"设备管理页面-删除电池组"), //=================== 220-电池实时告警页面 ====================// TYPE_2_battrealalm_updateBattConfrim(2201,"电池实时告警页面-确认告警"), //=================== 230-设备实时告警页面===================// TYPE_2_devrealalm_updateDevConfrim(2301,"设备实时告警页面-确认告警"), //=================== 240-电源实时告警页面 ===================// TYPE_2_pwrrealalm_updatePwrConfrim(2401,"电源实时告警页面-确认告警"), //================== 250-电池告警参数页面 ===================// TYPE_2_battalmparam_setBattAlmParam(2501,"电池告警参数页面-修改"), //================== 260-电源告警参数页面 ===================// TYPE_2_pwralmparam_setPwrAlmParam(2601,"电源告警参数页面-修改"), //================== 340-设备告警参数页面 ===================// TYPE_2_devalmparam_setDevAlmParam(3401,"设备告警参数页面-修改"), //================== 270-预警分析管理界面 ===================// TYPE_2_warnanalysis_updateAlarmAnalysisCycle(2701,"预警分析管理界面-设置时间间隔"), //================== 280-标准参数管理页面 ===================// TYPE_2_standparam_setPwrStandParam(2801,"标准参数管理页面-参数设定"), TYPE_2_standparam_uploadStandFile(2802,"标准参数管理页面-上传"), //================== 290-实时数据曲线统计页面 ===================// TYPE_2_realdatacurve_setRealGraphFreq(2901,"实时数据曲线统计页面-设置更新频率"), //================== 300-巡视备忘录管理页面 ===================// TYPE_2_alminspection_submitInspection(3001,"巡视备忘录管理页面-提交巡检结果"), //================== 310-诊断管理页面 ===================// TYPE_2_diagnosismanage_update(3101,"诊断管理页面-修改"), TYPE_2_diagnosismanage_add(3102,"诊断管理页面-添加"), TYPE_2_diagnosismanage_delete(3103,"诊断管理页面-删除"), //================== 320-图像管理页面 ===================// TYPE_2_picmanage_downloadZip(3201,"图像管理页面-下载"), TYPE_2_picmanage_uploadBatch(3202,"图像管理页面-上传"), //================== 330-维修管理页面 ===================// TYPE_2_sparemanage_add(3301,"维修管理页面-添加"), TYPE_2_sparemanage_addByExcel(3302,"维修管理页面-excel导入"), TYPE_2_sparemanage_andOrChangePicture(3303,"维修管理页面-新增或者替换图片"), TYPE_2_sparemanage_delete(3304,"维修管理页面-删除"), TYPE_2_sparemanage_update(3305,"维修管理页面-修改"), //================== 350-权限管理页面===================// TYPE_2_permitmanage_add(3501,"权限管理页面-权限组添加"), TYPE_2_permitmanage_update(3502,"权限管理页面-权限组编辑"), TYPE_2_permitmanage_delete(3503,"权限管理页面-权限组删除"), TYPE_2_permitmanage_userBatch(3504,"权限管理页面-权限组下添加或者移除用户"), TYPE_2_permitmanage_updateBatch(3505,"权限管理页面-权限组下编辑权限"), //================== 360-包机组管理页面===================// TYPE_2_baojimanage_addBaoji(3601,"包机组管理页面-添加包机组"), TYPE_2_baojimanage_delBaoji(3602,"包机组管理页面-删除包机组"), TYPE_2_baojimanage_updateBaoji(3603,"包机组管理页面-编辑包机组"), TYPE_2_baojimanage_updateStationList(3604,"包机组管理页面-包机组下添加机房和电源或移除机房和电源"), TYPE_2_baojimanage_updateUserList(3605,"包机组管理页面-包机组下添加用户或移除用户"), ; private Integer type; private String name; OperationLogEnum(Integer type, String name) { this.type = type; this.name = name; } public Integer getType() { return type; } public String getName() { return name; } public static List getCategoryList() { List list = new ArrayList<>(); for (OperationLogEnum value : OperationLogEnum.values()) { if(value.type<10) { list.add(new NameValueIntDto(value.name, value.type)); }else{ break; } } return list; } public static List getTypeList() { List list = new ArrayList<>(); for (OperationLogEnum value : OperationLogEnum.values()) { if(value.type>1000) { list.add(new NameValueIntDto(value.name, value.type)); } } return list; } public static List getTypeListByCategory(Integer category) { List list = new ArrayList<>(); for (OperationLogEnum value : OperationLogEnum.values()) { Integer type1 = value.type; if(category==1){ if(type1>10 && type1.toString().startsWith("1")) { list.add(new NameValueIntDto(value.name, type1)); } } if(category==2){ if(type1>10 && !type1.toString().startsWith("1")) { list.add(new NameValueIntDto(value.name, type1)); } } } return list; } public static String getNameByType(Integer type) { for (OperationLogEnum value : OperationLogEnum.values()) { if(value.type.equals(type)) { return value.name; } } return "未知类型"; } public static void main(String[] args) { List categoryList = getCategoryList(); System.out.println(categoryList); List typeListByCategory = getTypeListByCategory(1); System.out.println(typeListByCategory); List typeListByCategory1 = getTypeListByCategory(2); System.out.println(typeListByCategory1); } }