From e897dfa023634f08d47e4d0ba2bcf19a05b9006e Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期三, 26 六月 2024 20:17:52 +0800 Subject: [PATCH] 用户列表去除企业 --- project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java index 1a871f1..b9535c9 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysUserDeptServiceImpl.java @@ -1,12 +1,25 @@ package com.project.system.service.impl; +import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.project.common.core.domain.entity.SysDept; +import com.project.common.exception.base.BaseException; +import com.project.common.utils.StringUtils; import com.project.system.domain.SysUserDept; +import com.project.system.domain.bo.editBo.UserDeptBo; +import com.project.system.domain.vo.SysUserDeptTreeVo; +import com.project.system.domain.vo.UserDeptVo; import com.project.system.mapper.SysUserDeptMapper; +import com.project.system.service.ISysDeptService; import com.project.system.service.ISysUserDeptService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; /** * 鐢ㄦ埛涓庨儴闂ㄥ叧鑱擲ervice涓氬姟灞傚鐞� @@ -17,5 +30,75 @@ @RequiredArgsConstructor(onConstructor_ = @Autowired) public class SysUserDeptServiceImpl extends ServiceImpl<SysUserDeptMapper, SysUserDept> implements ISysUserDeptService { + private final ISysDeptService deptService; + + /** + * 鐢ㄦ埛澶氭満鏋勫洖鏄� + * @param userId 鐢ㄦ埛id + * @return 鍐呭 + */ + @Override + public UserDeptVo batchUserDeptView(Long userId) + { + List<SysUserDept> list = this.list(lq().eq(SysUserDept::getUserId, userId)); + List<Long> deptIds = list.stream().map(SysUserDept::getDeptId).collect(Collectors.toList()); + UserDeptVo vo = new UserDeptVo(); + vo.setUserId(userId); + vo.setDeptIds(deptIds); + return vo; + } + + /** + * 鐢ㄦ埛澶氭満鏋勪繚瀛� + * @param bo 鍙傛暟 + * @return 缁撴灉 + */ + @Override + @Transactional + public Boolean batchUserDeptSave(UserDeptBo bo) + { + Long userId = bo.getUserId(); + if (userId==null || StringUtils.isEmpty(bo.getDeptIds())){ + throw new BaseException("鍙傛暟鏈夎锛�"); + } + this.remove(lq().eq(SysUserDept::getUserId, userId)); + List<SysUserDept> saveList = new ArrayList<>(); + for (Long deptId : bo.getDeptIds()) { + saveList.add(new SysUserDept().setUserId(userId).setDeptId(deptId)); + } + return this.saveBatch(saveList); + } + + + /** + * 鐢ㄦ埛澶氭満鏋勬爲 + * @param deptId 鍙傛暟 + * @return 缁撴灉 + */ + @Override + public SysUserDeptTreeVo batchUserDeptTree(Long deptId) + { + Long checkDeptIdByLoginDeptId = deptService.getCheckDeptIdByLoginDeptId(deptId); + return getDeptTree(checkDeptIdByLoginDeptId); + } + + + /** + * 鑾峰彇瀹℃壒鍙婂叾涓嬬骇閮ㄩ棬 + * @param deptId 瀹℃壒閮ㄩ棬id + * @return 鏈烘瀯鏍� + */ + private SysUserDeptTreeVo getDeptTree(Long deptId) + { + SysUserDeptTreeVo vo = new SysUserDeptTreeVo(); + SysDept sysDept = deptService.selectDeptById(deptId); + vo.setDeptId(sysDept.getDeptId()); + vo.setDeptName(sysDept.getDeptName()); + + List<SysDept> list = deptService.list(deptService.lq().eq(SysDept::getParentId, deptId).eq(SysDept::getDelFlag, 0)); + List<SysUserDeptTreeVo> child = Convert.toList(SysUserDeptTreeVo.class, list); + vo.setChild(child); + return vo; + } } -- Gitblit v1.9.1