Explorar el Código

feature: 同步业务完善
1.同步业务的常量定义提升到框架的通用常量定义中
2.同步时如果没有客租户编号则使用系统配置的租户编号

luo.yibo@datuai.com hace 1 año
padre
commit
376964b709
Se han modificado 14 ficheros con 97 adiciones y 174 borrados
  1. 38 6
      ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/DefaultConstants.java
  2. 1 7
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/dept/strategy/impl/GraduateClassStrategyImpl.java
  3. 1 6
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/dept/strategy/impl/HrDeptStrategyImpl.java
  4. 1 6
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/dept/strategy/impl/TrainClassStrategyImpl.java
  5. 1 6
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/user/SyncRemoteUserService.java
  6. 0 109
      ruoyi-server/ruoyi-server-common/src/main/java/org/dromara/server/common/constant/DefaultConstants.java
  7. 0 1
      ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/TermBusiness.java
  8. 0 1
      ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/convert/strategy/impl/YcRecordConvertStrategyImpl.java
  9. 0 1
      ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/service/impl/XfTermServiceImpl.java
  10. 16 8
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TeacherUtils.java
  11. 20 7
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TrainUtils.java
  12. 5 3
      ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncGraduateService.java
  13. 5 6
      ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncHrService.java
  14. 9 7
      ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncTrainService.java

+ 38 - 6
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/DefaultConstants.java

