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 | 59 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 42 insertions(+), 17 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 c548f23..f723447 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java @@ -1,11 +1,10 @@ package com.mindskip.xzs.service.impl; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; import com.mindskip.xzs.domain.Department; 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; @@ -13,8 +12,10 @@ import com.mindskip.xzs.repository.UserMapper; import com.mindskip.xzs.service.DepartmentService; import com.mindskip.xzs.utility.ModelMapperSingle; +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; @@ -39,25 +40,20 @@ } @Override - public Integer add(String name) { - Department department = new Department(); - department.setDeleted("0"); - department.setName(name); - return departmentMapper.add(department); - } - - @Override - public Integer remove(Integer id) { - Department department = new Department(); - department.setId(id); - department.setDeleted("1"); - return departmentMapper.update(department); + 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); } @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("璇ラ儴闂ㄤ笉瀛樺湪"); @@ -72,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 @@ -112,8 +123,22 @@ } @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 departmentMapper.gets(deptId); + return TreeUtils.build(departmentMapper.gets(deptId)); } @Override -- Gitblit v1.8.0