From ce6d9bbc90d6634d7117c7bb06e5799336f2ac64 Mon Sep 17 00:00:00 2001 From: "feng.liu" <123456> Date: Fri, 15 Jul 2022 17:27:31 +0800 Subject: [PATCH] =?UTF-8?q?22695-=E5=8A=9F=E8=83=BD=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysMenuService.java | 2 + .../busi/SysMenuPanasonicController.java | 98 ++++++++++++++++++++++ .../serviceimpl/busi/SysMenuService.java | 49 ++++++++++- 3 files changed, 145 insertions(+), 4 deletions(-) create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuPanasonicController.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java index f0f1969..ff3cb84 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java @@ -68,4 +68,6 @@ public interface ISysMenuService extends ICrudService { @ApiOperation(value = "根据菜单代码查询菜单信息") SysMenu getSysMenuByCode(String code); + @ApiOperation(value = "根据菜单ID删除菜单信息") + void deleteSysMenuById(Long id); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuPanasonicController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuPanasonicController.java new file mode 100644 index 0000000..c06106b --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuPanasonicController.java @@ -0,0 +1,98 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; +import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; +import cn.estsh.i3plus.platform.common.exception.BaseImppException; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.tool.ExcelTool; +import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.platform.common.util.FileContentTypeTool; +import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysMenu; +import cn.estsh.impp.framework.base.controller.CrudBaseController; +import cn.estsh.impp.framework.base.service.ICrudService; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ImppRedis; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.persistence.EntityManager; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +/** + * @Description : 系统功能对外接口 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 15:18:14.982 + * @Modify : + **/ +@RestController +@Api(tags = "系统功能服务") +@RequestMapping(PlatformConstWords.BASE_URL + "/sys-menu-panasonic") +public class SysMenuPanasonicController extends CrudBaseController { + + public static final Logger LOGGER = LoggerFactory.getLogger(SysMenuPanasonicController.class); + + @Autowired + private ISysMenuService menuService; + + @Autowired + private EntityManager entityManager; + + @Resource(name= CommonConstWords.IMPP_REDIS_RES) + private ImppRedis redisRes; + + @Autowired + private ICoreMemTreeService memTreeService; + + @Autowired + private IPersonnelService personnelService; + + @Override + public ICrudService getCrudService() { + return menuService; + } + + /** + * CORE - 批量删除 + * @param id id + * @return 处理结果 + */ + @DeleteMapping("/delete-panasonic/{id}") + @ApiOperation(value = "删除消息",notes = "删除消息") + public ResultBean deleteSysMenuById(@PathVariable("id") Long id){ + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "菜单id 不能为空"); + + menuService.deleteSysMenuById(id); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java index 1b2fa64..e73aa55 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java @@ -25,10 +25,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; import static cn.estsh.i3plus.platform.common.util.CommonConstWords.RESOURCE_PREFIX_MENU; @@ -329,4 +327,47 @@ public class SysMenuService extends CrudService implements ISysMenuServ return sysMenuRDao.getByProperty(packBean); } + @Override + public void deleteSysMenuById(Long id) { + List idList = new ArrayList<>(); + SysMenu sysMenu = sysMenuRDao.getById(id); + if(sysMenu != null){ + idList.add(sysMenu.getId()); + List oneList = getIdList(id,idList); + if(oneList != null){ + sysMenuRDao.deleteByIds(idList.stream().toArray(Long[]::new)); + } + } + } + + private List getIdList(Long id,List idList){ + List sysMenuTwoList = sysMenuRDao.findByProperty("parentId",id); + if(CollectionUtils.isEmpty(sysMenuTwoList)){ + return null; + } + List twoList = sysMenuTwoList.stream().map(SysMenu::getId).collect(Collectors.toList()); + + List sysMenuThreeList = getSysMenuList(twoList); + if(CollectionUtils.isEmpty(sysMenuThreeList)){ + return null; + } + List threeList = sysMenuThreeList.stream().map(SysMenu::getId).collect(Collectors.toList()); + + List sysMenuFourList = getSysMenuList(twoList); + if(CollectionUtils.isEmpty(sysMenuFourList)){ + return null; + } + List fourList = sysMenuFourList.stream().map(SysMenu::getId).collect(Collectors.toList()); + + idList.addAll(twoList); + idList.addAll(threeList); + idList.addAll(fourList); + return idList; + } + + private List getSysMenuList(List idList){ + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + DdlPreparedPack.getInPackList(idList, "parentId", ddlPackBean); + return sysMenuRDao.findByHqlWhere(ddlPackBean); + } }