diff --git a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/ModuleTypeController.java b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/ModuleTypeController.java index 8273e52..06c2488 100644 --- a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/ModuleTypeController.java +++ b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/ModuleTypeController.java @@ -23,8 +23,9 @@ 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.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.dto.ModuleTypeCategoryDTO; import com.elink.esua.epdc.dto.ModuleTypeDTO; import com.elink.esua.epdc.excel.ModuleTypeExcel; import com.elink.esua.epdc.service.ModuleTypeService; @@ -32,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -91,4 +93,17 @@ public class ModuleTypeController { ExcelUtils.exportExcelToTarget(response, null, list, ModuleTypeExcel.class); } + /** + * @describe: 后台栏目管理 + * @author wangtong + * @date 2021/8/9 16:15 + * @params [] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + */ + @GetMapping("getList") + public Result> getList(){ + List list = moduleTypeService.getList(new HashMap<>(1)); + return new Result>().ok(list); + } + } \ No newline at end of file diff --git a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/dao/ModuleTypeDao.java b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/dao/ModuleTypeDao.java index b2e56af..23fe993 100644 --- a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/dao/ModuleTypeDao.java +++ b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/dao/ModuleTypeDao.java @@ -20,6 +20,10 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.entity.ModuleTypeEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.HashMap; +import java.util.List; /** * 模块类别管理 @@ -29,5 +33,15 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ModuleTypeDao extends BaseDao { - + + /** + * @describe: 后台栏目管理列表 + * @author wangtong + * @date 2021/8/9 16:27 + * @params [params] + * @return java.util.List + */ + List getList(HashMap params); + + ModuleTypeEntity selectInfoById(@Param("id") String id); } \ No newline at end of file diff --git a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/entity/ModuleTypeEntity.java b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/entity/ModuleTypeEntity.java index 116a986..ea82abd 100644 --- a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/entity/ModuleTypeEntity.java +++ b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/entity/ModuleTypeEntity.java @@ -17,28 +17,33 @@ package com.elink.esua.epdc.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; -import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import com.elink.esua.epdc.commons.mybatis.entity.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.Date; + /** * 模块类别管理 * * @author qu qu@elink-cn.com - * @since v1.0.0 2021-08-09 + * @since v1.0.0 2021-08-10 */ @Data @EqualsAndHashCode(callSuper=false) @TableName("epdc_module_type") -public class ModuleTypeEntity extends BaseEpdcEntity { +public class ModuleTypeEntity extends BaseEntity { private static final long serialVersionUID = 1L; + /** * 上级ID */ - private String pid; + private Long pid; /** * 所有上级ID 逗号分隔 @@ -65,4 +70,35 @@ public class ModuleTypeEntity extends BaseEpdcEntity { */ private String bannerFlag; + /** + * 删除标识 0:未删除 1:删除 + */ + @TableField(fill = FieldFill.INSERT) + private Integer delFlag; + + + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Long updater; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateDate; + + /** + * 上级部门名称 + */ + @TableField(exist = false) + private String parentName; + + @TableField(exist = false) + private String value; + + @TableField(exist = false) + private String label; + } \ No newline at end of file diff --git a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/ModuleTypeService.java b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/ModuleTypeService.java index edcd91c..3a02a70 100644 --- a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/ModuleTypeService.java +++ b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/ModuleTypeService.java @@ -19,9 +19,11 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.ModuleTypeCategoryDTO; import com.elink.esua.epdc.dto.ModuleTypeDTO; import com.elink.esua.epdc.entity.ModuleTypeEntity; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -92,4 +94,13 @@ public interface ModuleTypeService extends BaseService { * @date 2021-08-09 */ void delete(String[] ids); + + /** + * @describe: 后台栏目管理 + * @author wangtong + * @date 2021/8/9 16:15 + * @params [] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + */ + List getList(HashMap params); } \ No newline at end of file diff --git a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/ModuleTypeServiceImpl.java b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/ModuleTypeServiceImpl.java index c816ad3..452635c 100644 --- a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/ModuleTypeServiceImpl.java +++ b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/ModuleTypeServiceImpl.java @@ -20,10 +20,14 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.Constant; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +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; -import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.utils.TreeUtils; import com.elink.esua.epdc.dao.ModuleTypeDao; +import com.elink.esua.epdc.dto.ModuleTypeCategoryDTO; import com.elink.esua.epdc.dto.ModuleTypeDTO; import com.elink.esua.epdc.entity.ModuleTypeEntity; import com.elink.esua.epdc.redis.ModuleTypeRedis; @@ -33,9 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 模块类别管理 @@ -76,17 +78,89 @@ public class ModuleTypeServiceImpl extends BaseServiceImpl 0) { + throw new RenException("您输入的编码已存在"); + } + } + ModuleTypeEntity entity = ConvertUtils.sourceToTarget(dto, ModuleTypeEntity.class); + entity.setBannerFlag("0"); + List list = getPidListByPid(entity.getPid()); + if(0==entity.getPid()){ + entity.setPids("0"); + } else { + String pids = ""; + for (int i = 0; i < list.size(); i++) { + if (i == list.size() - 1) { + pids = pids + list.get(i).getId().toString(); + } else { + pids = pids + list.get(i).getId().toString() + ","; + } + } + entity.setPids(pids); + } insert(entity); } + /** + * 获取所有上级分类 + * + * @param pid 上级ID + */ + private List getPidListByPid(Long pid) { + //顶级部门,无上级部门 + if (Constant.CATEGORY_ROOT.equals(pid)) { + return new ArrayList<>(); + } + + //所有的分类列表 + QueryWrapper wrapper = new QueryWrapper<>(); + List categoryEntityList = baseDao.selectList(wrapper); + + //list转map + Map map = new HashMap<>(categoryEntityList.size()); + for (ModuleTypeEntity entity : categoryEntityList) { + map.put(entity.getId(), entity); + } + + //递归查询所有上级分类列表 + List pCategoryEntityList = new ArrayList<>(); + + getPidTree(pid, map, pCategoryEntityList); + + return pCategoryEntityList; + } + + private void getPidTree(Long pid, Map map, List pCategoryEntityList) { + //顶级,无上级 + if (Constant.CATEGORY_ROOT.equals(pid)) { + return; + } + //上级存在 + ModuleTypeEntity parent = map.get(pid); + if (parent != null) { + getPidTree(parent.getPid(), map, pCategoryEntityList); + } + + pCategoryEntityList.add(parent); + } + + public Integer getCodeCount(ModuleTypeDTO dto) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("type_code", dto.getTypeCode()); + wrapper.eq("del_flag", "0"); + return baseDao.selectCount(wrapper); + } + @Override @Transactional(rollbackFor = Exception.class) public void update(ModuleTypeDTO dto) { @@ -101,4 +175,13 @@ public class ModuleTypeServiceImpl extends BaseServiceImpl getList(HashMap params) { + List entityList = baseDao.getList(params); + + List dtoList = ConvertUtils.sourceToTarget(entityList, ModuleTypeCategoryDTO.class); + + return TreeUtils.build(dtoList); + } + } \ No newline at end of file diff --git a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java index a953240..3a6edfc 100644 --- a/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java +++ b/epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java @@ -17,10 +17,10 @@ package com.elink.esua.epdc.service.impl; -import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.exception.RenException; @@ -28,7 +28,6 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; -import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.NoticeDao; import com.elink.esua.epdc.dto.NoticeDTO; @@ -44,7 +43,6 @@ import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; import com.elink.esua.epdc.service.NoticeDepartmentService; import com.elink.esua.epdc.service.NoticeService; import com.elink.esua.epdc.util.NewsUtils; -import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -74,8 +72,8 @@ public class NoticeServiceImpl extends BaseServiceImpl public PageData page(Map params) { String noticeTitle = (String) params.get("noticeTitle"); params.put("noticeTitle", noticeTitle.trim()); - QueryWrapper wrapper = this.getWrapper(params) - .eq(FieldConstant.CREATED_BY, SecurityUser.getUserId()); + QueryWrapper wrapper = this.getWrapper(params); +// .eq(FieldConstant.CREATED_BY, SecurityUser.getUserId()); IPage page = baseDao.selectPage( getPage(params, FieldConstant.CREATED_TIME, false), diff --git a/epdc-cloud-news/src/main/resources/mapper/ModuleTypeDao.xml b/epdc-cloud-news/src/main/resources/mapper/ModuleTypeDao.xml index 8e2fc98..b28fccc 100644 --- a/epdc-cloud-news/src/main/resources/mapper/ModuleTypeDao.xml +++ b/epdc-cloud-news/src/main/resources/mapper/ModuleTypeDao.xml @@ -18,6 +18,15 @@ + + \ No newline at end of file