Просмотр исходного кода

feature: 同步业务完善
1.部门修改时根据是否推送消息开关推送修改后的部门信息

luo.yibo@datuai.com 1 год назад
Родитель
Сommit
5b89995cf7
14 измененных файлов с 223 добавлено и 57 удалено
  1. 13 4
      pom.xml
  2. 14 0
      ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteDeptVo.java
  3. 1 1
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java
  4. 29 0
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CloudMqEventConstants.java
  5. 45 0
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/CloudMqEventEnum.java
  6. 1 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/service/impl/PtParameterServiceImpl.java
  7. 19 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java
  8. 14 10
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java
  9. 5 3
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mq/KafkaNormalProducer.java
  10. 54 26
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
  11. 2 2
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/dept/strategy/impl/HrDeptStrategyImpl.java
  12. 1 1
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/card/CloudConsumeEventStrategyImpl.java
  13. 3 1
      ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncGraduateService.java
  14. 22 9
      ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncHrService.java

+ 13 - 4
pom.xml

@@ -85,23 +85,32 @@
             </properties>
             <activation>
                 <!-- 默认环境 -->
-                <activeByDefault>false</activeByDefault>
+                <activeByDefault>true</activeByDefault>
             </activation>
         </profile>
         <profile>
             <id>prod</id>
+<!--            <properties>-->
+<!--                <profiles.active>prod</profiles.active>-->
+<!--                <nacos.server>10.32.23.157:8848</nacos.server>-->
+<!--                <nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>-->
+<!--                <nacos.config.group>DEFAULT_GROUP</nacos.config.group>-->
+<!--                <nacos.username>nacos</nacos.username>-->
+<!--                <nacos.password>nacos</nacos.password>-->
+<!--                <logstash.address>10.32.23.157:4560</logstash.address>-->
+<!--            </properties>-->
             <properties>
                 <profiles.active>prod</profiles.active>
-                <nacos.server>10.32.23.157:8848</nacos.server>
+                <nacos.server>172.16.137.72:8848</nacos.server>
                 <nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
                 <nacos.config.group>DEFAULT_GROUP</nacos.config.group>
                 <nacos.username>nacos</nacos.username>
                 <nacos.password>nacos</nacos.password>
-                <logstash.address>10.32.23.157:4560</logstash.address>
+                <logstash.address>172.16.137.72:4560</logstash.address>
             </properties>
             <activation>
                 <!-- 默认环境 -->
-                <activeByDefault>true</activeByDefault>
+                <activeByDefault>false</activeByDefault>
             </activation>
         </profile>
     </profiles>

+ 14 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteDeptVo.java

