From 3a65a66620737f10e27af37dea4108602aaabcad Mon Sep 17 00:00:00 2001 From: MaxKey Date: Wed, 25 May 2022 12:14:54 +0800 Subject: [PATCH] system logs --- .../org/maxkey/constants/ConstsEntryType.java | 22 +- .../maxkey/constants/ConstsOperateAction.java | 47 +++-- ...eMessage.java => ConstsOperateResult.java} | 14 +- .../org/maxkey/entity/HistorySystemLogs.java | 38 ++-- .../service/HistorySystemLogsService.java | 192 +++++++++++++++++- .../persistence/service/UserInfoService.java | 8 +- .../xml/mysql/HistorySystemLogsMapper.xml | 6 +- .../audit-system-logs.component.html | 75 +++---- .../src/assets/i18n/en-US.json | 2 +- .../src/assets/i18n/zh-CN.json | 2 +- .../contorller/ChangePasswodController.java | 13 ++ .../maxkey/web/contorller/SafeController.java | 4 +- .../contorller/GroupMemberController.java | 4 + .../contorller/GroupPrivilegesController.java | 4 + .../access/contorller/GroupsController.java | 25 +++ .../contorller/LoginSessionController.java | 4 + .../apps/contorller/BaseAppContorller.java | 4 + .../contorller/LocalizationController.java | 10 +- .../web/contorller/AccountsController.java | 31 +++ .../contorller/OrganizationsController.java | 25 +++ .../web/contorller/UserAdjointController.java | 18 +- .../web/contorller/UserInfoController.java | 38 +++- .../contorller/ResourcesController.java | 25 +++ .../contorller/RoleMemberController.java | 4 + .../contorller/RolePrivilegesController.java | 4 + .../contorller/RolesController.java | 25 +++ 26 files changed, 519 insertions(+), 125 deletions(-) rename maxkey-core/src/main/java/org/maxkey/constants/{ConstsOperateMessage.java => ConstsOperateResult.java} (56%) diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstsEntryType.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstsEntryType.java index f7c82f4e9..2754061d4 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstsEntryType.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstsEntryType.java @@ -1,5 +1,5 @@ /* - * Copyright [2020] [MaxKey of copyright http://www.maxkey.top] + * Copyright [2022] [MaxKey of copyright http://www.maxkey.top] * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,16 +19,24 @@ package org.maxkey.constants; public class ConstsEntryType { - public static int USERINFO_TYPE = 1; + public static String USERINFO = "user"; - public static int ORGANIZATION_TYPE = 2; + public static String ORGANIZATION = "organization"; - public static int GROUP_TYPE = 3; + public static String APPLICATION = "application"; - public static int PASSWORD_TYPE = 4; + public static String GROUP = "group"; + + public static String ACCOUNT = "account"; + + public static String ROLE = "role"; + + public static String PASSWORD = "password"; + + public static String RESOURCE = "resource"; + + public static String PERMISSION = "permission"; - public static int RESOURCES_TYPE = 5; - public static int PERMISSIONS_TYPE = 6; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateAction.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateAction.java index 87ff9cfc4..c9ba603b0 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateAction.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateAction.java @@ -17,20 +17,41 @@ package org.maxkey.constants; -public final class ConstsOperateAction { - - public static final int CREATE_ACTION = 1; - - public static final int DELETE_ACTION = 2; - - public static final int UPDATE_ACTION = 3; +import java.util.concurrent.ConcurrentHashMap; - public static final int CHANGE_PASSWORD_ACTION = 4; - - public static final int ADD_MEMBER_ACTION = 5; - - public static final int DELETE_MEMBER_ACTION = 6; +public final class ConstsOperateAction { - public static final int VIEW_ACTION = 7; + public static final String CREATE = "create"; + + public static final String DELETE = "delete"; + + public static final String UPDATE = "update"; + + public static final String CHANGE_PASSWORD = "change_password"; + + public static final String ADD_MEMBER = "add_member"; + + public static final String DELETE_MEMBER = "delete_member"; + + public static final String ENABLE = "enable"; + + public static final String DISABLE = "disable"; + + public static final String LOCK = "lock"; + + public static final String UNLOCK = "unlock"; + + public static final String VIEW = "view"; + + public static ConcurrentHashMap statusActon ; + + static { + statusActon= new ConcurrentHashMap(); + statusActon.put(ConstsStatus.ACTIVE, ENABLE); + statusActon.put(ConstsStatus.DISABLED, DISABLE); + statusActon.put(ConstsStatus.LOCK, LOCK); + statusActon.put(ConstsStatus.UNLOCK, UNLOCK); + statusActon.put(ConstsStatus.DELETE, DELETE); + } } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateMessage.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateResult.java similarity index 56% rename from maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateMessage.java rename to maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateResult.java index 33f24bc72..1573ac366 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateMessage.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstsOperateResult.java @@ -17,15 +17,9 @@ package org.maxkey.constants; -public final class ConstsOperateMessage { - - public static final String INSERT_SUCCESS = "message.action.insert.success"; - public static final String INSERT_ERROR = "message.action.insert.error"; - - public static final String UPDATE_SUCCESS = "message.action.update.success"; - public static final String UPDATE_ERROR = "message.action.update.error"; - - public static final String DELETE_SUCCESS = "message.action.delete.success"; - public static final String DELETE_ERROR = "message.action.delete.error"; +public final class ConstsOperateResult { + public static final String SUCCESS = "success"; + public static final String ERROR = "error"; + public static final String FAIL = "fail"; } diff --git a/maxkey-core/src/main/java/org/maxkey/entity/HistorySystemLogs.java b/maxkey-core/src/main/java/org/maxkey/entity/HistorySystemLogs.java index f2a771503..0411a7fb8 100644 --- a/maxkey-core/src/main/java/org/maxkey/entity/HistorySystemLogs.java +++ b/maxkey-core/src/main/java/org/maxkey/entity/HistorySystemLogs.java @@ -44,7 +44,7 @@ public class HistorySystemLogs extends JpaBaseEntity implements Serializable { @Column String message; @Column - String messageType; + String messageAction; @Column String messageResult; @Column @@ -58,6 +58,8 @@ public class HistorySystemLogs extends JpaBaseEntity implements Serializable { @Column private String instId; + String jsonCotent; + private String instName; String startDate; String endDate; @@ -90,14 +92,12 @@ public class HistorySystemLogs extends JpaBaseEntity implements Serializable { this.message = message; } - - - public String getMessageType() { - return messageType; + public String getMessageAction() { + return messageAction; } - public void setMessageType(String messageType) { - this.messageType = messageType; + public void setMessageAction(String messageAction) { + this.messageAction = messageAction; } public String getMessageResult() { @@ -172,17 +172,25 @@ public class HistorySystemLogs extends JpaBaseEntity implements Serializable { this.endDate = endDate; } + public String getJsonCotent() { + return jsonCotent; + } + + public void setJsonCotent(String jsonCotent) { + this.jsonCotent = jsonCotent; + } + @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("HistoryLogs [id="); + builder.append("HistorySystemLogs [id="); builder.append(id); builder.append(", topic="); builder.append(topic); builder.append(", message="); builder.append(message); - builder.append(", messageType="); - builder.append(messageType); + builder.append(", messageAction="); + builder.append(messageAction); builder.append(", messageResult="); builder.append(messageResult); builder.append(", userId="); @@ -193,14 +201,8 @@ public class HistorySystemLogs extends JpaBaseEntity implements Serializable { builder.append(displayName); builder.append(", executeTime="); builder.append(executeTime); - builder.append(", instId="); - builder.append(instId); - builder.append(", instName="); - builder.append(instName); - builder.append(", startDate="); - builder.append(startDate); - builder.append(", endDate="); - builder.append(endDate); + builder.append(", jsonCotent="); + builder.append(jsonCotent); builder.append("]"); return builder.toString(); } diff --git a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/HistorySystemLogsService.java b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/HistorySystemLogsService.java index e9233e542..69466387c 100644 --- a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/HistorySystemLogsService.java +++ b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/HistorySystemLogsService.java @@ -18,13 +18,30 @@ package org.maxkey.persistence.service; import org.apache.mybatis.jpa.persistence.JpaBaseService; +import org.maxkey.entity.Accounts; +import org.maxkey.entity.ChangePassword; +import org.maxkey.entity.GroupMember; +import org.maxkey.entity.GroupPrivileges; +import org.maxkey.entity.Groups; import org.maxkey.entity.HistorySystemLogs; +import org.maxkey.entity.Organizations; +import org.maxkey.entity.Resources; +import org.maxkey.entity.RoleMember; +import org.maxkey.entity.RolePrivileges; +import org.maxkey.entity.Roles; +import org.maxkey.entity.SocialsProvider; +import org.maxkey.entity.Synchronizers; +import org.maxkey.entity.UserInfo; import org.maxkey.persistence.mapper.HistorySystemLogsMapper; +import org.maxkey.util.JsonUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; @Repository public class HistorySystemLogsService extends JpaBaseService{ - + final static Logger _logger = LoggerFactory.getLogger(HistorySystemLogsService.class); + public HistorySystemLogsService() { super(HistorySystemLogsMapper.class); @@ -37,4 +54,177 @@ public class HistorySystemLogsService extends JpaBaseService public HistorySystemLogsMapper getMapper() { return (HistorySystemLogsMapper)super.getMapper(); } + + public void insert(String topic,Object entity,String action,String result,UserInfo operator) { + String message = ""; + if(entity != null) { + if(entity instanceof UserInfo) { + message = buildMsg((UserInfo)entity); + }else if(entity instanceof Organizations) { + message = buildMsg((Organizations)entity); + }else if(entity instanceof ChangePassword) { + message = buildMsg((ChangePassword)entity); + }else if(entity instanceof Accounts) { + message = buildMsg((Accounts)entity); + }else if(entity instanceof Groups) { + message = buildMsg((Groups)entity); + }else if(entity instanceof Roles) { + message = buildMsg((Roles)entity); + }else if(entity instanceof GroupMember) { + message = buildMsg((GroupMember)entity); + }else if(entity instanceof RoleMember) { + message = buildMsg((RoleMember)entity); + }else if(entity instanceof GroupPrivileges) { + message = buildMsg((GroupPrivileges)entity); + }else if(entity instanceof Resources) { + message = buildMsg((Resources)entity); + }else if(entity instanceof Synchronizers) { + message = buildMsg((Synchronizers)entity); + }else if(entity instanceof SocialsProvider) { + message = buildMsg((SocialsProvider)entity); + }else if(entity instanceof RolePrivileges) { + message = buildMsg((RolePrivileges)entity); + }else if(entity instanceof String) { + message = entity.toString(); + } + + } + + insert(topic,message,action,result,operator, entity); + } + + public void insert(String topic,String message,String action,String result,UserInfo operator,Object entity) { + HistorySystemLogs systemLog = new HistorySystemLogs(); + systemLog.setId(systemLog.generateId()); + systemLog.setTopic(topic); + systemLog.setMessage(message); + systemLog.setMessageAction(action); + systemLog.setMessageResult(result); + systemLog.setUserId(operator.getId()); + systemLog.setUsername(operator.getUsername()); + systemLog.setDisplayName(operator.getDisplayName()); + systemLog.setInstId(operator.getInstId()); + systemLog.setJsonCotent(JsonUtils.gson2Json(entity)); + _logger.trace("System Log {}" ,systemLog); + getMapper().insert(systemLog); + } + + public String buildMsg(UserInfo userInfo) { + return new StringBuilder() + .append(userInfo.getDisplayName()) + .append("[") + .append(userInfo.getUsername()) + .append("]") + .toString(); + } + + public String buildMsg(Organizations org) { + return new StringBuilder() + .append(org.getName()) + .append("[") + .append(org.getCode()) + .append("]") + .toString(); + } + + public String buildMsg(Accounts account) { + return new StringBuilder() + .append(account.getRelatedUsername()) + .append("[") + .append(account.getDisplayName()).append(",") + .append(account.getUsername()).append(",") + .append(account.getAppName()) + .append("]") + .toString(); + } + + public String buildMsg(ChangePassword changePassword) { + return new StringBuilder() + .append(changePassword.getDisplayName()) + .append("[") + .append(changePassword.getUsername()) + .append("]") + .toString(); + } + + public String buildMsg(Groups g) { + return new StringBuilder() + .append(g.getName()) + .toString(); + } + + public String buildMsg(Roles r) { + return new StringBuilder() + .append(r.getName()) + .toString(); + } + + public String buildMsg(RoleMember rm) { + return new StringBuilder() + .append(rm.getRoleName()) + .append("[") + .append(rm.getUsername()).append(",") + .append(rm.getDisplayName()) + .append("]") + .toString(); + } + + public String buildMsg(GroupMember gm) { + return new StringBuilder() + .append(gm.getGroupName()) + .append("[") + .append(gm.getUsername()).append(",") + .append(gm.getDisplayName()) + .append("]") + .toString(); + } + + public String buildMsg(GroupPrivileges privilege) { + return new StringBuilder() + .append(privilege.getGroupName()) + .append("[") + .append(privilege.getAppName()) + .append("]") + .toString(); + } + + public String buildMsg(RolePrivileges privilege) { + return new StringBuilder() + .append(privilege.getRoleId()) + .append("[") + .append(privilege.getResourceId()) + .append("]") + .toString(); + } + + + public String buildMsg(Resources r) { + return new StringBuilder() + .append(r.getName()) + .append("[") + .append(r.getResourceType()) + .append("]") + .toString(); + } + + + public String buildMsg(Synchronizers s) { + return new StringBuilder() + .append(s.getName()) + .append("[") + .append(s.getSourceType()).append(",") + .append(s.getScheduler()).append(",") + .append("]") + .toString(); + } + + public String buildMsg(SocialsProvider s) { + return new StringBuilder() + .append(s.getProviderName()) + .append("[") + .append(s.getProvider()) + .append("]") + .toString(); + } + } diff --git a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java index a89f1b07d..c4de9f639 100644 --- a/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java +++ b/maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java @@ -100,8 +100,9 @@ public class UserInfoService extends JpaBaseService { loadUserInfo, MqProvisionAction.UPDATE_ACTION); } - - changePasswordProvisioning(changePassword); + if(userInfo.getPassword() != null) { + changePasswordProvisioning(changePassword); + } return true; } return false; @@ -211,6 +212,9 @@ public class UserInfoService extends JpaBaseService { userInfo.setPassword(changePassword.getPassword()); userInfo.setDecipherable(changePassword.getDecipherable()); userInfo.setPasswordLastSetTime(changePassword.getPasswordLastSetTime()); + }else { + userInfo.setPassword(null); + userInfo.setDecipherable(null); } return changePassword; } diff --git a/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySystemLogsMapper.xml b/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySystemLogsMapper.xml index ae1ccb5ab..0b478c33e 100644 --- a/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySystemLogsMapper.xml +++ b/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySystemLogsMapper.xml @@ -21,11 +21,11 @@ and lower(displayName) like lower(concat('%',#{displayName},'%')) - - and messageType = #{messageType} + + and messageaction = #{messageAction} - and messageResult = #{messageResult} + and messageresult = #{messageResult} diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-system-logs/audit-system-logs.component.html b/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-system-logs/audit-system-logs.component.html index eb1a01676..15f232c67 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-system-logs/audit-system-logs.component.html +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-system-logs/audit-system-logs.component.html @@ -7,7 +7,8 @@ {{ 'mxk.users.username' | i18n }} - + @@ -15,13 +16,8 @@ {{ 'mxk.users.displayName' | i18n }} - + @@ -29,13 +25,8 @@ {{ 'mxk.users.employeeNumber' | i18n }} - + @@ -43,14 +34,9 @@ {{ 'mxk.text.startDate' | i18n }} - + + @@ -58,50 +44,35 @@ {{ 'mxk.text.endDate' | i18n }} - + +
- + + {{ query.expandForm ? ('mxk.text.collapse' | i18n) : ('mxk.text.expand' | i18n) }}
- + {{ 'mxk.history.systemlogs.id' | i18n }} {{ 'mxk.history.systemlogs.topic' | i18n }} {{ 'mxk.history.systemlogs.message' | i18n }} - {{ 'mxk.history.systemlogs.messageType' | i18n }} + {{ 'mxk.history.systemlogs.messageAction' | i18n }} {{ 'mxk.history.systemlogs.messageResult' | i18n }} {{ 'mxk.history.systemlogs.displayName' | i18n }} {{ 'mxk.history.systemlogs.executeTime' | i18n }} @@ -114,11 +85,11 @@ {{ data.topic }} {{ data.message }} - {{ data.messageType }} + {{ data.messageAction }} {{ data.messageResult }} {{ data.displayName }} {{ data.executeTime }} - + \ No newline at end of file diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json index 48d941132..53b2cbdb7 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json @@ -604,7 +604,7 @@ "systemlogs.id":"Id", "systemlogs.topic":"Topic", "systemlogs.message":"Message", - "systemlogs.messageType":"Type", + "systemlogs.messageAction":"Action", "systemlogs.messageResult":"Result", "systemlogs.userId":"userId", "systemlogs.username":"username", diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json index f50726a26..b38e63471 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json @@ -603,7 +603,7 @@ "systemlogs.id":"编号", "systemlogs.topic":"主题", "systemlogs.message":"内容", - "systemlogs.messageType":"类型", + "systemlogs.messageAction":"操作", "systemlogs.messageResult":"结果", "systemlogs.userId":"操作人编号", "systemlogs.username":"操作人登录名", diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/ChangePasswodController.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/ChangePasswodController.java index 782e9010e..9f8bb755e 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/ChangePasswodController.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/ChangePasswodController.java @@ -18,10 +18,14 @@ package org.maxkey.web.contorller; import org.maxkey.authn.annotation.CurrentUser; +import org.maxkey.constants.ConstsEntryType; +import org.maxkey.constants.ConstsOperateAction; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.constants.ConstsPasswordSetType; import org.maxkey.entity.ChangePassword; import org.maxkey.entity.Message; import org.maxkey.entity.UserInfo; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.UserInfoService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,6 +45,9 @@ public class ChangePasswodController { @Autowired private UserInfoService userInfoService; + @Autowired + HistorySystemLogsService systemLog; + @ResponseBody @RequestMapping(value = { "/changePassword" }, produces = {MediaType.APPLICATION_JSON_VALUE}) public ResponseEntity changePasswod( @@ -52,6 +59,12 @@ public class ChangePasswodController { changePassword.setInstId(currentUser.getInstId()); changePassword.setPasswordSetType(ConstsPasswordSetType.PASSWORD_NORMAL); if(userInfoService.changePassword(changePassword)) { + systemLog.insert( + ConstsEntryType.USERINFO, + changePassword, + ConstsOperateAction.CHANGE_PASSWORD, + ConstsOperateResult.SUCCESS, + currentUser); return new Message().buildResponse(); }else { return new Message(Message.ERROR).buildResponse(); diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java index 6c0bbab96..eee92bd24 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java @@ -21,7 +21,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.maxkey.authn.annotation.CurrentUser; -import org.maxkey.constants.ConstsOperateMessage; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.constants.ConstsTimeInterval; import org.maxkey.entity.UserInfo; import org.maxkey.persistence.service.UserInfoService; @@ -79,7 +79,7 @@ public class SafeController { userInfoService.updateEmail(currentUser); - return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.success); } diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupMemberController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupMemberController.java index a712097b6..75cafbbbe 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupMemberController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupMemberController.java @@ -25,6 +25,7 @@ import org.maxkey.entity.Message; import org.maxkey.entity.UserInfo; import org.maxkey.persistence.service.GroupMemberService; import org.maxkey.persistence.service.GroupsService; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.UserInfoService; import org.maxkey.util.StringUtils; import org.maxkey.web.WebContext; @@ -55,6 +56,9 @@ public class GroupMemberController { @Autowired UserInfoService userInfoService; + @Autowired + HistorySystemLogsService systemLog; + @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody public ResponseEntity fetch( diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupPrivilegesController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupPrivilegesController.java index 3d5b578d9..0db558fff 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupPrivilegesController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupPrivilegesController.java @@ -23,6 +23,7 @@ import org.maxkey.entity.Message; import org.maxkey.entity.UserInfo; import org.maxkey.entity.apps.Apps; import org.maxkey.persistence.service.GroupPrivilegesService; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.web.WebContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,6 +45,9 @@ public class GroupPrivilegesController { @Autowired GroupPrivilegesService groupPrivilegesService; + @Autowired + HistorySystemLogsService systemLog; + @RequestMapping(value = { "/appsInGroup" }) @ResponseBody public ResponseEntity appsInGroup( diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupsController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupsController.java index 92e0f0adf..e0c26051f 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupsController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupsController.java @@ -19,10 +19,14 @@ package org.maxkey.web.access.contorller; import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.maxkey.authn.annotation.CurrentUser; +import org.maxkey.constants.ConstsEntryType; +import org.maxkey.constants.ConstsOperateAction; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.entity.Groups; import org.maxkey.entity.Message; import org.maxkey.entity.UserInfo; import org.maxkey.persistence.service.GroupsService; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -45,6 +49,9 @@ public class GroupsController { @Autowired GroupsService groupsService; + @Autowired + HistorySystemLogsService systemLog; + @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody public ResponseEntity fetch( @@ -82,6 +89,12 @@ public class GroupsController { group.setInstId(currentUser.getInstId()); if (groupsService.insert(group)) { groupsService.refreshDynamicGroups(group); + systemLog.insert( + ConstsEntryType.GROUP, + group, + ConstsOperateAction.CREATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -98,6 +111,12 @@ public class GroupsController { group.setInstId(currentUser.getInstId()); if (groupsService.update(group)) { groupsService.refreshDynamicGroups(group); + systemLog.insert( + ConstsEntryType.GROUP, + group, + ConstsOperateAction.UPDATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -110,6 +129,12 @@ public class GroupsController { _logger.debug("-delete ids : {}" , ids); ids = ids.replaceAll("ROLE_ALL_USER", "-1").replaceAll("ROLE_ADMINISTRATORS", "-1"); if (groupsService.deleteBatch(ids)) { + systemLog.insert( + ConstsEntryType.GROUP, + ids, + ConstsOperateAction.DELETE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/LoginSessionController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/LoginSessionController.java index 0a0704a7a..a576d545d 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/LoginSessionController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/LoginSessionController.java @@ -26,6 +26,7 @@ import org.maxkey.entity.HistoryLogin; import org.maxkey.entity.Message; import org.maxkey.entity.UserInfo; import org.maxkey.persistence.service.HistoryLoginService; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.util.DateUtils; import org.maxkey.util.StringUtils; import org.slf4j.Logger; @@ -59,6 +60,9 @@ public class LoginSessionController { @Autowired SessionManager sessionManager; + @Autowired + HistorySystemLogsService systemLog; + /** * 查询登录日志. * diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/BaseAppContorller.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/BaseAppContorller.java index 90c22b399..030155c88 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/BaseAppContorller.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/BaseAppContorller.java @@ -25,6 +25,7 @@ import org.maxkey.crypto.password.PasswordReciprocal; import org.maxkey.entity.apps.Apps; import org.maxkey.persistence.service.AppsService; import org.maxkey.persistence.service.FileUploadService; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,6 +47,9 @@ public class BaseAppContorller { @Autowired protected FileUploadService fileUploadService; + @Autowired + HistorySystemLogsService systemLog; + public void setAppsService(AppsService appsService) { this.appsService = appsService; } diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/config/contorller/LocalizationController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/config/contorller/LocalizationController.java index adb998a35..f4db62a60 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/config/contorller/LocalizationController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/config/contorller/LocalizationController.java @@ -19,7 +19,7 @@ package org.maxkey.web.config.contorller; import org.apache.commons.lang3.StringUtils; import org.maxkey.authn.annotation.CurrentUser; -import org.maxkey.constants.ConstsOperateMessage; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.entity.Localization; import org.maxkey.entity.UserInfo; import org.maxkey.persistence.repository.LocalizationRepository; @@ -73,15 +73,15 @@ public class LocalizationController { if(StringUtils.isBlank(localization.getId())){ localization.setId(localization.generateId()); if(localizationRepository.insert(localization)) { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.success); } else { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); + return new Message(WebContext.getI18nValue(ConstsOperateResult.ERROR),MessageType.error); } }else { if(localizationRepository.update(localization)) { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.success); } else { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); + return new Message(WebContext.getI18nValue(ConstsOperateResult.ERROR),MessageType.error); } } } diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsController.java index 835a6c17b..54ad04fce 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsController.java @@ -19,6 +19,9 @@ package org.maxkey.web.contorller; import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.maxkey.authn.annotation.CurrentUser; +import org.maxkey.constants.ConstsEntryType; +import org.maxkey.constants.ConstsOperateAction; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.crypto.password.PasswordReciprocal; import org.maxkey.entity.Accounts; import org.maxkey.entity.AccountsStrategy; @@ -27,6 +30,7 @@ import org.maxkey.entity.UserInfo; import org.maxkey.persistence.service.AccountsService; import org.maxkey.persistence.service.AccountsStrategyService; import org.maxkey.persistence.service.AppsService; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.UserInfoService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,6 +63,9 @@ public class AccountsController { @Autowired UserInfoService userInfoService; + @Autowired + HistorySystemLogsService systemLog; + @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody public ResponseEntity fetch(@ModelAttribute Accounts accounts,@CurrentUser UserInfo currentUser) { @@ -94,6 +101,12 @@ public class AccountsController { account.setInstId(currentUser.getInstId()); account.setRelatedPassword(PasswordReciprocal.getInstance().encode(account.getRelatedPassword())); if (accountsService.insert(account)) { + systemLog.insert( + ConstsEntryType.ACCOUNT, + account, + ConstsOperateAction.CREATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -107,6 +120,12 @@ public class AccountsController { account.setInstId(currentUser.getInstId()); account.setRelatedPassword(PasswordReciprocal.getInstance().encode(account.getRelatedPassword())); if (accountsService.update(account)) { + systemLog.insert( + ConstsEntryType.ACCOUNT, + account, + ConstsOperateAction.UPDATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -120,6 +139,12 @@ public class AccountsController { _logger.debug(""+accounts); accounts.setInstId(currentUser.getInstId()); if (accountsService.updateStatus(accounts)) { + systemLog.insert( + ConstsEntryType.ACCOUNT, + accounts, + ConstsOperateAction.statusActon.get(accounts.getStatus()), + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -132,6 +157,12 @@ public class AccountsController { _logger.debug("-delete ids : {} " , ids); if (accountsService.deleteBatch(ids)) { + systemLog.insert( + ConstsEntryType.ACCOUNT, + ids, + ConstsOperateAction.DELETE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/OrganizationsController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/OrganizationsController.java index 0af59f7ae..9adda1c1d 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/OrganizationsController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/OrganizationsController.java @@ -29,10 +29,14 @@ import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.maxkey.authn.annotation.CurrentUser; +import org.maxkey.constants.ConstsEntryType; +import org.maxkey.constants.ConstsOperateAction; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.entity.ExcelImport; import org.maxkey.entity.Message; import org.maxkey.entity.Organizations; import org.maxkey.entity.UserInfo; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.OrganizationsService; import org.maxkey.util.ExcelUtils; import org.maxkey.web.component.TreeAttributes; @@ -60,6 +64,9 @@ public class OrganizationsController { @Autowired OrganizationsService organizationsService; + + @Autowired + HistorySystemLogsService systemLog; @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody @@ -95,6 +102,12 @@ public class OrganizationsController { _logger.debug("-Add :" + org); org.setInstId(currentUser.getInstId()); if (organizationsService.insert(org)) { + systemLog.insert( + ConstsEntryType.ORGANIZATION, + org, + ConstsOperateAction.CREATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -107,6 +120,12 @@ public class OrganizationsController { _logger.debug("-update :" + org); org.setInstId(currentUser.getInstId()); if (organizationsService.update(org)) { + systemLog.insert( + ConstsEntryType.ORGANIZATION, + org, + ConstsOperateAction.UPDATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -118,6 +137,12 @@ public class OrganizationsController { public ResponseEntity delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) { _logger.debug("-delete ids : {} " , ids); if (organizationsService.deleteBatch(ids)) { + systemLog.insert( + ConstsEntryType.ORGANIZATION, + ids, + ConstsOperateAction.DELETE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java index 357958957..97d14ff91 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java @@ -19,7 +19,7 @@ package org.maxkey.web.contorller; import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.maxkey.authn.annotation.CurrentUser; -import org.maxkey.constants.ConstsOperateMessage; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfoAdjoint; import org.maxkey.persistence.service.UserInfoAdjointService; @@ -88,10 +88,10 @@ public class UserAdjointController { _logger.debug("-Add :" + userInfoAdjoint); userInfoAdjoint.setInstId(currentUser.getInstId()); if (userInfoAdjointService.insert(userInfoAdjoint)) { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.success); } else { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.error); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.error); } } @@ -109,10 +109,10 @@ public class UserAdjointController { _logger.debug("-query :" + userInfoAdjoint); userInfoAdjoint.setInstId(currentUser.getInstId()); if (userInfoAdjointService.load(userInfoAdjoint)!=null) { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.success); } else { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_ERROR),MessageType.error); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.error); } } @@ -130,10 +130,10 @@ public class UserAdjointController { _logger.debug("-update userInfoAdjoint :" + userInfoAdjoint); userInfoAdjoint.setInstId(currentUser.getInstId()); if (userInfoAdjointService.update(userInfoAdjoint)) { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.success); } else { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); + return new Message(WebContext.getI18nValue(ConstsOperateResult.ERROR),MessageType.error); } } @@ -145,9 +145,9 @@ public class UserAdjointController { _logger.debug("-delete group :" + userInfoAdjoint); if (userInfoAdjointService.deleteBatch(userInfoAdjoint.getId())) { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.success); + return new Message(WebContext.getI18nValue(ConstsOperateResult.SUCCESS),MessageType.success); } else { - return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.error); + return new Message(WebContext.getI18nValue(ConstsOperateResult.ERROR),MessageType.error); } } diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java index d9d108392..446a4486a 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java @@ -34,12 +34,16 @@ import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.maxkey.authn.annotation.CurrentUser; +import org.maxkey.constants.ConstsEntryType; +import org.maxkey.constants.ConstsOperateAction; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.constants.ConstsPasswordSetType; import org.maxkey.entity.ChangePassword; import org.maxkey.entity.ExcelImport; import org.maxkey.entity.Message; import org.maxkey.entity.UserInfo; import org.maxkey.persistence.service.FileUploadService; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.UserInfoService; import org.maxkey.util.DateUtils; import org.maxkey.util.ExcelUtils; @@ -79,6 +83,8 @@ public class UserInfoController { @Autowired FileUploadService fileUploadService; + @Autowired + HistorySystemLogsService systemLog; @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody @@ -125,6 +131,12 @@ public class UserInfoController { fileUploadService.remove(userInfo.getPictureId()); } if (userInfoService.insert(userInfo)) { + systemLog.insert( + ConstsEntryType.USERINFO, + userInfo, + ConstsOperateAction.CREATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -147,6 +159,12 @@ public class UserInfoController { fileUploadService.remove(userInfo.getPictureId()); } if (userInfoService.update(userInfo)) { + systemLog.insert( + ConstsEntryType.USERINFO, + userInfo, + ConstsOperateAction.UPDATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -157,7 +175,14 @@ public class UserInfoController { @RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE}) public ResponseEntity delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) { _logger.debug("-delete ids : {} " , ids); + if (userInfoService.deleteBatch(ids)) { + systemLog.insert( + ConstsEntryType.USERINFO, + ids, + ConstsOperateAction.DELETE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -197,8 +222,13 @@ public class UserInfoController { _logger.debug("UserId {}",changePassword.getUserId()); changePassword.setPasswordSetType(ConstsPasswordSetType.PASSWORD_NORMAL); if(userInfoService.changePassword(changePassword,true)) { + systemLog.insert( + ConstsEntryType.USERINFO, + changePassword, + ConstsOperateAction.CHANGE_PASSWORD, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); - } else { return new Message(Message.FAIL).buildResponse(); } @@ -210,6 +240,12 @@ public class UserInfoController { _logger.debug(""+userInfo); userInfo.setInstId(currentUser.getInstId()); if(userInfoService.updateStatus(userInfo)) { + systemLog.insert( + ConstsEntryType.USERINFO, + userInfo, + ConstsOperateAction.statusActon.get(userInfo.getStatus()), + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/ResourcesController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/ResourcesController.java index 964399dfd..344470856 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/ResourcesController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/ResourcesController.java @@ -21,9 +21,13 @@ import java.util.List; import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.maxkey.authn.annotation.CurrentUser; +import org.maxkey.constants.ConstsEntryType; +import org.maxkey.constants.ConstsOperateAction; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.entity.Message; import org.maxkey.entity.Resources; import org.maxkey.entity.UserInfo; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.ResourcesService; import org.maxkey.web.component.TreeAttributes; import org.maxkey.web.component.TreeNode; @@ -48,6 +52,9 @@ public class ResourcesController { @Autowired ResourcesService resourcesService; + + @Autowired + HistorySystemLogsService systemLog; @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody @@ -83,6 +90,12 @@ public class ResourcesController { _logger.debug("-Add :" + resource); resource.setInstId(currentUser.getInstId()); if (resourcesService.insert(resource)) { + systemLog.insert( + ConstsEntryType.RESOURCE, + resource, + ConstsOperateAction.CREATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -95,6 +108,12 @@ public class ResourcesController { _logger.debug("-update :" + resource); resource.setInstId(currentUser.getInstId()); if (resourcesService.update(resource)) { + systemLog.insert( + ConstsEntryType.RESOURCE, + resource, + ConstsOperateAction.UPDATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -106,6 +125,12 @@ public class ResourcesController { public ResponseEntity delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) { _logger.debug("-delete ids : {} " , ids); if (resourcesService.deleteBatch(ids)) { + systemLog.insert( + ConstsEntryType.RESOURCE, + ids, + ConstsOperateAction.DELETE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RoleMemberController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RoleMemberController.java index 987aa886d..eff77611d 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RoleMemberController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RoleMemberController.java @@ -23,6 +23,7 @@ import org.maxkey.entity.Message; import org.maxkey.entity.RoleMember; import org.maxkey.entity.Roles; import org.maxkey.entity.UserInfo; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.RoleMemberService; import org.maxkey.persistence.service.RolesService; import org.maxkey.persistence.service.UserInfoService; @@ -55,6 +56,9 @@ public class RoleMemberController { @Autowired UserInfoService userInfoService; + @Autowired + HistorySystemLogsService systemLog; + @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody public ResponseEntity fetch( diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolePrivilegesController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolePrivilegesController.java index 0dea1b209..d9f76cefb 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolePrivilegesController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolePrivilegesController.java @@ -25,6 +25,7 @@ import org.maxkey.authn.annotation.CurrentUser; import org.maxkey.entity.Message; import org.maxkey.entity.RolePrivileges; import org.maxkey.entity.UserInfo; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.RolesService; import org.maxkey.util.StringUtils; import org.slf4j.Logger; @@ -47,6 +48,9 @@ public class RolePrivilegesController { @Autowired RolesService rolesService; + @Autowired + HistorySystemLogsService systemLog; + @ResponseBody @RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE}) public ResponseEntity update( diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolesController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolesController.java index 945204124..1b5481796 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolesController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RolesController.java @@ -19,9 +19,13 @@ package org.maxkey.web.permissions.contorller; import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.maxkey.authn.annotation.CurrentUser; +import org.maxkey.constants.ConstsEntryType; +import org.maxkey.constants.ConstsOperateAction; +import org.maxkey.constants.ConstsOperateResult; import org.maxkey.entity.Message; import org.maxkey.entity.Roles; import org.maxkey.entity.UserInfo; +import org.maxkey.persistence.service.HistorySystemLogsService; import org.maxkey.persistence.service.RolesService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,6 +49,9 @@ public class RolesController { @Autowired RolesService rolesService; + @Autowired + HistorySystemLogsService systemLog; + @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE}) @ResponseBody public ResponseEntity fetch(@ModelAttribute Roles roles,@CurrentUser UserInfo currentUser) { @@ -80,6 +87,12 @@ public class RolesController { role.setInstId(currentUser.getInstId()); if (rolesService.insert(role)) { rolesService.refreshDynamicRoles(role); + systemLog.insert( + ConstsEntryType.ROLE, + role, + ConstsOperateAction.CREATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -93,6 +106,12 @@ public class RolesController { role.setInstId(currentUser.getInstId()); if (rolesService.update(role)) { rolesService.refreshDynamicRoles(role); + systemLog.insert( + ConstsEntryType.ROLE, + role, + ConstsOperateAction.UPDATE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); @@ -105,6 +124,12 @@ public class RolesController { _logger.debug("-delete ids : {} " , ids); if (rolesService.deleteBatch(ids)) { + systemLog.insert( + ConstsEntryType.ROLE, + ids, + ConstsOperateAction.DELETE, + ConstsOperateResult.SUCCESS, + currentUser); return new Message(Message.SUCCESS).buildResponse(); } else { return new Message(Message.FAIL).buildResponse(); -- GitLab