@@ -15,19 +15,17 @@ public interface DefaultConstants {
      * 教职工岗位编码
      */
     String TEACHER_CODE="12";
+
     /**
      * 学员岗位编码
      */
     String TRAINEE_CODE="14";
+
     /**
      * 研究生岗位编码
      */
     String GRADUATE_CODE="16";
 
-    /**
-     * 租户Id
-     */
-    String TENANT_ID = "20200813044411";
     /**
      * 岗位Id
      */
@@ -37,6 +35,7 @@ public interface DefaultConstants {
      * 登录密码
      */
     String LOGIN_PASSWORD = "dtSchool@2024";
+
     /**
      * 日期格式
      */
@@ -46,17 +45,19 @@ public interface DefaultConstants {
      * 日期时间格式
      */
     String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
+
     /**
      * 时间格式
      */
     String TIME_FORMAT = "HH:mm:ss";
 
     /**
-     * 消费机接收的时间格式
+     * LocalDate日期时间格式
      */
     String TERM_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
+
     /**
-     * 部门Id(学校)
+     * 根据部门Id(学校)
      */
     Long PARENT_DEPT_ID = 100L;
 
@@ -64,10 +65,12 @@ public interface DefaultConstants {
      * 研究生年份父部门Id(研究生部)
      */
     Long GRADUATE_PARENT_DEPT_ID = 105L;
+
     /**
      * 培训班年份父部门Id(培训班)
      */
     Long TRAIN_PARENT_DEPT_ID = 104L;
+
     /**
      * 部门类型代码
      */
@@ -77,27 +80,41 @@ public interface DefaultConstants {
      * 年份对应部门类型代码
      */
     String YEAR_DEPT_TYPE = "04";
+
     /**
      * 培训班级对应部门类型代码
      */
     String CLASS_DEPT_TYPE = "05";
+
     /**
      * 研究生班级对应的部门类型代码
      */
     String GRADUATE_DEPT_TYPE = "06";
+
     /**
      * 教职工默认角色
      */
     Long TEACHER_ROLE_ID = 1833306814969163778L;
+
     /**
      * 学员默认角色
      */
     Long TRAIN_ROLE_ID = 1833306897299156993L;
+
     /**
      * 研究生默认角色
      */
     Long GRADUATE_ROLE_ID = 1844275170961874946L;
 
+    /**
+     * 全量同步管理员
+     */
+    Long FULL_SYNC_ADMIN = 11L;
+    /**
+     * kafka同步管理员
+     */
+    Long KAFKA_SYNC_ADMIN = 12L;
+
     /**
      * 本地部署标志
      */
@@ -107,4 +124,19 @@ public interface DefaultConstants {
      * 云端部署标志
      */
     String CLOUD_FLAG = "cloud";
+
+    /**
+     * 教职工身份标志
+     */
+    String CATEGORY_TEACHER = "1";
+
+    /**
+     * 学员身份标志
+     */
+    String CATEGORY_TRAINEE = "2";
+
+    /**
+     * 研究生身份标志
+     */
+    String CATEGORY_GRADUATE = "3";
 }

+ 1 - 7
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/dept/strategy/impl/GraduateClassStrategyImpl.java

@@ -2,16 +2,15 @@ package org.dromara.server.base.service.dept.strategy.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjUtil;
-import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.dromara.common.core.config.DefaultConfig;
+import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.json.utils.JsonUtils;
 import org.dromara.server.base.service.dept.SyncRemoteDeptService;
 import org.dromara.server.base.service.dept.strategy.ISyncDeptStrategy;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.constant.SyncResourceConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.system.api.domain.bo.RemoteDeptBo;
@@ -66,11 +65,6 @@ public class GraduateClassStrategyImpl implements ISyncDeptStrategy {
      */
     private R<Object> syncDept(ResourceDept resourceDept) {
         String tenantId = resourceDept.getTenantId();
-        if (StrUtil.isEmpty(tenantId)) {
-            tenantId = defaultConfig.getTenantId();
-            resourceDept.setTenantId(tenantId);
-        }
-
         try {
             String otherId = resourceDept.getDept_id();
             String delFlag = resourceDept.getDelFlag();

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

@@ -2,15 +2,14 @@ package org.dromara.server.base.service.dept.strategy.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjUtil;
-import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.json.utils.JsonUtils;
 import org.dromara.server.base.service.dept.SyncRemoteDeptService;
 import org.dromara.server.base.service.dept.strategy.ISyncDeptStrategy;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.constant.SyncResourceConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.system.api.domain.bo.RemoteDeptBo;
@@ -75,10 +74,6 @@ public class HrDeptStrategyImpl implements ISyncDeptStrategy {
     public R<Object> syncDept(ResourceDept resourceDept) {
         try {
             String tenantId = resourceDept.getTenantId();
-            if (StrUtil.isEmpty(tenantId)) {
-                tenantId = DefaultConstants.TENANT_ID;
-                resourceDept.setTenantId(tenantId);
-            }
             String otherId = resourceDept.getDept_id();
             String parentId = resourceDept.getParent_id();
             // 获取同步的部门在一卡通系统中对应的部门

+ 1 - 6
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/dept/strategy/impl/TrainClassStrategyImpl.java

@@ -2,10 +2,10 @@ package org.dromara.server.base.service.dept.strategy.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjUtil;
-import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.core.config.DefaultConfig;
+import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.domain.model.ErrorInfo;
 import org.dromara.common.core.utils.StringUtils;
@@ -14,7 +14,6 @@ import org.dromara.hotel.api.domain.bo.RemoteTeamBo;
 import org.dromara.hotel.api.domain.vo.RemoteTeamVo;
 import org.dromara.server.base.service.dept.SyncRemoteDeptService;
 import org.dromara.server.base.service.dept.strategy.ISyncDeptStrategy;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.constant.SyncResourceConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.system.api.domain.bo.RemoteDeptBo;
@@ -100,10 +99,6 @@ public class TrainClassStrategyImpl implements ISyncDeptStrategy {
      */
     private R<Object> syncDept(ResourceDept resourceDept) {
         String tenantId = resourceDept.getTenantId();
-        if (StrUtil.isEmpty(tenantId)) {
-            tenantId = defaultConfig.getTenantId();
-            resourceDept.setTenantId(tenantId);
-        }
         String otherId = resourceDept.getDept_id();
         RemoteDeptVo remoteDeptVo = syncRemoteDeptService.selectDeptByOtherId(otherId, tenantId);
         // 将班级组装成入库的对模型

+ 1 - 6
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/user/SyncRemoteUserService.java

@@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.domain.model.ErrorInfo;
 import org.dromara.common.redis.utils.RedisUtils;
@@ -18,8 +19,6 @@ import org.dromara.hotel.api.domain.vo.RemoteGuestVo;
 import org.dromara.hotel.api.domain.vo.RemoteTeamVo;
 import org.dromara.hotel.api.service.RemoteGuestService;
 import org.dromara.hotel.api.service.RemoteTeamService;
-import org.dromara.server.base.util.EncryptorUtil;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.domain.bo.ResourcePerson;
 import org.dromara.server.common.domain.bo.ResourcePersonDept;
 import org.dromara.system.api.RemoteDeptService;
@@ -116,10 +115,6 @@ public class SyncRemoteUserService {
      */
     private R<RemoteUserBo> setUserInfo(ResourcePerson person, RemoteUserVo remoteUserVo) {
         String tenantId = person.getTenantId();
-        // if (StrUtil.isEmpty(tenantId)) {
-        //     tenantId = DefaultConstants.TENANT_ID;
-        //     person.setTenantId(tenantId);
-        // }
         // 获取人员对应的部门信息
         RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptByOtherId(person.getDeptId(), tenantId);
         if (remoteDeptVo == null) {

+ 0 - 109
ruoyi-server/ruoyi-server-common/src/main/java/org/dromara/server/common/constant/DefaultConstants.java

@@ -1,109 +0,0 @@
-package org.dromara.server.common.constant;
-
-/**
- * name: DefaultConstants
- * package: org.dromara.server.common.constant
- * description: 缺省数据常量
- * date: 2024-10-23 19:56:12 19:56
- *
- * @author luoyibo
- * @version 0.1
- * @since JDK 1.8
- */
-public interface DefaultConstants {
-    /**
-     * 教职工岗位编码
-     */
-    String TEACHER_CODE="12";
-    /**
-     * 学员岗位编码
-     */
-    String TRAINEE_CODE="14";
-    /**
-     * 研究生岗位编码
-     */
-    String GRADUATE_CODE="16";
-
-    /**
-     * 租户Id
-     */
-    String TENANT_ID = "20200813044411";
-    /**
-     * 岗位Id
-     */
-    Long POST_ID = 111L;
-
-    /**
-     * 登录密码
-     */
-    String LOGIN_PASSWORD = "dtSchool@2024";
-    /**
-     * 日期格式
-     */
-    String DATE_FORMAT = "yyyy-MM-dd";
-
-    /**
-     * 日期时间格式
-     */
-    String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
-    /**
-     * 时间格式
-     */
-    String TIME_FORMAT = "HH:mm:ss";
-
-    /**
-     * 消费机接收的时间格式
-     */
-    String TERM_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
-    /**
-     * 父部门Id(学校)
-     */
-    Long PARENT_DEPT_ID = 100L;
-
-    /**
-     * 研究生年份父部门Id(研究生部)
-     */
-    Long GRADUATE_PARENT_DEPT_ID = 105L;
-    /**
-     * 培训班年份父部门Id(培训班)
-     */
-    Long TRAIN_PARENT_DEPT_ID = 104L;
-    /**
-     * 部门类型代码
-     */
-    String DEPT_DEPT_TYPE = "03";
-
-    /**
-     * 年份对应部门类型代码
-     */
-    String YEAR_DEPT_TYPE = "04";
-    /**
-     * 培训班级对应部门类型代码
-     */
-    String CLASS_DEPT_TYPE = "05";
-    /**
-     * 研究生班级对应的部门类型代码
-     */
-    String GRADUATE_DEPT_TYPE = "06";
-    /**
-     * 教职工默认角色
-     */
-    Long TEACHER_ROLE_ID = 1833306814969163778L;
-    /**
-     * 学员默认角色
-     */
-    Long TRAIN_ROLE_ID = 1833306897299156993L;
-    /**
-     * 研究生默认角色
-     */
-    Long GRADUATE_ROLE_ID = 1844275170961874946L;
-
-    /**
-     * 全量同步管理员
-     */
-    Long FULL_SYNC_ADMIN = 11L;
-    /**
-     * kafka同步管理员
-     */
-    Long KAFKA_SYNC_ADMIN = 12L;
-}

+ 0 - 1
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/TermBusiness.java

@@ -6,7 +6,6 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.dromara.common.core.domain.R;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.consume.cache.TokenManager;
 import org.dromara.server.consume.domain.vo.XfTermVo;
 import org.dromara.server.consume.domain.vo.yc.RoomInfo;

+ 0 - 1
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/convert/strategy/impl/YcRecordConvertStrategyImpl.java

@@ -6,7 +6,6 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import lombok.extern.slf4j.Slf4j;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
 import org.dromara.server.common.util.CardDateUtils;
 import org.dromara.server.consume.constant.TermSupplierConstants;

+ 0 - 1
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/service/impl/XfTermServiceImpl.java

@@ -13,7 +13,6 @@ import org.dromara.backstage.api.domain.vo.RemotePtRoomVo;
 import org.dromara.common.core.constant.CacheNames;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.redis.utils.RedisUtils;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.consume.domain.XfTerm;
 import org.dromara.server.consume.domain.bo.XfTermBo;
 import org.dromara.server.consume.domain.vo.XfTermVo;

+ 16 - 8
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TeacherUtils.java

@@ -3,7 +3,9 @@ package org.dromara.server.mq.event.kafka.impl.utils;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONObject;
-import org.dromara.server.common.constant.DefaultConstants;
+import org.dromara.common.core.config.DefaultConfig;
+import org.dromara.common.core.constant.DefaultConstants;
+import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
 
@@ -21,6 +23,11 @@ import java.util.List;
  * @since JDK 1.8
  */
 public class TeacherUtils {
+    private static final DefaultConfig defaultConfig;
+
+    static {
+        defaultConfig = SpringUtils.getBean(DefaultConfig.class);
+    }
 
     /**
      * 处理教职工数据
@@ -30,22 +37,23 @@ public class TeacherUtils {
         ResourcePerson person = new ResourcePerson();
         person.setUserId(data.get("employee_id").toString());
         person.setDeptId(data.get("dept_id").toString());
-        person.setPostCode(DefaultConstants.TEACHER_CODE);
         person.setRealName(data.get("name").toString());
         person.setSex(data.get("sex").toString());
         person.setPhone(data.get("mobile_phone").toString());
-        person.setCategory("1");
+
         person.setUserState(data.get("status").toString());
-        if(ObjectUtil.isNotEmpty(data.get("tenant_code").toString())) {
+        if (ObjectUtil.isNotEmpty(data.get("tenant_code"))) {
             person.setTenantId(data.get("tenant_code").toString());
         } else {
-            person.setTenantId(DefaultConstants.TENANT_ID);
+            person.setTenantId(defaultConfig.getTenantId());
         }
+        person.setCategory(DefaultConstants.CATEGORY_TEACHER);
+        person.setPostCode(DefaultConstants.TEACHER_CODE);
         person.setOperatorId(DefaultConstants.KAFKA_SYNC_ADMIN);
-        if(ObjectUtil.isNotEmpty(data.get("one_card_type"))){
+        if (ObjectUtil.isNotEmpty(data.get("one_card_type"))) {
             person.setCardType(data.get("one_card_type").toString());
         }
-        if(ObjectUtil.isNotEmpty(data.get("one_card_lifespan"))){
+        if (ObjectUtil.isNotEmpty(data.get("one_card_lifespan"))) {
             person.setLifespan(DateUtil.parseDate(data.get("one_card_lifespan").toString()));
         }
         resourcePersonList.add(person);
@@ -66,7 +74,7 @@ public class TeacherUtils {
         dept.setDept_id(data.get("dept_id").toString());
         dept.setDept_name(data.get("dept_name").toString());
         dept.setDept_num(data.get("dept_num").toString());
-        dept.setTenantId(DefaultConstants.TENANT_ID);
+        dept.setTenantId(defaultConfig.getTenantId());
         dept.setOperatorId(DefaultConstants.KAFKA_SYNC_ADMIN);
         resourceDeptlist.add(dept);
 

+ 20 - 7
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/utils/TrainUtils.java

@@ -3,8 +3,10 @@ package org.dromara.server.mq.event.kafka.impl.utils;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONObject;
+import org.dromara.common.core.config.DefaultConfig;
+import org.dromara.common.core.constant.DefaultConstants;
 import org.dromara.common.core.enums.TraineeStatusEnum;
-import org.dromara.server.common.constant.DefaultConstants;
+import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
 import org.dromara.server.common.domain.bo.ResourcePersonDept;
@@ -23,7 +25,11 @@ import java.util.List;
  * @since JDK 1.8
  */
 public class TrainUtils {
+    private static final DefaultConfig defaultConfig;
 
+    static {
+        defaultConfig = SpringUtils.getBean(DefaultConfig.class);
+    }
     /**
      * 培训班级处理
      *
@@ -46,9 +52,12 @@ public class TrainUtils {
         dept.setCanEat("1");
         dept.setPlanCount(Integer.valueOf(data.getOrDefault("studentNum", "0").toString()));
         dept.setPayCheck(ObjectUtil.isEmpty(data.get("noPayAllow")) ? "0" : data.get("noPayAllow").toString());
-        //dept.setDept_num("");
         dept.setOperatorId(DefaultConstants.KAFKA_SYNC_ADMIN);
-        dept.setTenantId(data.getStr("tenantId"));
+        if (ObjectUtil.isNotEmpty(data.get("tenantId"))) {
+            dept.setTenantId(data.get("tenantId").toString());
+        } else {
+            dept.setTenantId(defaultConfig.getTenantId());
+        }
         resourceDeptlist.add(dept);
 
         return resourceDeptlist;
@@ -69,11 +78,15 @@ public class TrainUtils {
         person.setSex(stuObj.get("sex").toString());
         person.setPhone(stuObj.get("phone").toString());
         person.setDeptId(stuObj.getStr("currentClassId"));
-        person.setPostCode(DefaultConstants.TRAINEE_CODE);
         person.setIdNumber(stuObj.getStr("idCard"));
-        person.setCategory("2");
+        person.setCategory(DefaultConstants.CATEGORY_TRAINEE);
         person.setOperatorId(DefaultConstants.KAFKA_SYNC_ADMIN);
-        person.setTenantId(data.getStr("tenantId"));
+        person.setPostCode(DefaultConstants.TRAINEE_CODE);
+        if (ObjectUtil.isNotEmpty(data.get("tenantId"))) {
+            person.setTenantId(data.get("tenantId").toString());
+        } else {
+            person.setTenantId(defaultConfig.getTenantId());
+        }
         // 学员班级列表处理
         List<ResourcePersonDept> resourcePersonDeptList = getResourcePersonDeptList(data);
         person.setUserDeptList(resourcePersonDeptList);
@@ -92,7 +105,7 @@ public class TrainUtils {
         personDept.setDeptId(stuClassObj.getStr("classId"));
         // 岗位编码,默认为学员
         personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
-        // 和班级的绑定状态 0-已报名 1-已确认 3-已报到 一卡通按正常状态处理  2-已拒绝 7-已离校 一卡通按删除状态处理
+        // 和班级的绑定状态 状态定义见 TraineeStatusEnum 枚举
         String status = stuClassObj.getStr("status");
         if (ObjectUtil.equals(status, TraineeStatusEnum.REGISTERED.code()) || ObjectUtil.equals(status,TraineeStatusEnum.REPORTED.code())) {
             personDept.setDelFlag("0");

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

@@ -7,10 +7,10 @@ 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.constant.DefaultConstants;
 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;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.constant.SyncResourceConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
@@ -57,8 +57,9 @@ public class SyncGraduateService {
                 dept.setDept_name(list.get(2));
                 dept.setBeginDate(DateUtil.parse(list.get(3), "yyyy-MM-dd HH:mm:ss"));
                 dept.setEndDate(DateUtil.parse(list.get(4), "yyyy-MM-dd HH:mm:ss"));
-                dept.setDelFlag("ZC".equals(list.get(5)) ? "0" : "1");
+                dept.setDelFlag("ZC".equals(list.get(5)) ? "0" : "2");
                 dept.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
+                // TODO 2025-01-11 luoyibo 需要沟通确认是否有此字段,如果有则使用传入的,没有为系统配置的默认值
                 dept.setTenantId(defaultConfig.getTenantId());
                 resourceDeptlist.add(dept);
             }
@@ -120,9 +121,10 @@ public class SyncGraduateService {
             person.setSex(list.get(2));
             person.setPhone(list.get(3));
             person.setDeptId(list.get(5));
-            person.setCategory("3");
+            person.setCategory(DefaultConstants.CATEGORY_GRADUATE);
             person.setPostCode(DefaultConstants.GRADUATE_CODE);
             person.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
+            // TODO 2025-01-11 luoyibo 需要沟通确认是否有此字段,如果有则使用传入的,没有为系统配置的默认值
             person.setTenantId(defaultConfig.getTenantId());
             resourcePersonList.add(person);
         }

+ 5 - 6
ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncHrService.java

@@ -1,15 +1,12 @@
 package org.dromara.server.sync.service;
 
 import cn.hutool.http.HttpRequest;
-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.common.core.constant.DefaultConstants;
 import org.dromara.server.base.service.dept.strategy.SyncDeptStrategyContent;
 import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.constant.SyncResourceConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
@@ -124,6 +121,7 @@ public class SyncHrService {
             dept.setDept_id(list.get(1));
             dept.setDept_name(list.get(2));
             dept.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
+            // TODO 2025-01-11 luoyibo 需要沟通确认是否有此字段,如果有则使用传入的,没有为系统配置的默认值
             dept.setTenantId(defaultConfig.getTenantId());
             resourceDeptlist.add(dept);
         }
@@ -143,15 +141,16 @@ public class SyncHrService {
             ResourcePerson person = new ResourcePerson();
             person.setUserId(list.get(12));
             person.setDeptId(list.get(14));
-            person.setPostCode(DefaultConstants.TEACHER_CODE);
             person.setRealName(list.get(0));
             person.setSex(list.get(1));
             person.setPhone(list.get(3));
             person.setIdNumber(list.get(5));
-            person.setCategory("1");
             person.setRemark("");
             person.setUserState(list.get(16));
+            person.setCategory(DefaultConstants.CATEGORY_TEACHER);
+            person.setPostCode(DefaultConstants.TEACHER_CODE);
             person.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
+            // TODO 2025-01-11 luoyibo 需要沟通确认是否有此字段,如果有则使用传入的,没有为系统配置的默认值
             person.setTenantId(defaultConfig.getTenantId());
             resourcePersonList.add(person);
         }

+ 9 - 7
ruoyi-server/ruoyi-server-sync/src/main/java/org/dromara/server/sync/service/SyncTrainService.java

@@ -8,10 +8,11 @@ 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.constant.DefaultConstants;
+import org.dromara.common.core.enums.TraineeStatusEnum;
 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;
-import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.constant.SyncResourceConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
@@ -550,12 +551,12 @@ public class SyncTrainService {
             personDept.setDeptId(personDeptSr.get(0));
             // 岗位编码,默认为学员
             personDept.setPostCode(DefaultConstants.TRAINEE_CODE);
-            // 和班级的绑定状态 0-已报名 1-已确认 3-已报到 一卡通按正常状态处理  2-已拒绝 7-已离校 一卡通按删除状态处理
+            // 和班级的绑定状态 状态定义见 TraineeStatusEnum 枚举
             String status = personDeptSr.get(2);
-            if(ObjectUtil.equals(status,"2")||ObjectUtil.equals(status,"7")){
-                personDept.setDelFlag("2");
-            } else{
+            if (ObjectUtil.equals(status, TraineeStatusEnum.REGISTERED.code()) || ObjectUtil.equals(status, TraineeStatusEnum.REPORTED.code())) {
                 personDept.setDelFlag("0");
+            } else {
+                personDept.setDelFlag("2");
             }
 
             resourcePersonDeptList.add(personDept);
@@ -579,10 +580,11 @@ public class SyncTrainService {
             person.setSex(list.get(2));
             person.setPhone(list.get(7));
             person.setDeptId(list.get(20));
-            person.setPostCode(DefaultConstants.TRAINEE_CODE);
             person.setIdNumber(list.get(6));
-            person.setCategory("2");
+            person.setCategory(DefaultConstants.CATEGORY_TRAINEE);
+            person.setPostCode(DefaultConstants.TRAINEE_CODE);
             person.setOperatorId(DefaultConstants.FULL_SYNC_ADMIN);
+            // TODO 2024-11-15 luoyibo 这处租户Id原则上是从全量接口获取,暂时设置为默认值
             person.setTenantId(defaultConfig.getTenantId());
             resourcePersonList.add(person);
         }