From bd8f6b1af3f3e054cb480ac35ed154a533d1a207 Mon Sep 17 00:00:00 2001 From: none Date: Sun, 26 Feb 2023 22:18:14 +0800 Subject: [PATCH] =?UTF-8?q?user=5Fdepartment=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/backend/UserController.java | 4 ++-- .../api/listener/DepartmentDestroyListener.java | 10 +++------- .../playedu/api/listener/UserDestroyListener.java | 6 +++--- .../playedu/api/service/DepartmentService.java | 2 ++ .../java/xyz/playedu/api/service/UserService.java | 2 ++ .../api/service/impl/DepartmentServiceImpl.java | 13 +++++++++++++ .../playedu/api/service/impl/UserServiceImpl.java | 15 +++++++++++++-- .../{ => internal}/UserDepartmentServiceImpl.java | 13 ++----------- .../{ => internal}/UserDepartmentService.java | 5 +---- 9 files changed, 41 insertions(+), 29 deletions(-) rename src/main/java/xyz/playedu/api/service/impl/{ => internal}/UserDepartmentServiceImpl.java (57%) rename src/main/java/xyz/playedu/api/service/{ => internal}/UserDepartmentService.java (70%) diff --git a/src/main/java/xyz/playedu/api/controller/backend/UserController.java b/src/main/java/xyz/playedu/api/controller/backend/UserController.java index eb9fd7a..ba5fd52 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/UserController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/UserController.java @@ -15,7 +15,7 @@ import xyz.playedu.api.middleware.BackendPermissionMiddleware; import xyz.playedu.api.request.backend.UserImportRequest; import xyz.playedu.api.request.backend.UserRequest; import xyz.playedu.api.service.DepartmentService; -import xyz.playedu.api.service.UserDepartmentService; +import xyz.playedu.api.service.internal.UserDepartmentService; import xyz.playedu.api.service.UserService; import xyz.playedu.api.types.JsonResponse; import xyz.playedu.api.types.paginate.PaginationResult; @@ -189,7 +189,7 @@ public class UserController { userService.updateById(newUser); //先删除关联关系 - userDepartmentService.removeByUserId(user.getId()); + userService.removeRelateDepartmentsByUserId(user.getId()); if (request.getDepIds() != null && request.getDepIds().length > 0) { //重新建立关系 List userDepartments = new ArrayList<>(); diff --git a/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java b/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java index b415c53..19b772a 100644 --- a/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java +++ b/src/main/java/xyz/playedu/api/listener/DepartmentDestroyListener.java @@ -1,26 +1,22 @@ package xyz.playedu.api.listener; -import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.event.EventListener; -import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import xyz.playedu.api.event.DepartmentDestroyEvent; -import xyz.playedu.api.service.UserDepartmentService; +import xyz.playedu.api.service.DepartmentService; /** * @Author 杭州白书科技有限公司 * @create 2023/2/23 15:28 */ @Component -@Slf4j public class DepartmentDestroyListener { @Autowired - private UserDepartmentService userDepartmentService; + private DepartmentService departmentService; - @Order(1) @EventListener public void updateLoginInfo(DepartmentDestroyEvent event) { - userDepartmentService.removeByDepId(event.getDepId()); + departmentService.remoteRelateUsersByDepId(event.getDepId()); } } diff --git a/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java b/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java index 1d84693..2968fc1 100644 --- a/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java +++ b/src/main/java/xyz/playedu/api/listener/UserDestroyListener.java @@ -6,7 +6,7 @@ import org.springframework.context.event.EventListener; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import xyz.playedu.api.event.UserDestroyEvent; -import xyz.playedu.api.service.UserDepartmentService; +import xyz.playedu.api.service.UserService; /** * @Author 杭州白书科技有限公司 @@ -17,12 +17,12 @@ import xyz.playedu.api.service.UserDepartmentService; public class UserDestroyListener { @Autowired - private UserDepartmentService userDepartmentService; + private UserService userService; @Order(1) @EventListener public void updateLoginInfo(UserDestroyEvent event) { - userDepartmentService.removeByUserId(event.getUserId()); + userService.removeRelateDepartmentsByUserId(event.getUserId()); } } diff --git a/src/main/java/xyz/playedu/api/service/DepartmentService.java b/src/main/java/xyz/playedu/api/service/DepartmentService.java index 801b474..c72d4d8 100644 --- a/src/main/java/xyz/playedu/api/service/DepartmentService.java +++ b/src/main/java/xyz/playedu/api/service/DepartmentService.java @@ -31,4 +31,6 @@ public interface DepartmentService extends IService { void create(String name, Integer parentId, Integer sort) throws NotFoundException; + void remoteRelateUsersByDepId(Integer depId); + } diff --git a/src/main/java/xyz/playedu/api/service/UserService.java b/src/main/java/xyz/playedu/api/service/UserService.java index 3983c5c..be99ebb 100644 --- a/src/main/java/xyz/playedu/api/service/UserService.java +++ b/src/main/java/xyz/playedu/api/service/UserService.java @@ -18,4 +18,6 @@ public interface UserService extends IService { PaginationResult paginate(int page, int size, UserPaginateFilter filter); List existsEmailsByEmails(List emails); + + void removeRelateDepartmentsByUserId(Integer userId); } diff --git a/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java index 6045eb7..4579914 100644 --- a/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/DepartmentServiceImpl.java @@ -1,13 +1,17 @@ package xyz.playedu.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import xyz.playedu.api.domain.Department; +import xyz.playedu.api.domain.UserDepartment; import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.service.DepartmentService; import xyz.playedu.api.mapper.DepartmentMapper; import org.springframework.stereotype.Service; +import xyz.playedu.api.service.internal.UserDepartmentService; import java.util.ArrayList; import java.util.Date; @@ -22,6 +26,9 @@ import java.util.List; @Slf4j public class DepartmentServiceImpl extends ServiceImpl implements DepartmentService { + @Autowired + private UserDepartmentService userDepartmentService; + @Override public List listByParentId(Integer id) { return list(query().getWrapper().eq("parent_id", id).orderByAsc("sort")); @@ -163,6 +170,12 @@ public class DepartmentServiceImpl extends ServiceImpl wrapper = userDepartmentService.query().getWrapper().eq("dep_id", depId); + userDepartmentService.remove(wrapper); + } } diff --git a/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java index d049d99..dd5cd14 100644 --- a/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/UserServiceImpl.java @@ -1,12 +1,13 @@ package xyz.playedu.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.enums.SqlKeyword; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.ibatis.jdbc.SQL; +import org.springframework.beans.factory.annotation.Autowired; import xyz.playedu.api.domain.User; +import xyz.playedu.api.domain.UserDepartment; +import xyz.playedu.api.service.internal.UserDepartmentService; import xyz.playedu.api.service.UserService; import xyz.playedu.api.mapper.UserMapper; import org.springframework.stereotype.Service; @@ -23,6 +24,10 @@ import java.util.List; */ @Service public class UserServiceImpl extends ServiceImpl implements UserService { + + @Autowired + private UserDepartmentService userDepartmentService; + @Override public boolean emailIsExists(String email) { User user = getOne(query().getWrapper().eq("email", email)); @@ -85,6 +90,12 @@ public class UserServiceImpl extends ServiceImpl implements Us } return existsEmails; } + + @Override + public void removeRelateDepartmentsByUserId(Integer userId) { + QueryWrapper wrapper = userDepartmentService.query().getWrapper().eq("user_id", userId); + userDepartmentService.remove(wrapper); + } } diff --git a/src/main/java/xyz/playedu/api/service/impl/UserDepartmentServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/internal/UserDepartmentServiceImpl.java similarity index 57% rename from src/main/java/xyz/playedu/api/service/impl/UserDepartmentServiceImpl.java rename to src/main/java/xyz/playedu/api/service/impl/internal/UserDepartmentServiceImpl.java index 79231cf..f151bf7 100644 --- a/src/main/java/xyz/playedu/api/service/impl/UserDepartmentServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/internal/UserDepartmentServiceImpl.java @@ -1,8 +1,8 @@ -package xyz.playedu.api.service.impl; +package xyz.playedu.api.service.impl.internal; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import xyz.playedu.api.domain.UserDepartment; -import xyz.playedu.api.service.UserDepartmentService; +import xyz.playedu.api.service.internal.UserDepartmentService; import xyz.playedu.api.mapper.UserDepartmentMapper; import org.springframework.stereotype.Service; @@ -14,15 +14,6 @@ import org.springframework.stereotype.Service; @Service public class UserDepartmentServiceImpl extends ServiceImpl implements UserDepartmentService { - @Override - public void removeByUserId(Integer userId) { - remove(query().getWrapper().eq("user_id", userId)); - } - - @Override - public void removeByDepId(Integer depId) { - remove(query().getWrapper().eq("dep_id", depId)); - } } diff --git a/src/main/java/xyz/playedu/api/service/UserDepartmentService.java b/src/main/java/xyz/playedu/api/service/internal/UserDepartmentService.java similarity index 70% rename from src/main/java/xyz/playedu/api/service/UserDepartmentService.java rename to src/main/java/xyz/playedu/api/service/internal/UserDepartmentService.java index e7c9468..2edcead 100644 --- a/src/main/java/xyz/playedu/api/service/UserDepartmentService.java +++ b/src/main/java/xyz/playedu/api/service/internal/UserDepartmentService.java @@ -1,4 +1,4 @@ -package xyz.playedu.api.service; +package xyz.playedu.api.service.internal; import xyz.playedu.api.domain.UserDepartment; import com.baomidou.mybatisplus.extension.service.IService; @@ -9,7 +9,4 @@ import com.baomidou.mybatisplus.extension.service.IService; * @createDate 2023-02-23 15:08:38 */ public interface UserDepartmentService extends IService { - - void removeByUserId(Integer userId); - void removeByDepId(Integer depId); }