mq消息接入
This commit is contained in:
@@ -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))),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ public enum RocketMqTagEnum {
|
|||||||
|
|
||||||
AUTH_SCOPE_CHANGE("auth_scope_change","授权范围变更"),
|
AUTH_SCOPE_CHANGE("auth_scope_change","授权范围变更"),
|
||||||
USER_EVENT("user_event","钉钉通讯录变更事件"),
|
USER_EVENT("user_event","钉钉通讯录变更事件"),
|
||||||
|
DEPT_EVENT("dept_event","部门事件"),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import com.aliyun.openservices.ons.api.Message;
|
|||||||
import com.aliyun.openservices.ons.api.MessageListener;
|
import com.aliyun.openservices.ons.api.MessageListener;
|
||||||
import com.cool.store.constants.CommonConstants;
|
import com.cool.store.constants.CommonConstants;
|
||||||
import com.cool.store.dto.buser.UserEventDTO;
|
import com.cool.store.dto.buser.UserEventDTO;
|
||||||
|
import com.cool.store.dto.dept.DepartmentEventDTO;
|
||||||
import com.cool.store.enums.RocketMqTagEnum;
|
import com.cool.store.enums.RocketMqTagEnum;
|
||||||
import com.cool.store.service.EnterpriseSyncService;
|
import com.cool.store.service.EnterpriseSyncService;
|
||||||
import com.cool.store.utils.RedisUtilPool;
|
import com.cool.store.utils.RedisUtilPool;
|
||||||
@@ -45,13 +46,19 @@ public class FeiShuEventListener implements MessageListener {
|
|||||||
RocketMqTagEnum tag = RocketMqTagEnum.getByTag(message.getTag());
|
RocketMqTagEnum tag = RocketMqTagEnum.getByTag(message.getTag());
|
||||||
switch (tag){
|
switch (tag){
|
||||||
case USER_EVENT:
|
case USER_EVENT:
|
||||||
UserEventDTO reqBody = JSONObject.parseObject(text, UserEventDTO.class);
|
UserEventDTO userBody = JSONObject.parseObject(text, UserEventDTO.class);
|
||||||
enterpriseSyncService.userUpdateEvent(reqBody);
|
enterpriseSyncService.userUpdateEvent(userBody);
|
||||||
break;
|
break;
|
||||||
case AUTH_SCOPE_CHANGE:
|
case AUTH_SCOPE_CHANGE:
|
||||||
enterpriseSyncService.syncAll();
|
enterpriseSyncService.syncAll();
|
||||||
|
break;
|
||||||
|
case DEPT_EVENT:
|
||||||
|
DepartmentEventDTO deptBody = JSONObject.parseObject(text, DepartmentEventDTO.class);
|
||||||
|
enterpriseSyncService.deptUpdateEvent(deptBody);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("DingMsgDealListener consume dealAddressBookChange error",e);
|
log.error("DingMsgDealListener consume dealAddressBookChange error",e);
|
||||||
return Action.ReconsumeLater;
|
return Action.ReconsumeLater;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.cool.store.service;
|
package com.cool.store.service;
|
||||||
|
|
||||||
import com.cool.store.dto.buser.UserEventDTO;
|
import com.cool.store.dto.buser.UserEventDTO;
|
||||||
|
import com.cool.store.dto.dept.DepartmentEventDTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zhangchenbiao
|
* @author zhangchenbiao
|
||||||
@@ -17,4 +18,10 @@ public interface EnterpriseSyncService {
|
|||||||
* @param param
|
* @param param
|
||||||
*/
|
*/
|
||||||
void userUpdateEvent(UserEventDTO param);
|
void userUpdateEvent(UserEventDTO param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门事件
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
void deptUpdateEvent(DepartmentEventDTO param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package com.cool.store.service.impl;
|
package com.cool.store.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cool.store.constants.CommonConstants;
|
import com.cool.store.constants.CommonConstants;
|
||||||
import com.cool.store.dao.*;
|
import com.cool.store.dao.*;
|
||||||
import com.cool.store.dto.buser.UserEventDTO;
|
import com.cool.store.dto.buser.UserEventDTO;
|
||||||
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
|
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
|
||||||
|
import com.cool.store.dto.dept.DepartmentEventDTO;
|
||||||
import com.cool.store.dto.enterprise.*;
|
import com.cool.store.dto.enterprise.*;
|
||||||
import com.cool.store.entity.*;
|
import com.cool.store.entity.*;
|
||||||
import com.cool.store.enums.DataSourceEnum;
|
import com.cool.store.enums.DataSourceEnum;
|
||||||
@@ -204,4 +206,19 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
|
|||||||
return;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user