From b52902fee70249e9d0ee33db02ebc856d3465ddd Mon Sep 17 00:00:00 2001 From: mazhichao Date: Thu, 25 Mar 2021 13:57:44 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=E5=B0=86Sy?= =?UTF-8?q?sDepartTreeModel=E6=B7=BB=E5=8A=A0=E5=88=B0core=E4=B8=8B?= =?UTF-8?q?=E7=9A=84vo=E5=8C=85=E4=B8=8B=EF=BC=8C=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E4=B8=BASysDepart=E7=9A=84=E6=9E=84=E9=80=A0?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E3=80=82=E6=B7=BB=E5=8A=A0=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=99=A8=EF=BC=9ASysDepart->SysDepartTreeModel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/common/system/api/ISysBaseAPI.java | 4 +- .../api/fallback/SysBaseAPIFallback.java | 4 +- .../jero/common/system/api/ISysBaseAPI.java | 4 +- .../common/system/vo}/SysDepartTreeModel.java | 33 +------------ .../controller/SysDepartController.java | 3 +- .../jero/modules/system/entity/SysDepart.java | 2 - .../system/mapper/SysDepartMapper.java | 2 - .../modules/system/model/DepartIdModel.java | 1 + .../system/service/ISysDepartService.java | 2 +- .../system/service/impl/SysBaseApiImpl.java | 12 ++--- .../service/impl/SysDepartServiceImpl.java | 8 ++-- .../system/util/FindsDepartsChildrenUtil.java | 48 +++++++++++++++++-- 12 files changed, 65 insertions(+), 58 deletions(-) rename jero-boot/{jero-boot-module-system/src/main/java/com/jero/modules/system/model => jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo}/SysDepartTreeModel.java (84%) diff --git a/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java b/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java index 5616c2c9..5644f7ce 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java +++ b/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java @@ -425,7 +425,7 @@ public interface ISysBaseAPI extends CommonAPI { * @param departId 部门id * @return JSONObject */ - List listParentDepartsByDepId(@RequestParam("departId") String departId); + List listParentDepartsByDepId(@RequestParam("departId") String departId); /** * 42根据部门id查询部门所有的子级(不包含自己) @@ -434,7 +434,7 @@ public interface ISysBaseAPI extends CommonAPI { * @param departId 部门id * @return JSONObject */ - List listSonDepartsByDepId(@RequestParam("departId") String departId); + List listSonDepartsByDepId(@RequestParam("departId") String departId); diff --git a/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/fallback/SysBaseAPIFallback.java b/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/fallback/SysBaseAPIFallback.java index 5ab4e151..98b53c10 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/fallback/SysBaseAPIFallback.java +++ b/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-cloud-api/src/main/java/com/jero/common/system/api/fallback/SysBaseAPIFallback.java @@ -260,12 +260,12 @@ public class SysBaseAPIFallback implements ISysBaseAPI { } @Override - public List listParentDepartsByDepId(String departId) { + public List listParentDepartsByDepId(String departId) { return null; } @Override - public List listSonDepartsByDepId(String departId) { + public List listSonDepartsByDepId(String departId) { return null; } diff --git a/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-local-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java b/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-local-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java index 3e887e7a..cd6aa1ee 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-local-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java +++ b/jero-boot/jero-boot-base/jero-boot-base-api/jero-system-local-api/src/main/java/com/jero/common/system/api/ISysBaseAPI.java @@ -288,7 +288,7 @@ public interface ISysBaseAPI extends CommonAPI { * @param departId 部门id * @return JSONObject */ - List listParentDepartsByDepId(String departId); + List listParentDepartsByDepId(String departId); /** * 42根据部门id查询部门所有的子级(不包含自己) @@ -297,6 +297,6 @@ public interface ISysBaseAPI extends CommonAPI { * @param departId 部门id * @return JSONObject */ - List listSonDepartsByDepId(String departId); + List listSonDepartsByDepId(String departId); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysDepartTreeModel.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDepartTreeModel.java similarity index 84% rename from jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysDepartTreeModel.java rename to jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDepartTreeModel.java index 03a2a796..63f30352 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/SysDepartTreeModel.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDepartTreeModel.java @@ -1,6 +1,4 @@ -package com.jero.modules.system.model; - -import com.jero.modules.system.entity.SysDepart; +package com.jero.common.system.vo; import java.io.Serializable; import java.util.ArrayList; @@ -76,35 +74,6 @@ public class SysDepartTreeModel implements Serializable{ private List children = new ArrayList<>(); - /** - * 将SysDepart对象转换成SysDepartTreeModel对象 - * @param sysDepart - */ - public SysDepartTreeModel(SysDepart sysDepart) { - this.key = sysDepart.getId(); - this.value = sysDepart.getId(); - this.title = sysDepart.getDepartName(); - this.id = sysDepart.getId(); - this.parentId = sysDepart.getParentId(); - this.departName = sysDepart.getDepartName(); - this.departNameEn = sysDepart.getDepartNameEn(); - this.departNameAbbr = sysDepart.getDepartNameAbbr(); - this.departOrder = sysDepart.getDepartOrder(); - this.description = sysDepart.getDescription(); - this.orgCategory = sysDepart.getOrgCategory(); - this.orgType = sysDepart.getOrgType(); - this.orgCode = sysDepart.getOrgCode(); - this.mobile = sysDepart.getMobile(); - this.fax = sysDepart.getFax(); - this.address = sysDepart.getAddress(); - this.memo = sysDepart.getMemo(); - this.status = sysDepart.getStatus(); - this.delFlag = sysDepart.getDelFlag(); - this.createBy = sysDepart.getCreateBy(); - this.createTime = sysDepart.getCreateTime(); - this.updateBy = sysDepart.getUpdateBy(); - this.updateTime = sysDepart.getUpdateTime(); - } public boolean getIsLeaf() { return isLeaf; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java index 5beeec9b..46253632 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java @@ -7,8 +7,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.system.vo.SysDepartTreeModel; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authz.annotation.RequiresRoles; import com.jero.common.api.vo.Result; import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; @@ -21,7 +21,6 @@ import com.jero.common.util.oConvertUtils; import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.model.DepartIdModel; -import com.jero.modules.system.model.SysDepartTreeModel; import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.service.ISysUserDepartService; import com.jero.modules.system.service.ISysUserService; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDepart.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDepart.java index 108f5f10..62cc6b75 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDepart.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDepart.java @@ -6,13 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import com.jero.common.aspect.annotation.Dict; -import com.jero.modules.system.model.SysDepartTreeModel; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; -import java.util.List; import java.util.Objects; /** diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDepartMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDepartMapper.java index a224b489..1be8f49d 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDepartMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDepartMapper.java @@ -3,8 +3,6 @@ package com.jero.modules.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Select; import com.jero.modules.system.entity.SysDepart; -import com.jero.modules.system.model.SysDepartTreeModel; -import com.jero.modules.system.model.TreeModel; import org.springframework.data.repository.query.Param; import java.util.List; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DepartIdModel.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DepartIdModel.java index 09e71e19..d3192850 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DepartIdModel.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DepartIdModel.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.modules.system.entity.SysDepart; /** diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartService.java index 1184cc2b..c38b75a4 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartService.java @@ -1,9 +1,9 @@ package com.jero.modules.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.model.DepartIdModel; -import com.jero.modules.system.model.SysDepartTreeModel; import java.util.List; /** diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index 86121f82..1fee9b4a 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.base.Joiner; -import com.jero.modules.system.model.SysDepartTreeModel; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; @@ -1000,11 +999,11 @@ public class SysBaseApiImpl implements ISysBaseAPI { * @return JSONObject */ @Override - public List listParentDepartsByDepId(String departId) { - List sysDepartTreeModels = sysDepartService.listParentDepartsByDepId(departId); - return JSON.parseArray(JSON.toJSONString(sysDepartTreeModels)).toJavaList(JSONObject.class); + public List listParentDepartsByDepId(String departId) { + return sysDepartService.listParentDepartsByDepId(departId); } + /** * 42根据部门id查询部门所有的子级(不包含自己) * @author 马志朝 @@ -1013,8 +1012,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { * @return JSONObject */ @Override - public List listSonDepartsByDepId(String departId) { - List sysDepartTreeModels = sysDepartService.listSonDepartsByDepId(departId); - return JSON.parseArray(JSON.toJSONString(sysDepartTreeModels)).toJavaList(JSONObject.class); + public List listSonDepartsByDepId(String departId) { + return sysDepartService.listSonDepartsByDepId(departId); } } \ No newline at end of file diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java index 153247ab..be8394be 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java @@ -3,17 +3,16 @@ package com.jero.modules.system.service.impl; import java.util.*; import com.alibaba.fastjson.JSONObject; +import com.jero.common.system.vo.SysDepartTreeModel; import org.apache.commons.lang.StringUtils; import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; import com.jero.common.constant.FillRuleConstant; import com.jero.common.util.FillRuleUtil; import com.jero.common.util.YouBianCodeUtil; -import com.jero.common.util.oConvertUtils; import com.jero.modules.system.entity.*; import com.jero.modules.system.mapper.*; import com.jero.modules.system.model.DepartIdModel; -import com.jero.modules.system.model.SysDepartTreeModel; import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.util.FindsDepartsChildrenUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -298,7 +297,10 @@ public class SysDepartServiceImpl extends ServiceImpl departList = this.list(query); if(departList.size() > 0) { for(SysDepart depart : departList) { - model = new SysDepartTreeModel(depart); + SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel(); + // 将sysDepart转换为sysDepartTreeModel + FindsDepartsChildrenUtil.convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel); + model = sysDepartTreeModel; model.setChildren(null); //update-end--Author:huangzhilin Date:20140417 for:[bugfree号]组织机构搜索功回显优化---------------------- newList.add(model); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java index 7504523e..ce47aa0a 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java @@ -1,11 +1,11 @@ package com.jero.modules.system.util; import com.jero.common.constant.CommonConstant; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.RedisUtil; import com.jero.common.util.oConvertUtils; import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.model.DepartIdModel; -import com.jero.modules.system.model.SysDepartTreeModel; import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; @@ -39,7 +39,10 @@ public class FindsDepartsChildrenUtil { List records = new ArrayList<>(); for (int i = 0; i < recordList.size(); i++) { SysDepart depart = recordList.get(i); - records.add(new SysDepartTreeModel(depart)); + SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel(); + // 将sysDepart转换为sysDepartTreeModel + convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel); + records.add(sysDepartTreeModel); } List tree = findChildren(records, idList); setEmptyChildrenAsNull(tree); @@ -58,7 +61,10 @@ public class FindsDepartsChildrenUtil { List records = new ArrayList<>(); for (int i = 0; i < recordList.size(); i++) { SysDepart depart = recordList.get(i); - records.add(new SysDepartTreeModel(depart)); + SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel(); + // 将sysDepart转换为sysDepartTreeModel + convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel); + records.add(sysDepartTreeModel); } findChildren(records, idList); return idList; @@ -77,6 +83,7 @@ public class FindsDepartsChildrenUtil { if (oConvertUtils.isEmpty(branch.getParentId())) { treeList.add(branch); DepartIdModel departIdModel = new DepartIdModel().convert(branch); + departIdList.add(departIdModel); } } @@ -100,6 +107,7 @@ public class FindsDepartsChildrenUtil { if (m.getParentId()!=null && m.getParentId().equals(model.getId())) { model.getChildren().add(m); DepartIdModel dim = new DepartIdModel().convert(m); + idModel.getChildren().add(dim); } } @@ -127,4 +135,38 @@ public class FindsDepartsChildrenUtil { } // sysDepartTreeList = treeList; } + + /** + * 将SysDepart对象转换成SysDepartTreeModel对象 + * @author 马志朝 + * @date 2021/3/25 13:15 + * @param sysDepart 待转换的对象 + * @param sysDepartTreeModel 转换的结果对象 + * @return + */ + public static void convertSysDepartToSysDepartTreeModel(SysDepart sysDepart, SysDepartTreeModel sysDepartTreeModel){ + sysDepartTreeModel.setKey( sysDepart.getId()); + sysDepartTreeModel.setValue( sysDepart.getId()); + sysDepartTreeModel.setTitle(sysDepart.getDepartName()); + sysDepartTreeModel.setId(sysDepart.getId()); + sysDepartTreeModel.setParentId(sysDepart.getParentId()); + sysDepartTreeModel.setDepartName(sysDepart.getDepartName()); + sysDepartTreeModel.setDepartNameEn(sysDepart.getDepartNameEn()); + sysDepartTreeModel.setDepartNameAbbr(sysDepart.getDepartNameAbbr()); + sysDepartTreeModel.setDepartOrder(sysDepart.getDepartOrder()); + sysDepartTreeModel.setDescription(sysDepart.getDescription()); + sysDepartTreeModel.setOrgCategory(sysDepart.getOrgCategory()); + sysDepartTreeModel.setOrgType(sysDepart.getOrgType()); + sysDepartTreeModel.setOrgCode(sysDepart.getOrgCode()); + sysDepartTreeModel.setMobile(sysDepart.getMobile()); + sysDepartTreeModel.setFax(sysDepart.getFax()); + sysDepartTreeModel.setAddress(sysDepart.getAddress()); + sysDepartTreeModel.setMemo(sysDepart.getMemo()); + sysDepartTreeModel.setStatus(sysDepart.getStatus()); + sysDepartTreeModel.setDelFlag(sysDepart.getDelFlag()); + sysDepartTreeModel.setCreateBy(sysDepart.getCreateBy()); + sysDepartTreeModel.setCreateTime(sysDepart.getCreateTime()); + sysDepartTreeModel.setUpdateBy(sysDepart.getUpdateBy()); + sysDepartTreeModel.setUpdateTime(sysDepart.getUpdateTime()); + } }