|
|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|