From 479a23949c28ae93a15e3f2f5aba655662f6c0c8 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期一, 07 八月 2023 14:00:39 +0800 Subject: [PATCH] 增加在线用户开启登录地点获取 minio事件类型修改 --- ard-work/src/main/java/com/ruoyi/storage/minio/service/impl/StorageMinioEventServiceImpl.java | 52 ++++++++++++++----------- ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java | 9 ++-- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/storage/minio/service/impl/StorageMinioEventServiceImpl.java b/ard-work/src/main/java/com/ruoyi/storage/minio/service/impl/StorageMinioEventServiceImpl.java index ce70fdf..5e16aca 100644 --- a/ard-work/src/main/java/com/ruoyi/storage/minio/service/impl/StorageMinioEventServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/storage/minio/service/impl/StorageMinioEventServiceImpl.java @@ -106,31 +106,37 @@ @Async @Override public void parseStorageMinioEvent(String message) { - JsonsRootBean jsonsRootBean = JSONObject.parseObject(message, JsonsRootBean.class); - if (jsonsRootBean != null) { - Records records = jsonsRootBean.getRecords().get(0); - StorageMinioEvent storageMinioEvent = new StorageMinioEvent(); - storageMinioEvent.setEventTime(records.getEventTime()); - storageMinioEvent.setEventType(records.getEventName()); - storageMinioEvent.setBucketName(records.getS3().getBucket().getName()); - String encode = null; - try { - encode = URLDecoder.decode(records.getS3().getMObject().getKey(), "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - storageMinioEvent.setObjectName(encode); - storageMinioEvent.setObjectSize(records.getS3().getMObject().getSize()); - storageMinioEvent.setObjectType(records.getS3().getMObject().getContentType()); - storageMinioEvent.setHost(records.getSource().getHost()); - storageMinioEvent.setEndpoint(records.getResponseElements().getXMinioOriginEndpoint()); - storageMinioEvent.setUserName(records.getRequestParameters().getPrincipalid()); + try { + JsonsRootBean jsonsRootBean = JSONObject.parseObject(message, JsonsRootBean.class); + if (jsonsRootBean != null) { + Records records = jsonsRootBean.getRecords().get(0); + StorageMinioEvent storageMinioEvent = new StorageMinioEvent(); + storageMinioEvent.setEventTime(records.getEventTime()); + String eventType = records.getEventName().substring(0, records.getEventName().indexOf(":", records.getEventName().indexOf(":") + 1));//涓嶅寘鍚湰韬綅缃� + storageMinioEvent.setEventType(eventType); + storageMinioEvent.setBucketName(records.getS3().getBucket().getName()); + String encode = null; + try { + encode = URLDecoder.decode(records.getS3().getMObject().getKey(), "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + storageMinioEvent.setObjectName(encode); + storageMinioEvent.setObjectSize(records.getS3().getMObject().getSize()); + storageMinioEvent.setObjectType(records.getS3().getMObject().getContentType()); + storageMinioEvent.setHost(records.getSource().getHost()); + storageMinioEvent.setEndpoint(records.getResponseElements().getXMinioOriginEndpoint()); + storageMinioEvent.setUserName(records.getRequestParameters().getPrincipalid()); - int i = insertStorageMinioEvent(storageMinioEvent); - if(i>0) - { - log.debug("minio鎿嶄綔鏃ュ織鍏ュ簱鎴愬姛!銆�"+storageMinioEvent.getEventType()+"銆�"); + int i = insertStorageMinioEvent(storageMinioEvent); + if (i > 0) { + log.debug("minio鎿嶄綔鏃ュ織鍏ュ簱鎴愬姛!銆�" + storageMinioEvent.getEventType() + "銆�"); + } } } + catch (Exception ex) + { + log.error("minio浜嬩欢鏍煎紡鍖栧紓甯�:"+ex.getMessage()); + } } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java index f539fce..e3fed44 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java @@ -1,9 +1,7 @@ package com.ruoyi.web.controller.monitor; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; +import java.util.*; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.DeleteMapping; @@ -75,6 +73,9 @@ } Collections.reverse(userOnlineList); userOnlineList.removeAll(Collections.singleton(null)); + //鍦ㄧ嚎鐢ㄦ埛鎸夌櫥褰曟椂闂撮�嗗簭鎺掑簭 + Comparator<SysUserOnline> comparator = Comparator.comparingLong(sysUserOnline -> sysUserOnline.getLoginTime()); // 浣跨敤Collections.sort鏂规硶杩涜鎺掑簭 Collections.sort(personList, comparator); + Collections.sort(userOnlineList, comparator.reversed()); return getDataTable(userOnlineList); } -- Gitblit v1.9.3