system logs

This commit is contained in:
MaxKey
2022-05-25 12:14:54 +08:00
parent 3cabc8a790
commit 3a65a66620
26 changed files with 513 additions and 119 deletions

View File

@@ -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<HistorySystemLogs>{
final static Logger _logger = LoggerFactory.getLogger(HistorySystemLogsService.class);
public HistorySystemLogsService() {
super(HistorySystemLogsMapper.class);
@@ -37,4 +54,177 @@ public class HistorySystemLogsService extends JpaBaseService<HistorySystemLogs>
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();
}
}

View File

@@ -100,8 +100,9 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
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> {
userInfo.setPassword(changePassword.getPassword());
userInfo.setDecipherable(changePassword.getDecipherable());
userInfo.setPasswordLastSetTime(changePassword.getPasswordLastSetTime());
}else {
userInfo.setPassword(null);
userInfo.setDecipherable(null);
}
return changePassword;
}

View File

@@ -21,11 +21,11 @@
<if test="displayName != null and displayName != ''">
and lower(displayName) like lower(concat('%',#{displayName},'%'))
</if>
<if test="messageType != null and messageType != ''">
and messageType = #{messageType}
<if test="messageAction != null and messageAction != ''">
and messageaction = #{messageAction}
</if>
<if test="messageResult != null and messageResult != ''">
and messageResult = #{messageResult}
and messageresult = #{messageResult}
</if>
</sql>