mq消息接入

This commit is contained in:
zhangchenbiao
2023-06-16 16:09:11 +08:00
parent 4e98eb7c76
commit 4b8631b37d
6 changed files with 60 additions and 4 deletions

View File

@@ -30,7 +30,7 @@ public enum RocketMqGroupEnum {
/**
* 事件消息监听
*/
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE))),
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))),
;

View File

@@ -13,6 +13,7 @@ public enum RocketMqTagEnum {
AUTH_SCOPE_CHANGE("auth_scope_change","授权范围变更"),
USER_EVENT("user_event","钉钉通讯录变更事件"),
DEPT_EVENT("dept_event","部门事件"),
;

View File

@@ -0,0 +1,24 @@
package com.cool.store.dto.dept;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: DepartmentEventDTO
* @Description: 部门事件
* @date 2023-06-16 15:30
*/
@Data
public class DepartmentEventDTO {
@ApiModelProperty("部门id")
private String departmentId;
@ApiModelProperty("是否变更父级节点")
private Boolean isChangeParent;
@ApiModelProperty("事件类型")
private String eventType;
}

View File

@@ -7,6 +7,7 @@ import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.MessageListener;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.buser.UserEventDTO;
import com.cool.store.dto.dept.DepartmentEventDTO;
import com.cool.store.enums.RocketMqTagEnum;
import com.cool.store.service.EnterpriseSyncService;
import com.cool.store.utils.RedisUtilPool;
@@ -45,13 +46,19 @@ public class FeiShuEventListener implements MessageListener {
RocketMqTagEnum tag = RocketMqTagEnum.getByTag(message.getTag());
switch (tag){
case USER_EVENT:
UserEventDTO reqBody = JSONObject.parseObject(text, UserEventDTO.class);
enterpriseSyncService.userUpdateEvent(reqBody);
UserEventDTO userBody = JSONObject.parseObject(text, UserEventDTO.class);
enterpriseSyncService.userUpdateEvent(userBody);
break;
case AUTH_SCOPE_CHANGE:
enterpriseSyncService.syncAll();
break;
case DEPT_EVENT:
DepartmentEventDTO deptBody = JSONObject.parseObject(text, DepartmentEventDTO.class);
enterpriseSyncService.deptUpdateEvent(deptBody);
break;
default:
break;
}
}catch (Exception e){
log.error("DingMsgDealListener consume dealAddressBookChange error",e);
return Action.ReconsumeLater;

View File

@@ -1,6 +1,7 @@
package com.cool.store.service;
import com.cool.store.dto.buser.UserEventDTO;
import com.cool.store.dto.dept.DepartmentEventDTO;
/**
* @author zhangchenbiao
@@ -17,4 +18,10 @@ public interface EnterpriseSyncService {
* @param param
*/
void userUpdateEvent(UserEventDTO param);
/**
* 部门事件
* @param param
*/
void deptUpdateEvent(DepartmentEventDTO param);
}

View File

@@ -1,9 +1,11 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*;
import com.cool.store.dto.buser.UserEventDTO;
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
import com.cool.store.dto.dept.DepartmentEventDTO;
import com.cool.store.dto.enterprise.*;
import com.cool.store.entity.*;
import com.cool.store.enums.DataSourceEnum;
@@ -204,4 +206,19 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
return;
}
}
@Override
public void deptUpdateEvent(DepartmentEventDTO param) {
log.info("部门变更:{}", JSONObject.toJSONString(param));
switch (parseValue(param.getEventType())){
case DEPARTMENT_CREATED:
break;
case DEPARTMENT_UPDATED:
break;
case DEPARTMENT_DELETED:
break;
default:
return;
}
}
}