Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

luoyb 1 anno fa
parent
commit
e41e50228b

+ 31 - 3
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/cloud/PushDeptEventStrategyImpl.java

@@ -6,7 +6,13 @@ import cn.hutool.json.JSONUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.common.core.config.DefaultConfig;
 import org.dromara.common.core.constant.CloudMqEventConstants;
+import org.dromara.common.core.constant.DefaultConstants;
+import org.dromara.common.core.domain.R;
+import org.dromara.hotel.api.domain.bo.RemoteTeamBo;
+import org.dromara.hotel.api.domain.vo.RemoteTeamVo;
+import org.dromara.hotel.api.service.RemoteTeamService;
 import org.dromara.server.mq.event.kafka.IEventStrategy;
 import org.dromara.system.api.RemoteDeptService;
 import org.dromara.system.api.domain.bo.RemoteDeptBo;
@@ -27,17 +33,39 @@ import org.springframework.stereotype.Service;
 public class PushDeptEventStrategyImpl implements IEventStrategy {
     @DubboReference
     private final RemoteDeptService remoteDeptService;
+    @DubboReference
+    private final RemoteTeamService remoteTeamService;
+    private final DefaultConfig defaultConfig;
 
     @Override
     public void doMsgHandle(JSONObject data) {
         RemoteDeptBo remoteDeptBo = JSONUtil.toBean(data, RemoteDeptBo.class);
-        log.info("[处理云端部门同步请求]-[部门信息:{}]", JSONUtil.toJsonStr(remoteDeptBo));
+        log.info("[云端处理部门同步请求]-[部门信息:{}]", JSONUtil.toJsonStr(remoteDeptBo));
         RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(remoteDeptBo.getDeptId());
-        if(ObjectUtil.isEmpty(remoteDeptVo)){
+        if (ObjectUtil.isEmpty(remoteDeptVo)) {
             remoteDeptService.insertDept(remoteDeptBo);
         } else {
             remoteDeptService.updateDept(remoteDeptBo);
         }
-
+        if (remoteDeptBo.getDeptType().equals(DefaultConstants.CLASS_DEPT_TYPE)) {
+            // 如果部门类型为培训班,则同步到客房的团客
+            RemoteTeamBo remoteTeamBo = new RemoteTeamBo();
+            remoteTeamBo.setId(remoteDeptBo.getDeptId());
+            remoteTeamBo.setName(remoteDeptBo.getDeptName());
+            remoteTeamBo.setStartTime(remoteDeptBo.getBeginDate());
+            remoteTeamBo.setEndTime(remoteDeptBo.getEndDate());
+            remoteTeamBo.setPlanQuantity(100L);
+            remoteTeamBo.setRemark(remoteDeptBo.getDeptName());
+            remoteTeamBo.setOtherId(remoteDeptBo.getOtherId());
+            remoteTeamBo.setTenantId(remoteDeptBo.getTenantId());
+            remoteTeamBo.setOperatorId(ObjectUtil.isEmpty(remoteDeptBo.getCreateBy()) ? remoteDeptBo.getUpdateBy() : remoteDeptBo.getCreateBy());
+            log.info("[云端处理部门至团客]-[团客信息:{}]", JSONUtil.toJsonStr(remoteTeamBo));
+            R<RemoteTeamVo> remoteTeamVo = remoteTeamService.selectTeamByBo(remoteTeamBo);
+            if(R.isSuccess(remoteTeamVo)){
+                remoteTeamService.updateTeamByBo(remoteTeamBo);
+            } else {
+                remoteTeamService.insertTeamByBo(remoteTeamBo);
+            }
+        }
     }
 }

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

@@ -46,45 +46,45 @@ public class SyncTrainService {
      * @return Boolean
      */
     public Boolean syncTrainClass() {
-        HttpRequest req = CreateHttpRequest.createRequest();
-        req.body(getQueryBodyForClass());
-        try (HttpResponse res = req.execute()) {
-            SyncFullDataBo dataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
-            List<ResourceDept> resourceDeptlist = new ArrayList<>();
-            for (List<String> list : dataBo.getResponseParam().getResourceInfos().get(0).getDataInfo()) {
-                ResourceDept dept = convertClassToDept(list);
-                resourceDeptlist.add(dept);
-            }
-            log.info("[全量获取到的培训班级数据]-[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
-            syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
-            return true;
-        } catch (Exception e) {
-            log.error(e.getMessage());
-            throw new ServiceException(e.getMessage());
-        }
+        // HttpRequest req = CreateHttpRequest.createRequest();
+        // req.body(getQueryBodyForClass());
+        // try (HttpResponse res = req.execute()) {
+        //     SyncFullDataBo dataBo = JSONUtil.toBean(res.body(), SyncFullDataBo.class);
+        //     List<ResourceDept> resourceDeptlist = new ArrayList<>();
+        //     for (List<String> list : dataBo.getResponseParam().getResourceInfos().get(0).getDataInfo()) {
+        //         ResourceDept dept = convertClassToDept(list);
+        //         resourceDeptlist.add(dept);
+        //     }
+        //     log.info("[全量获取到的培训班级数据]-[{}]条-[{}]", resourceDeptlist.size(), JSONUtil.toJsonStr(dataBo));
+        //     syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
+        //     return true;
+        // } catch (Exception e) {
+        //     log.error(e.getMessage());
+        //     throw new ServiceException(e.getMessage());
+        // }
 
         // region 模拟测试数据
-        // List<ResourceDept> resourceDeptlist = new ArrayList<>();
-        // ResourceDept dept = new ResourceDept();
-        // resourceDeptlist.add(dept);
-        // dept.setDept_id("1828720861385904129");
-        // dept.setDept_name("2024年秋季学期乡镇长进修班");
-        // dept.setYear(2004);
-        // dept.setSemester("1");
-        //
-        // dept.setPayBegin(DateUtil.parse("2024-08-28 00:00:00"));
-        // dept.setCheckDate(DateUtil.parseDate("2024-08-28 00:00:00"));
-        // dept.setBeginDate(DateUtil.parseDate("2024-08-31 00:00:00"));
-        // dept.setEndDate(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
-        // dept.setPayEnd(DateUtil.parse("2024-09-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
-        // dept.setChooseRoom("0");
-        // dept.setCanEat("1");
-        // dept.setPayCheck("0");
-        // dept.setPlanCount(100);
-        // dept.setDept_num("9");
-        // dept.setTenantId(DefaultConstants.TENANT_ID);
-        // syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
-        // return true
+        List<ResourceDept> resourceDeptlist = new ArrayList<>();
+        ResourceDept dept = new ResourceDept();
+        resourceDeptlist.add(dept);
+        dept.setDept_id("1850785191038996490");
+        dept.setDept_name("双向同步测试培训班");
+        dept.setYear(2025);
+        dept.setSemester("0");
+
+        dept.setPayBegin(DateUtil.parse("205-01-03 00:00:00"));
+        dept.setCheckDate(DateUtil.parseDate("205-01-03 00:00:00"));
+        dept.setBeginDate(DateUtil.parseDate("205-01-04 00:00:00"));
+        dept.setEndDate(DateUtil.parse("205-01-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
+        dept.setPayEnd(DateUtil.parse("205-01-30 00:00:00", "yyyy-MM-dd HH:mm:ss"));
+        dept.setChooseRoom("0");
+        dept.setCanEat("1");
+        dept.setPayCheck("0");
+        dept.setPlanCount(100);
+        dept.setDept_num("9");
+        dept.setTenantId(defaultConfig.getTenantId());
+        syncDeptStrategyContent.syncDept(resourceDeptlist, SyncResourceConstants.TRAIN_CLASS);
+        return true;
         // endregion
 
     }