From 94fc9424ac149ad54e8d2ae85a714efdf7431fa7 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Mon, 2 Nov 2020 17:04:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=88=86=E7=B1=BBbug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ModuleCategoryController.java | 21 +++++++--- .../esua/epdc/dao/ModuleCategoryDao.java | 16 +++++++ .../epdc/service/ModuleCategoryService.java | 11 ++++- .../impl/ModuleCategoryServiceImpl.java | 42 ++++++++++++++++--- .../resources/mapper/ModuleCategoryDao.xml | 13 +++++- 5 files changed, 89 insertions(+), 14 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/ModuleCategoryController.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/ModuleCategoryController.java index 7a11089c..7e4f317f 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/ModuleCategoryController.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/controller/ModuleCategoryController.java @@ -20,7 +20,6 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.commons.tools.validator.AssertUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; @@ -70,6 +69,18 @@ public class ModuleCategoryController { List list = moduleCategoryService.list(new HashMap<>(1)); return new Result>().ok(list); } + /** + * @Description 内容管理新增通知时使用 + * @Author songyunpeng + * @Date 2020/10/28 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + **/ + @GetMapping("getListToShow") + public Result> getListToShow(){ + List list = moduleCategoryService.getListToShow(new HashMap<>(1)); + return new Result>().ok(list); + } @GetMapping("{id}") public Result get(@PathVariable("id") String id){ @@ -93,11 +104,9 @@ public class ModuleCategoryController { return new Result(); } - @DeleteMapping - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - moduleCategoryService.delete(ids); + @DeleteMapping("{id}") + public Result delete(@PathVariable("id") String id){ + moduleCategoryService.delete(id); return new Result(); } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/ModuleCategoryDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/ModuleCategoryDao.java index b3971993..57645f9f 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/ModuleCategoryDao.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/ModuleCategoryDao.java @@ -44,6 +44,14 @@ public interface ModuleCategoryDao extends BaseDao { * @return java.util.List **/ List getList(Map params); + /** + * @Description 内容管理新增通知时使用 + * @Author songyunpeng + * @Date 2020/10/29 + * @Param [params] + * @return java.util.List + **/ + List getListToShow(Map params); /** * @Description 查询类别tree * @Author songyunpeng @@ -83,4 +91,12 @@ public interface ModuleCategoryDao extends BaseDao { * @return java.util.List **/ List getModuleCategoryCodesHierarchy(@Param("moduleCategoryIds") List moduleCategoryIds); + /** + * @Description 根据ID查询所有下级ID列表 + * @Author songyunpeng + * @Date 2020/11/2 + * @Param [s] + * @return java.util.List + **/ + List getSubModuleCategoryIdList(String id); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/ModuleCategoryService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/ModuleCategoryService.java index c46ef1e6..51613340 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/ModuleCategoryService.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/ModuleCategoryService.java @@ -56,6 +56,15 @@ public interface ModuleCategoryService extends BaseService * @date 2020-10-28 */ List list(Map params); + /** + * 内容管理新增通知时使用 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-10-28 + */ + List getListToShow(Map params); /** * 单条查询 @@ -100,7 +109,7 @@ public interface ModuleCategoryService extends BaseService * @author generator * @date 2020-10-28 */ - void delete(String[] ids); + void delete(String ids); /** * @Description 查询事件类别树, 供下拉框调用 * @Author songyunpeng diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/ModuleCategoryServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/ModuleCategoryServiceImpl.java index 2d1e786a..debdfb98 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/ModuleCategoryServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/ModuleCategoryServiceImpl.java @@ -24,7 +24,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; -import com.elink.esua.epdc.commons.tools.exception.ErrorCode; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; @@ -76,6 +75,14 @@ public class ModuleCategoryServiceImpl extends BaseServiceImpl getListToShow(Map params) { + List entityList = baseDao.getListToShow(params); + + List dtoList = ConvertUtils.sourceToTarget(entityList, ModuleCategoryDTO.class); + + return TreeUtils.build(dtoList); + } private QueryWrapper getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); @@ -185,7 +192,7 @@ public class ModuleCategoryServiceImpl extends BaseServiceImpl list = getPidListByPid(entity.getPid()); if (list.size() == 0) { @@ -201,14 +208,39 @@ public class ModuleCategoryServiceImpl extends BaseServiceImpl subModuleCategoryIdList = baseDao.getSubModuleCategoryIdList("%"+entity.getId()+"%"); + if(subModuleCategoryIdList!=null && subModuleCategoryIdList.size() > 0){ + List moduleCategoryEntities = baseDao.selectBatchIds(subModuleCategoryIdList); + moduleCategoryEntities.forEach(moduleCategoryEntity -> moduleCategoryEntity.setEnableFlag("0")); + updateBatchById(moduleCategoryEntities); + } + } updateById(entity); } @Override @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); + public void delete(String id) { + //判断是否有子部门 + List subList = SubModuleCategoryIdList(id); + if (subList.size() > 1) { + throw new RenException("请先删除下级分类"); + } + baseDao.deleteBatchIds(Arrays.asList(new String[]{id})); + } + + private List SubModuleCategoryIdList(String id) { + List subCategoryIdList = baseDao.getSubModuleCategoryIdList("%" + id + "%"); + subCategoryIdList.add(id); + return subCategoryIdList; } @Override diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/ModuleCategoryDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/ModuleCategoryDao.xml index 72d370b1..89fa81f2 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/ModuleCategoryDao.xml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/ModuleCategoryDao.xml @@ -24,8 +24,14 @@ + + + \ No newline at end of file