diff --git a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java index 385d9d55..3af8c2f0 100644 --- a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java +++ b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentServiceImpl.java @@ -9,6 +9,9 @@ import ink.wgink.common.base.DefaultBaseService; import ink.wgink.exceptions.SaveException; import ink.wgink.exceptions.SearchException; import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.interfaces.department.IDepartmentDeleteAfterHandler; +import ink.wgink.interfaces.department.IDepartmentSaveAfterHandler; +import ink.wgink.interfaces.department.IDepartmentUpdateAfterHandler; import ink.wgink.module.file.excel.error.AbstractErrorExcelHandler; import ink.wgink.module.file.service.IFileService; import ink.wgink.pojo.ListPage; @@ -60,6 +63,12 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart private IDepartmentAdjustmentService departmentAdjustmentService; @Autowired private IFileService fileService; + @Autowired(required = false) + private IDepartmentSaveAfterHandler departmentSaveAfterHandler; + @Autowired(required = false) + private IDepartmentUpdateAfterHandler departmentUpdateAfterHandler; + @Autowired(required = false) + private IDepartmentDeleteAfterHandler departmentDeleteAfterHandler; @Override public void save(DepartmentVO departmentVO) { @@ -89,6 +98,15 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart params.put("departmentId", departmentId); setSaveInfo(params); departmentDao.save(params); + if (departmentSaveAfterHandler != null) { + departmentSaveAfterHandler.handle(departmentId, + departmentParentId, + departmentVO.getDepartmentName(), + departmentCode, + departmentVO.getDepartmentType(), + departmentVO.getDepartmentAreaCode(), + departmentVO.getDepartmentAreaName()); + } return departmentId; } @@ -102,6 +120,9 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart params.put("departmentIds", ids); setUpdateInfo(params); departmentDao.remove(params); + if (departmentDeleteAfterHandler != null) { + departmentDeleteAfterHandler.handle(ids); + } } @Override @@ -113,6 +134,14 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart params.put("departmentId", departmentId); setUpdateInfo(params); departmentDao.update(params); + if (departmentUpdateAfterHandler != null) { + departmentUpdateAfterHandler.handle(departmentId, + departmentVO.getDepartmentParentId(), + departmentVO.getDepartmentName(), + departmentVO.getDepartmentType(), + departmentVO.getDepartmentAreaCode(), + departmentVO.getDepartmentAreaName()); + } } @Override diff --git a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java index 5542cee3..f595d2ab 100644 --- a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java +++ b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java @@ -3,6 +3,8 @@ package ink.wgink.service.department.service.impl; import ink.wgink.common.base.DefaultBaseService; import ink.wgink.exceptions.SearchException; import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.interfaces.department.IDepartmentUserDeleteAfterHandler; +import ink.wgink.interfaces.department.IDepartmentUserSaveAfterHandler; import ink.wgink.interfaces.user.IUserBaseService; import ink.wgink.pojo.ListPage; import ink.wgink.pojo.dtos.department.DepartmentDTO; @@ -44,6 +46,10 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe private IDepartmentAdjustmentService departmentAdjustmentService; @Autowired private IUserBaseService userBaseService; + @Autowired(required = false) + private IDepartmentUserSaveAfterHandler departmentUserSaveAfterHandler; + @Autowired(required = false) + private IDepartmentUserDeleteAfterHandler departmentUserDeleteAfterHandler; @Override public void save(String departmentId, String departmentName, List departmentUserIds) { @@ -54,6 +60,9 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe departmentUserDao.save(params); } departmentAdjustmentService.save(departmentUserIds, departmentId, departmentName, USER_DEPARTMENT_TYPE_JOIN); + if (departmentUserSaveAfterHandler != null) { + departmentUserSaveAfterHandler.handle(departmentId, departmentUserIds); + } } @Override @@ -74,6 +83,9 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe params.put("userIds", userIds); departmentUserDao.delete(params); departmentAdjustmentService.save(userIds, departmentId, adjustmentDepartmentName, USER_DEPARTMENT_TYPE_LEAVE); + if (departmentUserDeleteAfterHandler != null) { + departmentUserDeleteAfterHandler.handle(departmentId, userIds); + } } @Override @@ -111,7 +123,12 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe newUserIds.add(userId); } } + List removeUserIds = new ArrayList<>(); + departmentAdjustmentService.save(newUserIds, departmentId, departmentPO.getDepartmentName(), USER_DEPARTMENT_TYPE_JOIN); + if (departmentUserSaveAfterHandler != null) { + departmentUserSaveAfterHandler.handle(departmentId, userIds); + } } @Override