diff --git a/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java b/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java
index 1397fa257..e6132c00b 100644
--- a/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java
+++ b/maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java
@@ -37,6 +37,9 @@ public class HistorySynchronizer extends JpaBaseEntity implements Serializable
@Column
String result;
+ String startDate;
+ String endDate;
+
public String getId() {
return id;
}
@@ -88,6 +91,19 @@ public class HistorySynchronizer extends JpaBaseEntity implements Serializable
public HistorySynchronizer() {
super();
}
+
+ public String getStartDate() {
+ return startDate;
+ }
+ public void setStartDate(String startDate) {
+ this.startDate = startDate;
+ }
+ public String getEndDate() {
+ return endDate;
+ }
+ public void setEndDate(String endDate) {
+ this.endDate = endDate;
+ }
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
diff --git a/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySynchronizerMapper.xml b/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySynchronizerMapper.xml
index 6f6271df9..2218d1518 100644
--- a/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySynchronizerMapper.xml
+++ b/maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySynchronizerMapper.xml
@@ -6,6 +6,21 @@
and id = #{id}
+
+ and syncid = #{syncId}
+
+
+ and objectname = #{objectName}
+
+
+ and result = #{result}
+
+
+ and synctime >= #{startDate}
+
+
+ and #{endDate} >= synctime
+
diff --git a/maxkey-web-manage/src/main/java/org/maxkey/web/contorller/LogsController.java b/maxkey-web-manage/src/main/java/org/maxkey/web/contorller/LogsController.java
index ccdd26037..861ef2908 100644
--- a/maxkey-web-manage/src/main/java/org/maxkey/web/contorller/LogsController.java
+++ b/maxkey-web-manage/src/main/java/org/maxkey/web/contorller/LogsController.java
@@ -24,13 +24,16 @@ import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.entity.HistoryLogin;
import org.maxkey.entity.HistoryLoginApps;
import org.maxkey.entity.HistoryLogs;
+import org.maxkey.entity.HistorySynchronizer;
import org.maxkey.persistence.service.HistoryLoginAppsService;
import org.maxkey.persistence.service.HistoryLoginService;
import org.maxkey.persistence.service.HistoryLogsService;
+import org.maxkey.persistence.service.HistorySynchronizerService;
import org.maxkey.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
@@ -60,6 +63,10 @@ final static Logger _logger = LoggerFactory.getLogger(LogsController.class);
@Autowired
HistoryLogsService logsService;
+ @Autowired
+ @Qualifier("historySynchronizerService")
+ HistorySynchronizerService historySynchronizerService;
+
/**
* 查询操作日志
* @param logs
@@ -90,7 +97,7 @@ final static Logger _logger = LoggerFactory.getLogger(LogsController.class);
@RequestMapping(value={"/loginHistory/grid"})
@ResponseBody
public JpaPageResults logAuthsGrid(@ModelAttribute("loginHistory") HistoryLogin loginHistory){
- _logger.debug("logs/loginHistory/datagrid/ logsGrid() "+loginHistory);
+ _logger.debug("logs/loginHistory/datagrid/ "+loginHistory);
return loginHistoryService.queryPageResults(loginHistory);
}
@@ -109,11 +116,27 @@ final static Logger _logger = LoggerFactory.getLogger(LogsController.class);
@RequestMapping(value={"/loginAppsHistory/grid"})
@ResponseBody
public JpaPageResults loginAppsHistoryGrid(@ModelAttribute("loginAppsHistory") HistoryLoginApps loginAppsHistory){
- _logger.debug("logs/loginAppsHistory/datagrid/ logsGrid() "+loginAppsHistory);
+ _logger.debug("logs/loginAppsHistory/datagrid/ "+loginAppsHistory);
loginAppsHistory.setId(null);
return loginAppsHistoryService.queryPageResults(loginAppsHistory);
}
+ @RequestMapping(value={"/historySynchronizerList"})
+ public String historySynchronizerList(){
+ return "logs/historySynchronizerList";
+ }
+
+ /**
+ * @param historySynchronizer
+ * @return
+ */
+ @RequestMapping(value={"/historySynchronizer/grid"})
+ @ResponseBody
+ public JpaPageResults historySynchronizerGrid(@ModelAttribute("historySynchronizer") HistorySynchronizer historySynchronizer){
+ _logger.debug("logs/historySynchronizer/grid/ "+historySynchronizer);
+ return historySynchronizerService.queryPageResults(historySynchronizer);
+ }
+
@RequestMapping(value={"/provisioningEventList"})
public String provisioningEntryList(){
diff --git a/maxkey-web-manage/src/main/resources/messages/message.properties b/maxkey-web-manage/src/main/resources/messages/message.properties
index 40695bb5d..9de4d158f 100644
--- a/maxkey-web-manage/src/main/resources/messages/message.properties
+++ b/maxkey-web-manage/src/main/resources/messages/message.properties
@@ -515,6 +515,16 @@ log.operate.content=\u5185\u5bb9
log.operate.messageType=\u6d88\u606f\u7c7b\u578b
log.operate.operateType=\u64cd\u4f5c\u7c7b\u578b
log.operate.username=\u64cd\u4f5c\u4eba
+#log.synchronizer
+log.synchronizer.id=\u7F16\u53F7
+log.synchronizer.syncId=\u540C\u6B65\u5668\u7F16\u53F7
+log.synchronizer.syncName=\u540C\u6B65\u5668
+log.synchronizer.objectId=\u5BF9\u8C61\u7F16\u53F7
+log.synchronizer.objectType=\u5BF9\u8C61\u540D\u79F0
+log.synchronizer.objectName=\u5BF9\u8C61\u540D\u79F0
+log.synchronizer.syncTime=\u540C\u6B65\u65F6\u95F4
+log.synchronizer.result=\u7ED3\u679C
+
#message
message.action.insert.success=\u65b0\u589e\u64cd\u4f5c\u6210\u529f
message.action.insert.error=\u65b0\u589e\u64cd\u4f5c\u5931\u8d25
@@ -549,6 +559,7 @@ navs.audit=\u65e5\u5fd7\u5ba1\u8ba1
navs.audit.login=\u767b\u5f55\u65e5\u5fd7
navs.audit.loginapps=\u8bbf\u95ee\u65e5\u5fd7
navs.audit.operate=\u64cd\u4f5c\u65e5\u5fd7
+navs.audit.synchronizer=\u540C\u6B65\u65E5\u5FD7
navs.roles=\u89d2\u8272\u7ba1\u7406
navs.role.member=\u89d2\u8272\u7528\u6237
navs.role.permissions=\u89d2\u8272\u6743\u9650\u7ba1\u7406
diff --git a/maxkey-web-manage/src/main/resources/messages/message_en.properties b/maxkey-web-manage/src/main/resources/messages/message_en.properties
index 691880fd8..900904a0c 100644
--- a/maxkey-web-manage/src/main/resources/messages/message_en.properties
+++ b/maxkey-web-manage/src/main/resources/messages/message_en.properties
@@ -526,6 +526,15 @@ log.operate.messageType=messageType
log.operate.operateType=operateType
log.operate.username=username
+log.synchronizer.id=Id
+log.synchronizer.syncId=SyncId
+log.synchronizer.syncName=SyncName
+log.synchronizer.objectId=ObjectId
+log.synchronizer.objectType=ObjectType
+log.synchronizer.objectName=ObjectName
+log.synchronizer.syncTime=SyncTime
+log.synchronizer.result=Result
+
message.action.insert.success=Insert Success
message.action.insert.error=Insert Error
message.action.update.success=Update Success
@@ -560,6 +569,7 @@ navs.audit=Audit
navs.audit.login=Login
navs.audit.loginapps=LoginApps
navs.audit.operate=Operate
+navs.audit.synchronizer=Synchronizer
navs.roles=Roles
navs.role.member=RoleMember
navs.role.permissions=Permissions
diff --git a/maxkey-web-manage/src/main/resources/messages/message_zh_CN.properties b/maxkey-web-manage/src/main/resources/messages/message_zh_CN.properties
index ce2503b86..aafd4e2f0 100644
--- a/maxkey-web-manage/src/main/resources/messages/message_zh_CN.properties
+++ b/maxkey-web-manage/src/main/resources/messages/message_zh_CN.properties
@@ -524,6 +524,15 @@ log.operate.messageType=\u6d88\u606f\u7c7b\u578b
log.operate.operateType=\u64cd\u4f5c\u7c7b\u578b
log.operate.username=\u64cd\u4f5c\u4eba
+log.synchronizer.id=\u7F16\u53F7
+log.synchronizer.syncId=\u540C\u6B65\u5668\u7F16\u53F7
+log.synchronizer.syncName=\u540C\u6B65\u5668
+log.synchronizer.objectId=\u5BF9\u8C61\u7F16\u53F7
+log.synchronizer.objectType=\u5BF9\u8C61\u540D\u79F0
+log.synchronizer.objectName=\u5BF9\u8C61\u540D\u79F0
+log.synchronizer.syncTime=\u540C\u6B65\u65F6\u95F4
+log.synchronizer.result=\u7ED3\u679C
+
message.action.insert.success=\u65b0\u589e\u64cd\u4f5c\u6210\u529f
message.action.insert.error=\u65b0\u589e\u64cd\u4f5c\u5931\u8d25
message.action.update.success=\u66f4\u65b0\u64cd\u4f5c\u6210\u529f
@@ -558,6 +567,7 @@ navs.audit=\u65e5\u5fd7\u5ba1\u8ba1
navs.audit.login=\u767b\u5f55\u65e5\u5fd7
navs.audit.loginapps=\u8bbf\u95ee\u65e5\u5fd7
navs.audit.operate=\u64cd\u4f5c\u65e5\u5fd7
+navs.audit.synchronizer=\u540C\u6B65\u65E5\u5FD7
navs.roles=\u89d2\u8272\u7ba1\u7406
navs.role.member=\u89d2\u8272\u7528\u6237
navs.role.permissions=\u89d2\u8272\u6743\u9650\u7ba1\u7406
diff --git a/maxkey-web-manage/src/main/resources/templates/views/layout/sidenav.ftl b/maxkey-web-manage/src/main/resources/templates/views/layout/sidenav.ftl
index 0bd28d1ee..ba301714b 100644
--- a/maxkey-web-manage/src/main/resources/templates/views/layout/sidenav.ftl
+++ b/maxkey-web-manage/src/main/resources/templates/views/layout/sidenav.ftl
@@ -141,6 +141,12 @@
+
+
+