diff --git a/src/main/java/com/gxwebsoft/common/system/controller/MenuController.java b/src/main/java/com/gxwebsoft/common/system/controller/MenuController.java
index 2d6e09c..9411cab 100644
--- a/src/main/java/com/gxwebsoft/common/system/controller/MenuController.java
+++ b/src/main/java/com/gxwebsoft/common/system/controller/MenuController.java
@@ -2,33 +2,40 @@ package com.gxwebsoft.common.system.controller;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
-import cn.hutool.core.util.ObjectUtil;
-import com.gxwebsoft.common.core.utils.JSONUtil;
-import com.gxwebsoft.common.system.param.MenuImportParam;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-
import cn.hutool.core.stream.CollectorUtil;
+import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.gxwebsoft.common.core.annotation.OperationLog;
+import com.gxwebsoft.common.core.utils.JSONUtil;
import com.gxwebsoft.common.core.web.*;
import com.gxwebsoft.common.system.entity.*;
+import com.gxwebsoft.common.system.param.MenuImportParam;
import com.gxwebsoft.common.system.param.MenuParam;
import com.gxwebsoft.common.system.param.VersionParam;
import com.gxwebsoft.common.system.service.CompanyService;
import com.gxwebsoft.common.system.service.MenuService;
+import com.gxwebsoft.common.system.service.RoleMenuService;
+import com.gxwebsoft.common.system.service.RoleService;
import com.gxwebsoft.common.system.service.UserService;
import com.gxwebsoft.common.system.service.VersionService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
+import java.util.Queue;
import java.util.Set;
import java.util.stream.Collectors;
@@ -50,6 +57,10 @@ public class MenuController extends BaseController {
private VersionService versionService;
@Resource
private UserService userService;
+ @Resource
+ private RoleService roleService;
+ @Resource
+ private RoleMenuService roleMenuService;
@PreAuthorize("hasAuthority('sys:menu:list')")
@Operation(summary = "分页查询菜单")
@@ -238,45 +249,260 @@ public class MenuController extends BaseController {
/**
* excel批量导入菜单
*/
- @PreAuthorize("hasAuthority('sys:menu:remove')")
+ @PreAuthorize("hasAuthority('sys:menu:save')")
@Operation(summary = "批量导入菜单")
@Transactional(rollbackFor = {Exception.class})
@PostMapping("/import")
public ApiResult> importBatch(MultipartFile file) {
ImportParams importParams = new ImportParams();
try {
+ System.out.println("=== 开始菜单导入流程 ===");
+
+ // 检查导入前的菜单数据
+ long beforeCount = menuService.count();
+ System.out.println("导入前菜单总数: " + beforeCount);
+
+ // 检查当前未删除的菜单
+ List