From 39794d3cd1b4569f82528fbad23f048d9d1be398 Mon Sep 17 00:00:00 2001
From: fangyuan <527392886@qq.com>
Date: 星期三, 11 一月 2023 13:55:52 +0800
Subject: [PATCH] 导出接口
---
ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java | 149 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 149 insertions(+), 0 deletions(-)
diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java
new file mode 100644
index 0000000..9a792f3
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java
@@ -0,0 +1,149 @@
+package com.ycl.service.user.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.api.BasePageDTO;
+import com.ycl.entity.depart.UmsDepart;
+import com.ycl.entity.user.*;
+import com.ycl.mapper.user.AdminMenuRelationMapper;
+import com.ycl.mapper.user.UmsAdminRoleRelationMapper;
+import com.ycl.mapper.user.UmsDepartManageMapper;
+import com.ycl.mapper.user.UmsRoleMenuRelationMapper;
+import com.ycl.service.depart.UmsDepartService;
+import com.ycl.service.user.UmsAdminService;
+import com.ycl.service.user.UmsDepartManageService;
+import com.ycl.vo.depart.DepartVO;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2022-09-09
+ */
+@Service
+public class UmsDepartManageServiceImpl extends ServiceImpl<UmsDepartManageMapper, UmsDepartManage> implements UmsDepartManageService {
+
+ @Resource
+ private UmsDepartManageMapper umsDepartManageMapper;
+ @Resource
+ private UmsDepartService sccgDepartService;
+ @Resource
+ private UmsAdminService umsAdminService;
+ @Resource
+ UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
+ @Resource
+ AdminMenuRelationMapper adminMenuRelationMapper;
+ @Resource
+ UmsRoleMenuRelationMapper roleMenuRelationMapper;
+
+ @Override
+ public List<UmsDepartManage> queryByDepartId(Long departId) {
+ List<UmsDepartManage> umsAdminDeparts = umsDepartManageMapper.selectList(new LambdaQueryWrapper<UmsDepartManage>()
+ .eq(UmsDepartManage::getDepartId, departId));
+ if (CollUtil.isNotEmpty(umsAdminDeparts)) {
+ return umsAdminDeparts;
+ }
+ return null;
+ }
+
+ @Override
+ public List<UmsDepartManage> queryByUserId(long userId) {
+ List<UmsDepartManage> umsAdminDeparts = umsDepartManageMapper.selectList(new LambdaQueryWrapper<UmsDepartManage>().eq(UmsDepartManage::getUserId, userId));
+ if (CollUtil.isNotEmpty(umsAdminDeparts)) {
+ return umsAdminDeparts;
+ }
+ return null;
+ }
+
+ @Override
+ public void deletedByDepartId(long departId) {
+ umsDepartManageMapper.deletedByDepartId(departId);
+ }
+
+ @Override
+ public BasePageDTO belongDepart(long userId, int current, int pageSize) {
+ BasePageDTO basePageDTO = new BasePageDTO();
+ Long count = umsDepartManageMapper.selectCount(new LambdaQueryWrapper<UmsDepartManage>().eq(UmsDepartManage::getUserId, userId));
+ basePageDTO.setTotal(count);
+ if (count > 0) {
+ current = (current - 1) * pageSize;
+ List<UmsDepartManage> departList = umsDepartManageMapper.selectPageByUserId(userId, current, pageSize);
+ List<DepartVO.AdminDepartInfoVO> adminDepartInfoVOS = new ArrayList<>();
+ DepartVO.AdminDepartInfoVO adminDepartInfoVO = null;
+ for (UmsDepartManage umsAdminDepart : departList) {
+ adminDepartInfoVO = new DepartVO.AdminDepartInfoVO();
+ UmsDepart sccgDepart = sccgDepartService.loadDepartById(umsAdminDepart.getDepartId());
+ UmsAdmin umsAdmin = umsAdminService.getById(userId);
+ adminDepartInfoVO.setDepartId(umsAdminDepart.getDepartId());
+ adminDepartInfoVO.setDepartName(sccgDepart.getDepartName());
+ adminDepartInfoVO.setDepartDes(sccgDepart.getDepartDes());
+ adminDepartInfoVO.setDepartType(sccgDepart.getDepartType());
+ adminDepartInfoVO.setUserId(userId);
+ adminDepartInfoVO.setUserName(umsAdmin.getUsername());
+ adminDepartInfoVOS.add(adminDepartInfoVO);
+ }
+ basePageDTO.setRecords(adminDepartInfoVOS);
+ }
+ return basePageDTO;
+ }
+
+ @Override
+ public void userUpdateRoles(Long id, List<Long> roles) {
+ //瑙i櫎鐢ㄦ埛瑙掕壊缁戝畾
+ umsAdminRoleRelationMapper.delete(new LambdaQueryWrapper<UmsAdminRoleRelation>().eq(UmsAdminRoleRelation::getAdminId, id));
+ //瑙i櫎鐢ㄦ埛缁戝畾瑙掕壊缁戝畾鑿滃崟
+ adminMenuRelationMapper.delete(new LambdaQueryWrapper<AdminMenuRelation>().eq(AdminMenuRelation::getAdminId, id));
+ //缁戝畾瑙掕壊浜庣敤鎴�
+ if (!roles.isEmpty()) {
+ for (Long role : roles) {
+ UmsAdminRoleRelation urr = new UmsAdminRoleRelation();
+ urr.setAdminId(id);
+ urr.setRoleId(role);
+ umsAdminRoleRelationMapper.insert(urr);
+ }
+ }
+ //缁戝畾鑿滃崟浜庣敤鎴�
+ ArrayList<UmsRoleMenuRelation> umsRoleMenuRelations = new ArrayList<>();
+ for (Long role : roles) {
+ umsRoleMenuRelations.addAll(roleMenuRelationMapper
+ .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
+ .eq(UmsRoleMenuRelation::getRoleId, role)));
+ }
+ umsRoleMenuRelations
+ .stream()
+ .map(item -> item.getMenuId())
+ .collect(Collectors.toList())
+ .stream()
+ .distinct()
+ .collect(Collectors.toList())
+ .stream()
+ .forEach(item -> {
+ AdminMenuRelation adminMenuRelation = new AdminMenuRelation();
+ adminMenuRelation.setAdminId(id);
+ adminMenuRelation.setMenuId(item);
+ adminMenuRelationMapper.insert(adminMenuRelation);
+ });
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void userUpdateDepart(Long userId,Long departId) {
+ umsDepartManageMapper.delete(new LambdaQueryWrapper<UmsDepartManage>().eq(UmsDepartManage::getUserId,userId));
+ UmsDepartManage umsDepartManage = new UmsDepartManage();
+ umsDepartManage.setUserId(userId);
+ umsDepartManage.setCreateTime(new Date());
+ umsDepartManage.setDepartId(departId);
+ umsDepartManageMapper.insert(umsDepartManage);
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0