@@ -78,6 +78,20 @@ public class RemoteDeptVo implements Serializable {
      * 创建时间
      */
     private Date createTime;
+    /**
+     * 创建者
+     */
+    private Long createBy;
+
+    /**
+     * 更新者
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
 
     /**
      * 唯一标识

+ 1 - 1
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java

@@ -87,7 +87,7 @@ public interface CacheNames {
     /**
      * 系统参数
      */
-    String PT_PARAMETER = "pt_parameter";
+    String PT_PARAMETER = "pt_parameter#30d";
 
     /**
      * 卡片类别

+ 29 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CloudMqEventConstants.java

@@ -0,0 +1,29 @@
+package org.dromara.common.core.constant;
+
+/**
+ * @ClassName CloudMqEventConstants
+ * @Description 云端消息队列事件常量
+ * @Author luoyibo
+ * @Date 2024-12-27 22:11
+ * @Version 1.0
+ * @since jdk17
+ */
+public interface CloudMqEventConstants {
+
+    /**
+     * 队列topic
+     */
+    String TOPIC = "TO_CLOUD_EVENT";
+    /**
+     * 业务系统编号
+     */
+    String SENDER = "000";
+    /**
+     * 消费记录
+     */
+    String CONSUME = SENDER + "00001";
+    /**
+     * 部门数据
+     */
+    String DEPT = SENDER + "00002";
+}

+ 45 - 0
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/CloudMqEventEnum.java

@@ -0,0 +1,45 @@
+package org.dromara.common.core.enums;
+
+/**
+ * @ClassName CloudMqEventEnum
+ * @Description TODO
+ * @Author luoyibo
+ * @Date 2025-01-04 22:53
+ * @Version 1.0
+ * @since jdk17
+ */
+public enum CloudMqEventEnum {
+    CONSUME("00000001","消费信息"),
+    DEPT("00000002","部门信息"),
+    USER("00000003","用户信息");
+
+    private final String code;
+    private final String name;
+
+    CloudMqEventEnum(String code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public String code() {
+        return this.code;
+    }
+
+    public String message() {
+        return this.name;
+    }
+
+    public static String getMessage(String code) {
+        for (CloudMqEventEnum item : CloudMqEventEnum.values()) {
+            if (item.code().equals(code)) {
+                return item.name;
+            }
+        }
+        return "未知";
+    }
+
+    @Override
+    public String toString() {
+        return this.name();
+    }
+}

+ 1 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/service/impl/PtParameterServiceImpl.java

@@ -143,6 +143,7 @@ public class PtParameterServiceImpl implements IPtParameterService {
         if(ObjectUtil.isNotNull(parameter)){
             return parameter.getParamValue();
         }
+        //@Cacheable(cacheNames = CacheNames.SYS_DEPT, key = "#deptId")
         return StringUtils.EMPTY;
     }
     /**

+ 19 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java

@@ -125,4 +125,23 @@ public class SysDeptBo extends BaseEntity {
      */
     private String delFlag;
 
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 创建者
+     */
+    private Long createBy;
+
+    /**
+     * 更新者
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
 }

+ 14 - 10
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java

@@ -63,16 +63,6 @@ public class SysDeptVo implements Serializable {
      */
     private Integer orderNum;
 
-//    /**
-//     * 负责人ID
-//     */
-//    private Long leader;
-//
-//    /**
-//     * 负责人
-//     */
-//    @ExcelProperty(value = "负责人")
-//    private String leaderName;
 
     /**
      * 联系电话
@@ -98,6 +88,20 @@ public class SysDeptVo implements Serializable {
      */
     @ExcelProperty(value = "创建时间")
     private Date createTime;
+    /**
+     * 创建者
+     */
+    private Long createBy;
+
+    /**
+     * 更新者
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
 
     /**
      * 唯一标识

+ 5 - 3
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mq/KafkaNormalProducer.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.kafka.clients.producer.ProducerRecord;
+import org.dromara.common.core.enums.CloudMqEventEnum;
 import org.dromara.common.message.kafka.domain.KafkaMessage;
 import org.springframework.kafka.core.KafkaTemplate;
 import org.springframework.kafka.support.SendResult;
@@ -19,6 +20,7 @@ public class KafkaNormalProducer {
 
     public void sendKafkaMessage(String topic, KafkaMessage<?> data) {
         String jsonMessage = JSON.toJSONString(data);
+        String eventId = data.getHeader().getEventId();
         try {
             ProducerRecord<String, String> record;
             record = new ProducerRecord<>(topic, jsonMessage);
@@ -26,13 +28,13 @@ public class KafkaNormalProducer {
             CompletableFuture<SendResult<String, String>> send = kafkaTemplate.send(record);
             send.whenComplete((result, ex) -> {
                 if (ex != null) {
-                    log.error("消费系统发送到kafka消息系统异常,data: {}", jsonMessage, ex);
+                    log.error("[系统管理]-[{}]-[发送到kafka消息系统异常]-[{}]", CloudMqEventEnum.getMessage(eventId), data, ex);
                 } else {
-                    log.info("消费系统发送到kafka消息系统成功,data: {}", jsonMessage);
+                    log.info("[系统管理]-[{}]发送到kafka消息系统成功]-[{}]", CloudMqEventEnum.getMessage(eventId), data);
                 }
             });
         } catch (Exception e) {
-            log.error("消费系统发送到kafka消息系统异常,data: {}", data, e);
+            log.error("[系统管理]-[{}]发送到kafka消息系统异常]-[{}]", CloudMqEventEnum.getMessage(eventId), data, e);
         }
     }
 }

+ 54 - 26
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java

@@ -9,13 +9,18 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.backstage.api.RemotePtParameterService;
 import org.dromara.common.core.constant.CacheNames;
+import org.dromara.common.core.constant.CloudMqEventConstants;
 import org.dromara.common.core.constant.UserConstants;
 import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.core.utils.TreeBuildUtils;
+import org.dromara.common.message.kafka.domain.KafkaHeader;
+import org.dromara.common.message.kafka.domain.KafkaMessage;
 import org.dromara.common.mybatis.helper.DataBaseHelper;
 import org.dromara.common.redis.utils.CacheUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
@@ -27,6 +32,7 @@ import org.dromara.system.domain.vo.SysDeptVo;
 import org.dromara.system.mapper.SysDeptMapper;
 import org.dromara.system.mapper.SysRoleMapper;
 import org.dromara.system.mapper.SysUserMapper;
+import org.dromara.system.mq.KafkaNormalProducer;
 import org.dromara.system.service.ISysDeptService;
 import org.dromara.system.service.IUserDeptService;
 import org.springframework.cache.annotation.CacheEvict;
@@ -46,11 +52,14 @@ import java.util.List;
 @RequiredArgsConstructor
 @Service
 public class SysDeptServiceImpl implements ISysDeptService {
-
     private final SysDeptMapper baseMapper;
     private final SysRoleMapper roleMapper;
     private final SysUserMapper userMapper;
     private final IUserDeptService userDeptService;
+    private final KafkaNormalProducer kafkaNormalProducer;
+
+    @DubboReference
+    private final RemotePtParameterService remotePtParameterService;
 
     /**
      * 查询部门管理数据
@@ -106,10 +115,10 @@ public class SysDeptServiceImpl implements ISysDeptService {
             return CollUtil.newArrayList();
         }
         return TreeBuildUtils.build(depts, (dept, tree) ->
-            tree.setId(dept.getDeptId())
-                .setParentId(dept.getParentId())
-                .setName(dept.getDeptName())
-                .setWeight(dept.getOrderNum()));
+                                               tree.setId(dept.getDeptId())
+                                                   .setParentId(dept.getParentId())
+                                                   .setName(dept.getDeptName())
+                                                   .setWeight(dept.getOrderNum()));
     }
 
     /**
@@ -138,7 +147,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
             return null;
         }
         SysDeptVo parentDept = baseMapper.selectVoOne(new LambdaQueryWrapper<SysDept>()
-            .select(SysDept::getDeptName).eq(SysDept::getDeptId, dept.getParentId()));
+                                                          .select(SysDept::getDeptName).eq(SysDept::getDeptId, dept.getParentId()));
         dept.setParentName(ObjectUtil.isNotNull(parentDept) ? parentDept.getDeptName() : null);
         return dept;
     }
@@ -152,9 +161,9 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public List<SysDeptVo> selectDeptByIds(List<Long> deptIds) {
         return baseMapper.selectDeptList(new LambdaQueryWrapper<SysDept>()
-            .select(SysDept::getDeptId, SysDept::getDeptName)
-            .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL)
-            .in(CollUtil.isNotEmpty(deptIds), SysDept::getDeptId, deptIds));
+                                             .select(SysDept::getDeptId, SysDept::getDeptName)
+                                             .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL)
+                                             .in(CollUtil.isNotEmpty(deptIds), SysDept::getDeptId, deptIds));
     }
 
     /**
@@ -184,8 +193,8 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public long selectNormalChildrenDeptById(Long deptId) {
         return baseMapper.selectCount(new LambdaQueryWrapper<SysDept>()
-            .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL)
-            .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
+                                          .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL)
+                                          .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
     }
 
     /**
@@ -197,7 +206,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public boolean hasChildByDeptId(Long deptId) {
         return baseMapper.exists(new LambdaQueryWrapper<SysDept>()
-            .eq(SysDept::getParentId, deptId));
+                                     .eq(SysDept::getParentId, deptId));
     }
 
     /**
@@ -209,7 +218,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public boolean checkDeptExistUser(Long deptId) {
         return userMapper.exists(new LambdaQueryWrapper<SysUser>()
-            .eq(SysUser::getDeptId, deptId));
+                                     .eq(SysUser::getDeptId, deptId));
     }
 
     /**
@@ -221,9 +230,9 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public boolean checkDeptNameUnique(SysDeptBo dept) {
         boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysDept>()
-            .eq(SysDept::getDeptName, dept.getDeptName())
-            .eq(SysDept::getParentId, dept.getParentId())
-            .ne(ObjectUtil.isNotNull(dept.getDeptId()), SysDept::getDeptId, dept.getDeptId()));
+                                              .eq(SysDept::getDeptName, dept.getDeptName())
+                                              .eq(SysDept::getParentId, dept.getParentId())
+                                              .ne(ObjectUtil.isNotNull(dept.getDeptId()), SysDept::getDeptId, dept.getDeptId()));
         return !exist;
     }
 
@@ -269,6 +278,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
         int count = baseMapper.insert(dept);
         if (count > 0) {
             bo.setDeptId(dept.getDeptId());
+
         }
         return count;
     }
@@ -312,10 +322,11 @@ public class SysDeptServiceImpl implements ISysDeptService {
         }
         int result = baseMapper.updateById(dept);
         if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors())
-            && !StringUtils.equals(UserConstants.DEPT_NORMAL, dept.getAncestors())) {
+                && !StringUtils.equals(UserConstants.DEPT_NORMAL, dept.getAncestors())) {
             // 如果该部门是启用状态,则启用该部门的所有上级部门
             updateParentDeptStatusNormal(dept);
         }
+        sendCloudConsume(baseMapper.selectVoById(dept.getDeptId()));
         return result;
     }
 
@@ -328,8 +339,8 @@ public class SysDeptServiceImpl implements ISysDeptService {
         String ancestors = dept.getAncestors();
         Long[] deptIds = Convert.toLongArray(ancestors);
         baseMapper.update(null, new LambdaUpdateWrapper<SysDept>()
-            .set(SysDept::getStatus, UserConstants.DEPT_NORMAL)
-            .in(SysDept::getDeptId, Arrays.asList(deptIds)));
+                                    .set(SysDept::getStatus, UserConstants.DEPT_NORMAL)
+                                    .in(SysDept::getDeptId, Arrays.asList(deptIds)));
     }
 
     /**
@@ -341,7 +352,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
      */
     private void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors) {
         List<SysDept> children = baseMapper.selectList(new LambdaQueryWrapper<SysDept>()
-            .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
+                                                           .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
         List<SysDept> list = new ArrayList<>();
         for (SysDept child : children) {
             SysDept dept = new SysDept();
@@ -375,9 +386,9 @@ public class SysDeptServiceImpl implements ISysDeptService {
             return CollUtil.newArrayList(deptId);
         }
         return baseMapper.selectList(Wrappers.lambdaQuery(SysDept.class)
-            .select(SysDept::getDeptId)
-            .eq(SysDept::getParentId, deptId).or().eq(SysDept::getDeptId, deptId).or().likeRight(SysDept::getAncestors,
-                sysDeptVo.getAncestors() + "," + deptId)
+                                         .select(SysDept::getDeptId)
+                                         .eq(SysDept::getParentId, deptId).or().eq(SysDept::getDeptId, deptId).or().likeRight(SysDept::getAncestors,
+                                                                                                                              sysDeptVo.getAncestors() + "," + deptId)
         ).stream().map(SysDept::getDeptId).toList();
     }
 
@@ -394,8 +405,8 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public SysDeptVo selectDeptByParentIdAndName(Long parentId, String deptName) {
         return baseMapper.selectVoOne(new LambdaQueryWrapper<SysDept>()
-            .eq(SysDept::getParentId, parentId)
-            .eq(SysDept::getDeptName, deptName));
+                                          .eq(SysDept::getParentId, parentId)
+                                          .eq(SysDept::getDeptName, deptName));
     }
 
     @Override
@@ -425,11 +436,28 @@ public class SysDeptServiceImpl implements ISysDeptService {
     @Override
     public List<SysDeptVo> selectDoingClass(Date doingDate) {
         return baseMapper.selectVoList(new LambdaQueryWrapper<SysDept>()
-            .le(SysDept::getCheckDate, doingDate).ge(SysDept::getEndDate, doingDate));
+                                           .le(SysDept::getCheckDate, doingDate).ge(SysDept::getEndDate, doingDate));
     }
 
     @Override
     public Boolean updateCheckInStatus(Long deptId, Long userId) {
         return userDeptService.setCheckInStatus(deptId, userId);
     }
+
+    private void sendCloudConsume(SysDeptVo vo) {
+        String pushData = remotePtParameterService.getPtParameterByKey("PUSH_MQ_DATA");
+        if (ObjectUtil.isNotEmpty(pushData) && ObjectUtil.equals(pushData, "1")) {
+            KafkaMessage<SysDeptVo> message = new KafkaMessage<>();
+            KafkaHeader header = message.getHeader();
+            header.setTimestamp(System.currentTimeMillis());
+            header.setEventId(CloudMqEventConstants.DEPT);
+            header.setEventType(CloudMqEventConstants.DEPT);
+            header.setSender(CloudMqEventConstants.SENDER);
+
+            message.setHeader(header);
+            message.setBody(vo);
+
+            kafkaNormalProducer.sendKafkaMessage(CloudMqEventConstants.TOPIC, message);
+        }
+    }
 }

+ 2 - 2
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/dept/strategy/impl/HrDeptStrategyImpl.java

@@ -115,10 +115,10 @@ public class HrDeptStrategyImpl implements ISyncDeptStrategy {
             remoteDeptBo = new RemoteDeptBo();
             // 业中同步的部门默认类型为03-部门
             remoteDeptBo.setDeptType(DefaultConstants.DEPT_DEPT_TYPE);
-            remoteDeptBo.setCreatedBy(remoteDeptBo.getCreatedBy());
+            remoteDeptBo.setCreatedBy(resourceDept.getOperatorId());
         } else {
             remoteDeptBo = BeanUtil.copyProperties(remoteDeptVo, RemoteDeptBo.class);
-            remoteDeptBo.setUpdatedBy(remoteDeptBo.getUpdatedBy());
+            remoteDeptBo.setUpdatedBy(resourceDept.getOperatorId());
         }
         remoteDeptBo.setDeptName(resourceDept.getDept_name());
         remoteDeptBo.setOtherId(resourceDept.getDept_id());

+ 1 - 1
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/card/CloudConsumeEventStrategyImpl.java

@@ -46,7 +46,7 @@ public class CloudConsumeEventStrategyImpl implements IEventStrategy {
         // recordBo.setCreditType(CreditTypeEnum.TERM_CONSUME);
         // recordBo.setTenantId(DefaultConstants.TENANT_ID);
         // recordBo.setUseType(SystemUseTypeEnum.CONSUME);
-        log.info("[处理云端消费请求]-[消信息:{}]", JSONUtil.toJsonStr(recordBo));
+        log.info("[处理云端消费请求]-[消信息:{}]", JSONUtil.toJsonStr(recordBo));
         remoteConsumeService.dealKafkaConsumeData(recordBo);
     }
 }

