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

学员信息同步问题修复

baiyun 1 год назад
Родитель
Сommit
eb1d25d04a

+ 6 - 2
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/dubbo/RemoteGuestServiceImpl.java

@@ -11,9 +11,14 @@ import org.dromara.common.json.utils.JsonUtils;
 import org.dromara.hotel.api.domain.bo.RemoteGuestBo;
 import org.dromara.hotel.api.domain.vo.RemoteGuestVo;
 import org.dromara.hotel.api.service.RemoteGuestService;
+import org.dromara.hotel.domain.KfGuestTeamR;
 import org.dromara.hotel.domain.bo.KfGuestBo;
+import org.dromara.hotel.domain.bo.KfGuestTeamRBo;
+import org.dromara.hotel.domain.bo.KfTeamBo;
 import org.dromara.hotel.domain.vo.KfGuestVo;
 import org.dromara.hotel.service.IKfGuestService;
+import org.dromara.hotel.service.IKfGuestTeamRService;
+import org.dromara.hotel.service.IKfTeamService;
 import org.springframework.stereotype.Service;
 
 /**
@@ -31,7 +36,6 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor
 public class RemoteGuestServiceImpl implements RemoteGuestService {
     private final IKfGuestService kfGuestService;
-
     /**
      * 增加团客信息
      * @param remoteBo 团客业务对象
@@ -50,7 +54,7 @@ public class RemoteGuestServiceImpl implements RemoteGuestService {
             }
             return R.fail("增加客人信息失败");
         }catch (Exception e){
-            log.error("增加客人信息失败-{}-{}", JsonUtils.toJsonString(remoteBo),e.getMessage());
+            log.error("增加客人信息失败-{}-{}", JsonUtils.toJsonString(remoteBo),e);
             return R.fail("增加客人信息失败");
         }
     }

+ 4 - 7
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/KfGuestServiceImpl.java

@@ -183,9 +183,9 @@ public class KfGuestServiceImpl implements IKfGuestService {
     @Override
     public Boolean updateByBo(KfGuestBo bo) {
         KfGuest update = MapstructUtils.convert(bo, KfGuest.class);
-        if (update != null) {
+        /*if (update != null) {
             validEntityBeforeSave(update);
-        }
+        }*/
         insertGuestTeam(bo);
         return baseMapper.updateById(update) > 0;
     }
@@ -194,14 +194,11 @@ public class KfGuestServiceImpl implements IKfGuestService {
      * 保存前的数据校验
      */
     private void validEntityBeforeSave(KfGuest entity) {
-        // 身份证号、手机号不允许重复
         if (StringUtils.isNotBlank(entity.getIdCard()) || StringUtils.isNotBlank(entity.getPhone())) {
             LambdaQueryWrapper<KfGuest> lqw = Wrappers.lambdaQuery();
-            lqw.and(StringUtils.isNotBlank(entity.getIdCard()),
-                    qw -> qw.eq(KfGuest::getIdCard, entity.getIdCard()).or().eq(KfGuest::getPhone, entity.getPhone()));
-            lqw.ne(entity.getId() != null, KfGuest::getId, entity.getId());
+            lqw.eq(StringUtils.isNoneEmpty(entity.getOtherId()), KfGuest::getOtherId, entity.getOtherId());
             if (baseMapper.selectCount(lqw) > 0) {
-                throw new ServiceException("身份证号或手机号已存在!");
+                throw new ServiceException("客人信息已存在!");
             }
         }
     }

+ 2 - 0
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/user/SyncRemoteUserService.java

@@ -350,6 +350,8 @@ public class SyncRemoteUserService {
                 } else {
                     return remoteGuestService.insertGuestByBo(getBo.getData());
                 }
+
+
             }
             return R.fail(getBo.getMsg());
         } catch (Exception e) {

+ 27 - 0
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/teacher/TeacherUtils.java

@@ -6,6 +6,7 @@ import cn.hutool.json.JSONObject;
 import org.dromara.server.common.constant.DefaultConstants;
 import org.dromara.server.common.domain.bo.ResourceDept;
 import org.dromara.server.common.domain.bo.ResourcePerson;
+import org.dromara.server.common.domain.bo.ResourcePersonDept;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,6 +29,32 @@ public class TeacherUtils {
      * @param data 教职工
      * @return 结果
      */
+    public static List<ResourcePerson> getSyncTrainee(JSONObject data) {
+        List<ResourcePerson> resourcePersonList = new ArrayList<>();
+        ResourcePerson person = new ResourcePerson();
+        JSONObject stuObj = data.getJSONObject("student");
+        person.setUserId(stuObj.getStr("id"));
+        person.setDeptId(stuObj.getStr("currentClassId"));
+        person.setPostCode(DefaultConstants.TRAINEE_CODE);
+        person.setRealName(stuObj.get("name").toString());
+        person.setSex(stuObj.get("sex").toString());
+        person.setPhone(stuObj.get("phone").toString());
+        person.setCategory("2");
+        person.setUserState(stuObj.get("flag").toString());
+        person.setTenantId(data.getStr("tenantId"));
+        person.setOperatorId(DefaultConstants.KAFKA_SYNC_ADMIN);
+        List<ResourcePersonDept> userDeptList = new ArrayList<>();
+        ResourcePersonDept dept = new ResourcePersonDept();
+        dept.setDeptId(stuObj.getStr("currentClassId"));
+        userDeptList.add(dept);
+        person.setUserDeptList(userDeptList);
+        resourcePersonList.add(person);
+        return resourcePersonList;
+    }
+
+    /**
+     * 处理学员数据
+     */
     public static List<ResourcePerson> getSyncTeacher(JSONObject data) {
         List<ResourcePerson> resourcePersonList = new ArrayList<>();
         ResourcePerson person = new ResourcePerson();

+ 11 - 1
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/train/TraineeAddEventStrategyImpl.java

@@ -3,11 +3,19 @@ package org.dromara.server.mq.event.kafka.impl.train;
 import cn.hutool.json.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.server.base.service.user.strategy.SyncUserStrategyContent;
+import org.dromara.server.common.constant.SyncResourceConstants;
+import org.dromara.server.common.domain.bo.ResourcePerson;
 import org.dromara.server.mq.constant.kafka.TeacherEventConstraints;
 import org.dromara.server.mq.constant.kafka.TrainEventConstraints;
 import org.dromara.server.mq.event.kafka.IEventStrategy;
+import org.dromara.server.mq.event.kafka.impl.teacher.TeacherUtils;
+import org.dromara.system.api.RemoteDeptService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * name: TraineeAddEventStrategyImpl
  * package: org.dromara.server.mq.event.kafka.teacher.impl
@@ -22,8 +30,10 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor
 @Service(TrainEventConstraints.TRAINEE_ADD)
 public class TraineeAddEventStrategyImpl implements IEventStrategy {
+    private final SyncUserStrategyContent syncUserStrategyContent;
     @Override
     public void doMsgHandle(JSONObject msg) {
-
+        List<ResourcePerson> resourcePersonList = TeacherUtils.getSyncTrainee(msg);
+        syncUserStrategyContent.syncUser(resourcePersonList, SyncResourceConstants.TRAINEE);
     }
 }