From f7caf6262cc42e902d4c1894e6a840cf2149a98b Mon Sep 17 00:00:00 2001 From: zhangshuai Date: Wed, 7 Aug 2024 15:50:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ASW-29=20Application=20=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/ApplicationController.java | 7 ++++ .../app/service/IApplicationService.java | 2 + .../service/impl/ApplicationServiceImpl.java | 37 +++++++++++++++++-- .../resources/db/migration/R__AZ_sys_menu.sql | 1 + .../db/migration/R__AZ_sys_role_menu.sql | 1 + 5 files changed, 45 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java b/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java index 4c65eee..d265c2c 100644 --- a/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java +++ b/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java @@ -112,4 +112,11 @@ public class ApplicationController { Page page = applicationService.compare(id1, id2); return R.ok().putData("record", page); } + + + @PostMapping("/restore/{id}/{version}") + public R restore(@PathVariable("id") String id, @PathVariable("version") String version) { + applicationService.restore(id, version); + return R.ok(); + } } diff --git a/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java b/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java index 985fcf6..ad3ac43 100644 --- a/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java +++ b/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java @@ -22,4 +22,6 @@ public interface IApplicationService extends IService{ Page compare(String id1, String id2); List queryLogList(String id); + + void restore(String id, String version); } diff --git a/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java b/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java index f72f3e1..32f3587 100644 --- a/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java @@ -14,6 +14,7 @@ import net.geedge.asw.module.app.service.IApplicationLogService; import net.geedge.asw.module.app.service.IApplicationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; @@ -40,6 +41,7 @@ public class ApplicationServiceImpl extends ServiceImpl() .eq(ApplicationEntity::getWorkspaceId, entity.getWorkspaceId()) @@ -59,6 +61,7 @@ public class ApplicationServiceImpl extends ServiceImpl() .eq(ApplicationEntity::getWorkspaceId, entity.getWorkspaceId()) @@ -75,13 +78,21 @@ public class ApplicationServiceImpl extends ServiceImpl ids) { // remove this.removeBatchByIds(ids); @@ -102,4 +113,24 @@ public class ApplicationServiceImpl extends ServiceImpl() + .eq(ApplicationLogEntity::getId, id) + .eq(ApplicationLogEntity::getOpVersion, version)); + + oldApplication.setUpdateTimestamp(System.currentTimeMillis()); + oldApplication.setUpdateUserId(StpUtil.getLoginIdAsString()); + oldApplication.setOpVersion(curApplication.getOpVersion() + 1); + + ApplicationEntity application = T.BeanUtil.toBean(oldApplication, ApplicationEntity.class); + this.updateById(application); + } } diff --git a/src/main/resources/db/migration/R__AZ_sys_menu.sql b/src/main/resources/db/migration/R__AZ_sys_menu.sql index d59d889..dfd5879 100644 --- a/src/main/resources/db/migration/R__AZ_sys_menu.sql +++ b/src/main/resources/db/migration/R__AZ_sys_menu.sql @@ -14,6 +14,7 @@ INSERT INTO `sys_menu` (`id`, `name`, `i18n`, `pid`, `type`, `perms`, `route`, ` INSERT INTO `sys_menu` (`id`, `name`, `i18n`, `pid`, `type`, `perms`, `route`, `icon`, `order`, `create_timestamp`, `state`) VALUES ('2004', 'application_delete', 'buttons.delete', '2000', 'button', '', '', '', 4, 1722478572000, 1); INSERT INTO `sys_menu` (`id`, `name`, `i18n`, `pid`, `type`, `perms`, `route`, `icon`, `order`, `create_timestamp`, `state`) VALUES ('2005', 'application_history', 'buttons.history', '2000', 'button', '', '', '', 5, 1722478572000, 1); INSERT INTO `sys_menu` (`id`, `name`, `i18n`, `pid`, `type`, `perms`, `route`, `icon`, `order`, `create_timestamp`, `state`) VALUES ('2006', 'application_compare', 'buttons.compare', '2000', 'button', '', '', '', 6, 1722478572000, 1); +INSERT INTO `sys_menu` (`id`, `name`, `i18n`, `pid`, `type`, `perms`, `route`, `icon`, `order`, `create_timestamp`, `state`) VALUES ('2007', 'application_restore', 'buttons.restore', '2000', 'button', '', '', '', 7, 1722478572000, 1); INSERT INTO `sys_menu` (`id`, `name`, `i18n`, `pid`, `type`, `perms`, `route`, `icon`, `order`, `create_timestamp`, `state`) VALUES ('3000', 'pcaps', 'overall.pcaps', '0', 'menu', '', '/pcaps', 'asw-icon icon-Pcaps', 2, 1722478572000, 1); INSERT INTO `sys_menu` (`id`, `name`, `i18n`, `pid`, `type`, `perms`, `route`, `icon`, `order`, `create_timestamp`, `state`) VALUES ('3001', 'pacp_view', 'buttons.view', '3000', 'button', '', '', '', 1, 1722478572000, 1); diff --git a/src/main/resources/db/migration/R__AZ_sys_role_menu.sql b/src/main/resources/db/migration/R__AZ_sys_role_menu.sql index 1b90857..3a241ff 100644 --- a/src/main/resources/db/migration/R__AZ_sys_role_menu.sql +++ b/src/main/resources/db/migration/R__AZ_sys_role_menu.sql @@ -14,6 +14,7 @@ INSERT INTO `sys_role_menu`(`role_id`, `menu_id`) VALUES ('admin', '2003'); INSERT INTO `sys_role_menu`(`role_id`, `menu_id`) VALUES ('admin', '2004'); INSERT INTO `sys_role_menu`(`role_id`, `menu_id`) VALUES ('admin', '2005'); INSERT INTO `sys_role_menu`(`role_id`, `menu_id`) VALUES ('admin', '2006'); +INSERT INTO `sys_role_menu`(`role_id`, `menu_id`) VALUES ('admin', '2007'); INSERT INTO `sys_role_menu`(`role_id`, `menu_id`) VALUES ('admin', '3000'); INSERT INTO `sys_role_menu`(`role_id`, `menu_id`) VALUES ('admin', '3001');