소스 검색

feature: 同步功能完善
1.修复部门删除没有同步到本地的bug

luo.yibo@datuai.com 1 년 전
부모
커밋
d2da22495d

+ 2 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java

@@ -121,4 +121,6 @@ public interface RemoteDeptService {
     Boolean updateCheckInStatus(Long deptId, Long userId);
 
     Boolean insertOrUpdateLocalDept(RemoteDeptBo remoteDeptBo);
+
+    Boolean deleteLocalDept(Long deptId);
 }

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java

@@ -224,4 +224,9 @@ public class RemoteDeptServiceImpl implements RemoteDeptService {
         SysDeptBo deptBo = BeanUtil.copyProperties(remoteDeptBo, SysDeptBo.class);
         return sysDeptService.insertOrUpdateLocalDept(deptBo);
     }
+
+    @Override
+    public Boolean deleteLocalDept(Long deptId) {
+        return deleteLocalDept(deptId);
+    }
 }

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java

@@ -206,4 +206,6 @@ public interface ISysDeptService {
     Boolean updateCheckInStatus(Long deptId, Long userId);
 
     Boolean insertOrUpdateLocalDept(SysDeptBo bo);
+
+    Boolean deleteLocalDept(Long deptId);
 }

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java

@@ -488,4 +488,9 @@ public class SysDeptServiceImpl implements ISysDeptService {
         SysDept entity = MapstructUtils.convert(bo, SysDept.class);
         return TenantHelper.ignore(() -> baseMapper.insertOrUpdate(entity));
     }
+
+    @Override
+    public Boolean deleteLocalDept(Long deptId) {
+        return TenantHelper.ignore(() -> baseMapper.deleteById(deptId)>0);
+    }
 }

+ 6 - 1
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/local/SystemEventStrategyImpl.java

@@ -44,7 +44,12 @@ public class SystemEventStrategyImpl implements IYktEventStrategy {
             case EventTypeConstants.DEPT -> {
                 RemoteDeptBo remoteDeptBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteDeptBo.class);
                 log.info("[处理云端->本地部门同步请求]-[部门信息:{}]", JSONUtil.toJsonStr(remoteDeptBo));
-                remoteDeptService.insertOrUpdateLocalDept(remoteDeptBo);
+                if(remoteDeptBo.getDelFlag().equals(DefaultConstants.DELETED)){
+
+                }
+                else {
+                    remoteDeptService.insertOrUpdateLocalDept(remoteDeptBo);
+                }
                 // RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(remoteDeptBo.getDeptId());
                 // if (ObjectUtil.isEmpty(remoteDeptVo)) {
                 //     remoteDeptService.insertDept(remoteDeptBo);