From c41c45ca4caa92eae9d4578de94073cfd35fd3ef Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期四, 25 七月 2024 11:48:21 +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