From a820ec5dc1682ac0a31fcbdba3eb4d2c0fe74b64 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 16 七月 2024 17:11:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java index 6f296cb..f723447 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java @@ -4,6 +4,7 @@ import com.mindskip.xzs.domain.enums.DeptAdminEnum; import com.mindskip.xzs.domain.vo.BaseSelect; import com.mindskip.xzs.domain.vo.CascaderDataVO; +import com.mindskip.xzs.domain.vo.DepartmentEditVO; import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO; import com.mindskip.xzs.repository.BaseMapper; import com.mindskip.xzs.repository.DepartmentMapper; @@ -14,6 +15,7 @@ import com.mindskip.xzs.utility.TreeUtils; import com.mindskip.xzs.viewmodel.admin.department.DepartmentResponseVM; import org.modelmapper.ModelMapper; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -40,21 +42,18 @@ @Override public Integer add(Department model) { model.setDeleted("0"); + if (Objects.nonNull(model.getParentId())) { + // 鏌ュ嚭鐖剁骇鐨勫眰绾� + List<Integer> fatherList = departmentMapper.getFather(model.getParentId()); + Collections.reverse(fatherList); + model.setLevel(fatherList.size() + 1); + } return departmentMapper.add(model); - } - - @Override - public Integer remove(Integer id) { - Department department = new Department(); - department.setId(id); - department.setDeleted("1"); - return departmentMapper.update(department); } @Transactional(rollbackFor = Exception.class) @Override public Integer update(Department department) { -// userDepartmentMapper.removeByDepartmentId(department.getId()); Department entity = departmentMapper.getById(department.getId()); if (Objects.isNull(entity)) { throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪"); @@ -69,8 +68,23 @@ // 鏍囪瘑閮ㄩ棬绠$悊鍛� userMapper.updateDeptAdmin(department.getAdminId(), DeptAdminEnum.YES.getValue(), entity.getId()); } + if (Objects.nonNull(department.getParentId())) { + // 鏌ュ嚭鐖剁骇鐨勫眰绾� + List<Integer> fatherList = departmentMapper.getFather(department.getParentId()); + department.setLevel(fatherList.size() + 1); + } else { + department.setLevel(1); + } Integer update = departmentMapper.update(department); return update; + } + + @Override + public Integer remove(Integer id) { + Department department = new Department(); + department.setId(id); + department.setDeleted("1"); + return departmentMapper.update(department); } @Override @@ -109,6 +123,20 @@ } @Override + public DepartmentEditVO getByIdVO(Integer id) { + Department dept = departmentMapper.getById(id); + DepartmentEditVO vo = new DepartmentEditVO(); + BeanUtils.copyProperties(dept, vo); + if (Objects.nonNull(dept.getParentId())) { + // 鏌ュ嚭瀹屾暣鐨勭埗绾D + List<Integer> fatherList = departmentMapper.getFather(dept.getParentId()); + Collections.reverse(fatherList); + vo.setParentIds(fatherList); + } + return vo; + } + + @Override public List<Department> gets(List<Integer> deptId) { return TreeUtils.build(departmentMapper.gets(deptId)); } -- Gitblit v1.8.0