|
|
@@ -5,7 +5,6 @@ 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.DefaultConstants;
|
|
|
import org.dromara.common.core.domain.R;
|
|
|
import org.dromara.common.message.kafka.constant.EventSenderConstants;
|
|
|
@@ -15,8 +14,11 @@ import org.dromara.hotel.api.domain.vo.RemoteTeamVo;
|
|
|
import org.dromara.hotel.api.service.RemoteTeamService;
|
|
|
import org.dromara.server.mq.event.kafka.IYktEventStrategy;
|
|
|
import org.dromara.system.api.RemoteDeptService;
|
|
|
+import org.dromara.system.api.RemoteUserService;
|
|
|
import org.dromara.system.api.domain.bo.RemoteDeptBo;
|
|
|
+import org.dromara.system.api.domain.bo.RemoteUserBo;
|
|
|
import org.dromara.system.api.domain.vo.RemoteDeptVo;
|
|
|
+import org.dromara.system.api.domain.vo.RemoteUserVo;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
/**
|
|
|
@@ -35,70 +37,52 @@ public class PushDeptEventStrategyImpl implements IYktEventStrategy {
|
|
|
private final RemoteDeptService remoteDeptService;
|
|
|
@DubboReference
|
|
|
private final RemoteTeamService remoteTeamService;
|
|
|
-
|
|
|
- //@Override
|
|
|
- //public void doMsgHandle(JSONObject data) {
|
|
|
- // RemoteDeptBo remoteDeptBo = JSONUtil.toBean(data, RemoteDeptBo.class);
|
|
|
- // log.info("[处理云端->本地部门同步请求]-[部门信息:{}]", JSONUtil.toJsonStr(remoteDeptBo));
|
|
|
- // RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(remoteDeptBo.getDeptId());
|
|
|
- // 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);
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
+ @DubboReference
|
|
|
+ private final RemoteUserService remoteUserService;
|
|
|
|
|
|
@Override
|
|
|
public void doMsgHandle(String eventType, Object msg) throws Exception {
|
|
|
- if (eventType.equals(EventTypeConstants.DEPT)) {
|
|
|
- RemoteDeptBo remoteDeptBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteDeptBo.class);
|
|
|
- log.info("[处理云端->本地部门同步请求]-[部门信息:{}]", JSONUtil.toJsonStr(remoteDeptBo));
|
|
|
- RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(remoteDeptBo.getDeptId());
|
|
|
- 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);
|
|
|
+ switch (eventType) {
|
|
|
+ case EventTypeConstants.DEPT:
|
|
|
+ RemoteDeptBo remoteDeptBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteDeptBo.class);
|
|
|
+ log.info("[处理云端->本地部门同步请求]-[部门信息:{}]", JSONUtil.toJsonStr(remoteDeptBo));
|
|
|
+ RemoteDeptVo remoteDeptVo = remoteDeptService.selectDeptById(remoteDeptBo.getDeptId());
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case EventTypeConstants.USER:
|
|
|
+ RemoteUserBo remoteBo = JSONUtil.toBean(JSONUtil.parseObj(msg), RemoteUserBo.class);
|
|
|
+ log.info("[处理云端->本地用户同步请求]-[用户信息:{}]", JSONUtil.toJsonStr(remoteBo));
|
|
|
+ RemoteUserVo remoteVo = remoteUserService.selectUserById(remoteBo.getUserId());
|
|
|
+ if (ObjectUtil.isEmpty(remoteVo)) {
|
|
|
+ remoteUserService.insertUser(remoteBo);
|
|
|
} else {
|
|
|
- remoteTeamService.insertTeamByBo(remoteTeamBo);
|
|
|
+ remoteUserService.updateUser(remoteBo);
|
|
|
}
|
|
|
- }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|