Selaa lähdekoodia

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

luo.yibo@datuai.com 1 vuosi sitten
vanhempi
commit
81451796b8

+ 2 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/service/impl/PtUserAccountServiceImpl.java

@@ -42,6 +42,7 @@ import org.dromara.common.message.kafka.enums.EventSenderEnum;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.redis.utils.RedisUtils;
+import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.system.api.RemoteDeptService;
 import org.dromara.system.api.domain.vo.RemoteDeptVo;
 import org.springframework.stereotype.Service;
@@ -554,7 +555,7 @@ public class PtUserAccountServiceImpl implements IPtUserAccountService {
 
     @Override
     public YcTraineeVo selectTraineeByBo(PtUserAccountBo bo, Date doingDate) {
-        return baseMapper.selectTraineeByBo(bo, doingDate);
+        return TenantHelper.ignore(() -> baseMapper.selectTraineeByBo(bo, doingDate));
     }
     /**
      * 删除指定部门下的一卡通账户信息

+ 4 - 0
ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/domain/vo/SysDeptVo.java

@@ -141,4 +141,8 @@ public class SysDeptVo implements Serializable {
      * 缴费结束日期
      */
     private Date payEnd;
+    /**
+     * 删除标志
+     */
+    private String delFlag;
 }

+ 8 - 2
ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/impl/DeptServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
@@ -116,11 +117,16 @@ public class DeptServiceImpl implements IDeptService {
     @Override
     public Boolean deleteByOtherId(String otherId, String tenantId) {
         // TODO 2025-01-24 10:41:56 luoyibo 删除前的校验
+        SysDeptVo vo = TenantHelper.ignore(
+            () -> deptMapper.selectVoOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getOtherId, otherId).eq(SysDept::getTenantId, tenantId)));
         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)));
+            vo.setDelFlag(DefaultConstants.DELETED);
+            //vo.setUpdateBy();
+            //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;