+ 3 - 1
ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncGraduateService.java

@@ -6,6 +6,7 @@ import cn.hutool.http.HttpResponse;
 import cn.hutool.json.JSONUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.config.DefaultConfig;
 import org.dromara.common.core.exception.ServiceException;
 import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
 import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
@@ -36,6 +37,7 @@ import java.util.List;
 public class SyncGraduateService {
     private final SyncDeptStrategyContent syncDeptStrategyContent;
     private final SyncUserStrategyContent syncUserStrategyContent;
+    private final DefaultConfig defaultConfig;
 
     /**
      * 全量同步研究生班级
@@ -57,7 +59,7 @@ public class SyncGraduateService {
                 dept.setEndDate(DateUtil.parse(list.get(4), "yyyy-MM-dd HH:mm:ss"));
                 dept.setDelFlag("ZC".equals(list.get(5)) ? "0" : "1");
                 dept.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
-                dept.setTenantId(DefaultConstants.TENANT_ID);
+                dept.setTenantId(defaultConfig.getTenantId());
                 resourceDeptlist.add(dept);
             }
             log.info("[全量获取到的研究生班级数据]-共[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));

+ 22 - 9
ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncHrService.java

@@ -45,15 +45,28 @@ public class SyncHrService {
         HttpRequest req = CreateHttpRequest.createRequest();
         req.body(getQueryBodyForDept());
 
-        try (HttpResponse res = req.execute()) {
-            SyncFullDataBo dataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
-            List<ResourceDept> resourceDeptlist = getResourceDeptList(dataBo);
-            log.info("[全量获取到的部门数据]-共[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
-            syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
-            return true;
-        } catch (Exception e) {
-            throw new ServiceException(e.getMessage());
-        }
+        // try (HttpResponse res = req.execute()) {
+        //     SyncFullDataBo dataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
+        //     List<ResourceDept> resourceDeptlist = getResourceDeptList(dataBo);
+        //     log.info("[全量获取到的部门数据]-共[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
+        //     syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
+        //     return true;
+        // } catch (Exception e) {
+        //     throw new ServiceException(e.getMessage());
+        // }
+        //region 模拟测试数据
+        List<ResourceDept> resourceDeptlist = new ArrayList<>();
+        ResourceDept dept = new ResourceDept();
+        dept.setParent_id("001000000000");
+        dept.setDept_id("001003000000");
+        dept.setDept_name("服务企业");
+        dept.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
+        dept.setTenantId(DefaultConstants.TENANT_ID);
+        resourceDeptlist.add(dept);
+        syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.HR_DEPT);
+        return true;
+        //endregion
+
     }
 
     /**