Bläddra i källkod

菜单管理删除增加校验

609324174@qq.com 4 år sedan
förälder
incheckning
02c58139dc

+ 2 - 0
common/src/main/java/com/huaxu/model/ResultStatus.java

@@ -97,6 +97,8 @@ public enum ResultStatus {
     ACCESS_DISABLED_ERROR(900013, "您的账号已被禁用,如有问题请联系管理员。"),
     PHONE_NUMBER_NOT_FOUND_WECHAT_ERROR(900014, "您微信绑定的手机号尚未注册,请使用平台注册账号进行登录。"),
 
+    EXSIT_IS_PARENT_ERROR(800001,"存在下级信息不能删除"),
+
     SYSTEM_ERROR(999999, "系统错误"),
     ;
 

+ 57 - 7
user_center/src/main/java/com/huaxu/controller/MenuController.java

@@ -2,6 +2,7 @@ package com.huaxu.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaxu.common.FileUploadUtil;
 import com.huaxu.entity.UserEntity;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.Pagination;
@@ -10,14 +11,20 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.ui.ModelMap;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.Date;
 import org.springframework.web.bind.annotation.*;
 import com.huaxu.entity.MenuEntity;
 import com.huaxu.service.MenuService;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 菜单页面控制器
@@ -30,10 +37,12 @@ import com.huaxu.service.MenuService;
 public class MenuController {
     @Autowired
     private MenuService menuService;
+    @Value("${UMIS.sys_config_path}")
+    private String baseDir;
 
     @ApiOperation(value = "分页查询菜单信息")
-    @RequestMapping(value = "/selectPage",method = RequestMethod.POST)
-    public  AjaxMessage<Pagination<MenuEntity>> list(@RequestParam Integer pageNum, @RequestParam Integer pageSize,@ApiParam(value = "菜单信息", required = false)@RequestBody MenuEntity menuEntity) {
+    @RequestMapping(value = "/selectPage", method = RequestMethod.POST)
+    public AjaxMessage<Pagination<MenuEntity>> list(@RequestParam Integer pageNum, @RequestParam Integer pageSize, @ApiParam(value = "菜单信息", required = false) @RequestBody MenuEntity menuEntity) {
         IPage<MenuEntity> iPage = new Page<>(pageNum, pageSize);
         iPage = menuService.findPage(iPage, menuEntity);
         Pagination<MenuEntity> pages = new Pagination<>(iPage);
@@ -45,11 +54,39 @@ public class MenuController {
      */
     @ApiOperation(value = "新增菜单信息")
     @RequestMapping(value = "/add", method = RequestMethod.POST)
-    public AjaxMessage<Integer> addMenu(@ApiParam(value = "菜单信息", required = true)@RequestBody  MenuEntity menu) {
+    public AjaxMessage<Integer> addMenu(@ApiParam(value = "菜单信息", required = true) @RequestBody MenuEntity menu) {
         int result = menuService.addMenu(menu) ? 1 : 0;
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
 
+    /**
+     * 批量新增
+     */
+    @ApiOperation(value = "批量新增菜单信息")
+    @RequestMapping(value = "/addBatch", method = RequestMethod.POST)
+    public AjaxMessage<Integer> addMenus(@ApiParam(value = "菜单信息", required = true) @RequestBody ArrayList<MenuEntity> menus) {
+        int result = menuService.saveBatch(menus) ? 1 : 0;
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+
+    /**
+     * 新增
+     */
+    @ApiOperation(value = "菜单图标")
+    @RequestMapping(value = "addMenuImag", method = RequestMethod.POST)
+    @ResponseBody
+    public AjaxMessage<String> addUserPhoto(@ApiParam(value = "菜单图标", required = true) @RequestParam("avatarfile") MultipartFile file) {
+        String avatar = "";
+        if (!file.isEmpty()) {
+            try {
+                avatar = FileUploadUtil.uploadWeb(baseDir, file);
+            } catch (IOException e) {
+                return new AjaxMessage<>(ResultStatus.ERROR, e.getMessage());
+            }
+        }
+        return new AjaxMessage<>(ResultStatus.OK, avatar);
+    }
+
     /**
      * 按ID查询菜单
      */
@@ -65,7 +102,7 @@ public class MenuController {
      */
     @ApiOperation(value = "修改保存菜单")
     @RequestMapping(value = "/edit", method = RequestMethod.POST)
-    public  AjaxMessage<Integer> editMenu(@ApiParam(value = "菜单信息", required = true)@RequestBody MenuEntity menu) {
+    public AjaxMessage<Integer> editMenu(@ApiParam(value = "菜单信息", required = true) @RequestBody MenuEntity menu) {
         int result = menuService.updateMenuById(menu) ? 1 : 0;
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
@@ -75,7 +112,13 @@ public class MenuController {
      */
     @ApiOperation(value = "批量删除菜单")
     @RequestMapping(value = "/deleteByIds", method = RequestMethod.DELETE)
-    public AjaxMessage<Integer> deleteByIds(@ApiParam(value = "菜单IDS", required = true)@RequestParam Long[] ids) {
+    public AjaxMessage<Integer> deleteByIds(@ApiParam(value = "菜单IDS", required = true) @RequestParam Long[] ids) {
+
+        List<MenuEntity> menuEntityList = menuService.findMenuByParentIds(ids);
+        if (menuEntityList.size() > 0) {
+            return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR, 0);
+        }
+
         int result = menuService.delMenuByIds(ids) ? 1 : 0;
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
@@ -86,7 +129,14 @@ public class MenuController {
     @ApiOperation(value = "单个删除菜单")
     @RequestMapping(value = "/deleteById", method = RequestMethod.DELETE)
     public AjaxMessage<Integer> deleteById(@ApiParam(value = "菜单ID", required = true) @RequestParam Long id) {
-        int result = menuService.delMenuById(id) ? 1 : 0;
-        return new AjaxMessage<>(ResultStatus.OK, result);
+        MenuEntity menuEntity = new MenuEntity();
+        menuEntity.setParentMenuId(id);
+        List<MenuEntity> menuEntityList = menuService.findList(menuEntity);
+        if (menuEntityList.size() > 0) {
+            return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR, 0);
+        } else {
+            int result = menuService.delMenuById(id) ? 1 : 0;
+            return new AjaxMessage<>(ResultStatus.OK, result);
+        }
     }
 }

+ 11 - 7
user_center/src/main/java/com/huaxu/dao/MenuMapper.java

@@ -17,16 +17,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 @Mapper
 public interface MenuMapper extends BaseMapper<MenuEntity> {
 
-	/**
+    /**
      * 自定义分页查询
-     * @param  page 
-     * @param  menuEntity 实体类
+     *
+     * @param page
+     * @param menuEntity 实体类
      */
-     Page<MenuEntity> findPage(IPage<MenuEntity> page, @Param("menu") MenuEntity menuEntity);
+    Page<MenuEntity> findPage(IPage<MenuEntity> page, @Param("menu") MenuEntity menuEntity);
 
-     MenuEntity findMenuById(Serializable id);
+    MenuEntity findMenuById(Serializable id);
 
-     List<MenuEntity> findList(MenuEntity menuEntity);
+    List<MenuEntity> findList(MenuEntity menuEntity);
 
-     /**删除相关方法  使用mybatis-plus集成的 **/
+    List<MenuEntity> findMenuByParentIds(@Param("Ids") Long[] Ids);
+
+
+    /**删除相关方法  使用mybatis-plus集成的 **/
 }

+ 6 - 0
user_center/src/main/java/com/huaxu/service/MenuService.java

@@ -39,6 +39,12 @@ public class MenuService extends ServiceImpl<MenuMapper,MenuEntity> {
 		return menuMapper.findList(menuEntity);
 	}
 
+	/**
+	 * 按父级节点查列表
+	 */
+	public List<MenuEntity> findMenuByParentIds( Long[] ids) {
+		return menuMapper.findMenuByParentIds(ids);
+	}
 	/**
 	 * 批量删除
 	 */

+ 12 - 0
user_center/src/main/resources/mapper/MenuMapper.xml

@@ -52,6 +52,18 @@
         FROM uims_menu a
         WHERE a.id = #{id} and a.status=1
     </select>
+    <!--  根据主键获取实体   -->
+    <select id="findMenuByParentIds" resultType="com.huaxu.entity.MenuEntity">
+        SELECT
+        <include refid="menuColumns"/>
+        FROM uims_menu a
+        WHERE a.PARENT_MENU_ID in
+        <foreach collection = "Ids" item = "dramaId" open = "(" close = ")" separator = "," >
+            #{dramaId}
+        </foreach>
+
+        and a.status=1
+    </select>
 
     <!--  根据获取实体List   -->
     <select id="findList" resultType="com.huaxu.entity.MenuEntity">