From 161d73fef78ab215077a5f1e87d8b586f29c764f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 23 五月 2024 16:21:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java | 49 ++++++++++++++++++++++++-------------------------
1 files changed, 24 insertions(+), 25 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 d138d98..503fd0b 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
@@ -1,10 +1,8 @@
package com.mindskip.xzs.service.impl;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.domain.Department;
-import com.mindskip.xzs.domain.UserDepartment;
import com.mindskip.xzs.domain.enums.DeptAdminEnum;
import com.mindskip.xzs.domain.vo.BaseSelect;
import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO;
@@ -18,9 +16,11 @@
import org.modelmapper.ModelMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
@Service
public class DepartmentServiceImpl extends BaseServiceImpl<Department> implements DepartmentService {
@@ -62,17 +62,15 @@
if (Objects.isNull(entity)) {
throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪");
}
- if (Objects.nonNull(department.getAdminId())) {
- if (! Objects.equals(entity.getAdminId(), department.getAdminId())) {
- // 鍙栨秷鍘熷厛鐨勭鐞嗗憳鏍囪瘑
- List<Integer> depIds = departmentMapper.selectByAdminId(entity.getAdminId());
- depIds.remove(department.getId());
- if (depIds.size() < 1) {
- userMapper.updateDeptAdmin(entity.getAdminId(), DeptAdminEnum.NO.getValue());
- }
+ if (! CollectionUtils.isEmpty(department.getAdminId())) {
+ List<BaseSelect> deptUserList = userDepartmentMapper.getDeptUserList(entity.getId());
+ List<Integer> userIds = deptUserList.stream().map(BaseSelect::getId).collect(Collectors.toList());
+ if (! CollectionUtils.isEmpty(userIds)) {
+ // 鍏堟竻闄や箣鍓嶇殑绠$悊鍛樻爣璇�
+ userMapper.clearDeptAdmin(userIds, entity.getId());
}
// 鏍囪瘑閮ㄩ棬绠$悊鍛�
- userMapper.updateDeptAdmin(department.getAdminId(), DeptAdminEnum.YES.getValue());
+ userMapper.updateDeptAdmin(department.getAdminId(), DeptAdminEnum.YES.getValue(), entity.getId());
}
Integer update = departmentMapper.update(department);
return update;
@@ -91,8 +89,8 @@
}
@Override
- public List<Department> gets() {
- return departmentMapper.gets();
+ public List<Department> gets(List<Integer> deptId) {
+ return departmentMapper.gets(deptId);
}
@Override
@@ -111,24 +109,25 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void updateAdmin(UpdateDeptAdminVO form) {
Department entity = departmentMapper.getById(form.getId());
- if (Objects.isNull(form)) {
+ if (Objects.isNull(entity)) {
throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪");
}
- if (Objects.nonNull(form.getAdminId())) {
- if (! Objects.equals(entity.getAdminId(), form.getAdminId())) {
- // 鍙栨秷鍘熷厛鐨勭鐞嗗憳鏍囪瘑
- List<Integer> depIds = departmentMapper.selectByAdminId(entity.getAdminId());
- depIds.remove(form.getId());
- if (depIds.size() < 1) {
- userMapper.updateDeptAdmin(entity.getAdminId(), DeptAdminEnum.NO.getValue());
- }
+ if (! CollectionUtils.isEmpty(form.getAdminIds())) {
+ List<BaseSelect> deptUserList = userDepartmentMapper.getDeptUserList(entity.getId());
+ List<Integer> userIds = deptUserList.stream().map(BaseSelect::getId).collect(Collectors.toList());
+ if (! CollectionUtils.isEmpty(userIds)) {
+ // 鍏堟竻闄や箣鍓嶇殑绠$悊鍛樻爣璇�
+ userMapper.clearDeptAdmin(userIds, entity.getId());
}
// 鏍囪瘑閮ㄩ棬绠$悊鍛�
- userMapper.updateDeptAdmin(form.getAdminId(), DeptAdminEnum.YES.getValue());
+ userMapper.updateDeptAdmin(form.getAdminIds(), DeptAdminEnum.YES.getValue(), entity.getId());
}
- entity.setAdminId(form.getAdminId());
- departmentMapper.update(entity);
+ // 淇敼琚�夋嫨鐨勭敤鎴蜂负閮ㄩ棬绠$悊鍛�
+ userMapper.updateUserDeptAdmin(form);
+ // 淇敼娌¤閫夋嫨鐨勭敤鎴峰苟涓斾笉鏄埆鐨勯儴闂ㄧ鐞嗗憳鐨勭敤鎴疯鑹蹭负1
+ userMapper.cancelUserDeptAdmin(form);
}
}
--
Gitblit v1.8.0