|
|
@@ -7,11 +7,15 @@ import lombok.RequiredArgsConstructor;
|
|
|
import org.dromara.common.core.domain.R;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
+import org.dromara.common.message.kafka.constant.EventTypeConstants;
|
|
|
+import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
|
|
|
+import org.dromara.common.message.kafka.enums.EventSenderEnum;
|
|
|
import org.dromara.common.tenant.helper.TenantHelper;
|
|
|
import org.dromara.server.sync.domain.SysDept;
|
|
|
import org.dromara.server.sync.domain.bo.SysDeptBo;
|
|
|
import org.dromara.server.sync.domain.vo.SysDeptVo;
|
|
|
import org.dromara.server.sync.mapper.SysDeptMapper;
|
|
|
+import org.dromara.server.sync.mq.PushKafkaData;
|
|
|
import org.dromara.server.sync.service.IDeptService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -29,12 +33,12 @@ import java.util.Objects;
|
|
|
@RequiredArgsConstructor
|
|
|
public class DeptServiceImpl implements IDeptService {
|
|
|
private final SysDeptMapper deptMapper;
|
|
|
+ private final PushKafkaData kafkaNormalProducer;
|
|
|
|
|
|
@Override
|
|
|
public SysDeptVo selectByOtherId(String otherId, String tenantId) {
|
|
|
return TenantHelper.ignore(
|
|
|
() -> deptMapper.selectVoOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getOtherId, otherId).eq(SysDept::getTenantId, tenantId)));
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -54,6 +58,9 @@ public class DeptServiceImpl implements IDeptService {
|
|
|
() -> deptMapper.insert(entity));
|
|
|
if (iCount > 0) {
|
|
|
bo.setDeptId(entity.getDeptId());
|
|
|
+ SysDeptVo vo = TenantHelper.ignore(
|
|
|
+ () -> deptMapper.selectVoById(bo.getDeptId()));
|
|
|
+ kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.DEPT, EventSenderEnum.SYSTEM.code(), vo);
|
|
|
}
|
|
|
return iCount > 0;
|
|
|
}
|
|
|
@@ -69,7 +76,11 @@ public class DeptServiceImpl implements IDeptService {
|
|
|
}
|
|
|
int iCount = TenantHelper.ignore(
|
|
|
() -> deptMapper.updateById(entity));
|
|
|
-
|
|
|
+ if (iCount > 0) {
|
|
|
+ SysDeptVo vo = TenantHelper.ignore(
|
|
|
+ () -> deptMapper.selectVoById(bo.getDeptId()));
|
|
|
+ kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.DEPT, EventSenderEnum.SYSTEM.code(), vo);
|
|
|
+ }
|
|
|
return iCount > 0;
|
|
|
}
|
|
|
|
|
|
@@ -93,6 +104,18 @@ public class DeptServiceImpl implements IDeptService {
|
|
|
return R.fail();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Boolean deleteByOtherId(String otherId, String tenantId) {
|
|
|
+ // TODO 2025-01-24 10:41:56 luoyibo 删除前的校验
|
|
|
+ int iCount = TenantHelper.ignore(
|
|
|
+ () -> deptMapper.delete(new LambdaQueryWrapper<SysDept>().eq(SysDept::getOtherId, otherId).eq(SysDept::getTenantId, tenantId)));
|
|
|
+ if (iCount > 0) {
|
|
|
+ SysDeptVo vo = TenantHelper.ignore(
|
|
|
+ () -> deptMapper.selectVoOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getOtherId, otherId).eq(SysDept::getTenantId, tenantId)));
|
|
|
+ kafkaNormalProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, EventTypeConstants.DEPT, EventSenderEnum.SYSTEM.code(), vo);
|
|
|
+ }
|
|
|
+ return iCount > 0;
|
|
|
+ }
|
|
|
|
|
|
private String getAncestors(Long parentId) {
|
|
|
if (ObjectUtil.equals(parentId, 0L)) {
|
|
|
@@ -110,7 +133,7 @@ public class DeptServiceImpl implements IDeptService {
|
|
|
qw.eq("parent_id", deptId);
|
|
|
qw.lt("order_num", 999);
|
|
|
|
|
|
- SysDept dept = TenantHelper.ignore(()->deptMapper.selectOne(qw));
|
|
|
+ SysDept dept = TenantHelper.ignore(() -> deptMapper.selectOne(qw));
|
|
|
if (dept == null) {
|
|
|
return 1;
|
|
|
}
|