From 0c8c0da73efb15fc92c23c023acaed2d1860e0aa Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 04 七月 2024 11:02:30 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java | 143 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 142 insertions(+), 1 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java index 591bb1b..d30538e 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java @@ -4,15 +4,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; +import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wms.common.annotation.OperationLog; import com.zy.asrs.wms.common.domain.BaseParam; import com.zy.asrs.wms.common.domain.KeyValVo; import com.zy.asrs.wms.common.domain.PageParam; import com.zy.asrs.wms.system.entity.Host; -import com.zy.asrs.wms.system.service.HostService; +import com.zy.asrs.wms.system.entity.Menu; +import com.zy.asrs.wms.system.entity.RoleMenu; +import com.zy.asrs.wms.system.service.*; import com.zy.asrs.wms.utils.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -24,6 +28,14 @@ @Autowired private HostService hostService; + @Autowired + private MenuService menuService; + @Autowired + private RoleMenuService roleMenuService; + @Autowired + private RoleService roleService; + @Autowired + private UserService userService; @PreAuthorize("hasAuthority('system:host:list')") @PostMapping("/host/page") @@ -48,12 +60,121 @@ @PreAuthorize("hasAuthority('system:host:save')") @OperationLog("娣诲姞鏈烘瀯") @PostMapping("/host/save") + @Transactional public R save(@RequestBody Host host) { host.setCreateTime(new Date()); host.setUpdateTime(new Date()); if (!hostService.save(host)) { return R.error("娣诲姞澶辫触"); } + + List<Menu> parentMenus = menuService.selectByParentId(0L, 0, 1L); + for (Menu parentMenu : parentMenus) { + List<Menu> menuList = menuService.selectByParentId(parentMenu.getId(), 0, parentMenu.getHostId()); + + parentMenu.setId(null); + parentMenu.setHostId(host.getId()); + boolean save1 = menuService.save(parentMenu); + if (!save1) { + throw new CoolException("娣诲姞澶辫触"); + } + + for (Menu menu1 : menuList) { + List<Menu> menuList2 = menuService.selectByParentId(menu1.getId(), 1, menu1.getHostId()); + + menu1.setId(null); + menu1.setHostId(host.getId()); + menu1.setParentId(parentMenu.getId()); + boolean save2 = menuService.save(menu1); + if (!save2) { + throw new CoolException("娣诲姞澶辫触"); + } + + for (Menu menu2 : menuList2) { + menu2.setId(null); + menu2.setHostId(host.getId()); + menu2.setParentId(menu1.getId()); + boolean save3 = menuService.save(menu2); + if (!save3) { + throw new CoolException("娣诲姞澶辫触"); + } + } + } + + //鍒涘缓榛樿鏉冮檺 + for (Menu menu1 : menuList) { + RoleMenu roleMenu = new RoleMenu(); + roleMenu.setRoleId(1L); + roleMenu.setMenuId(menu1.getId()); + boolean save4 = roleMenuService.save(roleMenu); + if (!save4) { + throw new CoolException("娣诲姞澶辫触"); + } + } + RoleMenu roleMenu = new RoleMenu(); + roleMenu.setRoleId(1L); + roleMenu.setMenuId(parentMenu.getId()); + boolean save5 = roleMenuService.save(roleMenu); + if (!save5) { + throw new CoolException("娣诲姞澶辫触"); + } + + } + +// //鍒涘缓绯荤粺榛樿鑿滃崟 +// Menu menu = new Menu(); +// menu.setName("绯荤粺绠$悊"); +// menu.setParentId(0L); +// menu.setRoute("/system"); +// menu.setType(0); +// menu.setIcon("UserOutlined"); +// menu.setSort(1); +// menu.setLanguageId("system.system"); +// menu.setHostId(host.getId()); +// boolean save = menuService.save(menu); +// if (!save) { +// throw new CoolException("娣诲姞澶辫触"); +// } +// List<Menu> menuList = menuService.selectByPathName("绯荤粺绠$悊", 0); +// for (Menu menu1 : menuList) { +// menu1.setId(null); +// menu1.setHostId(host.getId()); +// menu1.setParentId(menu.getId()); +// boolean save1 = menuService.save(menu1); +// if (!save1) { +// throw new CoolException("娣诲姞澶辫触"); +// } +// +// List<Menu> menuList2 = menuService.selectByPathName(menu1.getName(), 1); +// for (Menu menu2 : menuList2) { +// menu2.setId(null); +// menu2.setHostId(host.getId()); +// menu2.setParentId(menu1.getId()); +// boolean save2 = menuService.save(menu2); +// if (!save2) { +// throw new CoolException("娣诲姞澶辫触"); +// } +// } +// } +// +// //鍒涘缓榛樿鏉冮檺 +// for (Menu menu1 : menuList) { +// RoleMenu roleMenu = new RoleMenu(); +// roleMenu.setRoleId(1L); +// roleMenu.setMenuId(menu1.getId()); +// boolean save1 = roleMenuService.save(roleMenu); +// if (!save1) { +// throw new CoolException("娣诲姞澶辫触"); +// } +// } +// RoleMenu roleMenu = new RoleMenu(); +// roleMenu.setRoleId(1L); +// roleMenu.setMenuId(menu.getId()); +// boolean save1 = roleMenuService.save(roleMenu); +// if (!save1) { +// throw new CoolException("娣诲姞澶辫触"); +// } + return R.ok("娣诲姞鎴愬姛"); } @@ -71,7 +192,27 @@ @PreAuthorize("hasAuthority('system:host:remove')") @OperationLog("鍒犻櫎鏈烘瀯") @PostMapping("/host/remove/{ids}") + @Transactional public R remove(@PathVariable Long[] ids) { + List<Host> list = hostService.list(new LambdaQueryWrapper<Host>().in(Host::getId, ids)); + for (Host host : list) { + if (host.getId() == 1) { + throw new CoolException("鏍硅妭鐐逛笉鍙鍒犻櫎"); + } + + ArrayList<Long> menuIds = new ArrayList<>(); + for (Menu menu : menuService.selectByHostId(host.getId())) { + menuIds.add(menu.getId()); + } + + if (!menuIds.isEmpty()) { + roleMenuService.remove(new LambdaQueryWrapper<RoleMenu>().in(RoleMenu::getMenuId, menuIds)); + menuService.removeByHostId(host.getId()); + roleService.removeByHostId(host.getId()); + userService.removeByHostId(host.getId()); + } + } + if (!hostService.removeByIds(Arrays.asList(ids))) { return R.error("鍒犻櫎澶辫触"); } -- Gitblit v1.9.1