From 1a3a451377d08d1605a4c0af4bb8885fb0a5680a Mon Sep 17 00:00:00 2001 From: hunan Date: Tue, 2 Aug 2022 18:16:09 +0800 Subject: [PATCH] fix: RoomVo id data type error. (int to string) --- .../chat/demo/controller/EventController.java | 7 +++--- .../chat/demo/service/EventService.java | 4 +-- .../chat/demo/service/EventServiceImpl.java | 25 ++++++++----------- .../com/zhangshu/chat/demo/vo/RoomVo.java | 2 +- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/zhangshu/chat/demo/controller/EventController.java b/src/main/java/com/zhangshu/chat/demo/controller/EventController.java index 6b67a1f..924da4c 100644 --- a/src/main/java/com/zhangshu/chat/demo/controller/EventController.java +++ b/src/main/java/com/zhangshu/chat/demo/controller/EventController.java @@ -1,5 +1,6 @@ package com.zhangshu.chat.demo.controller; +import com.zhangshu.chat.demo.dto.AgoraEventDto; import com.zhangshu.chat.demo.dto.CommonResult; import com.zhangshu.chat.demo.service.EventService; import io.swagger.annotations.Api; @@ -23,9 +24,9 @@ public class EventController { @PostMapping("/agora") @ApiOperation(value = "agora") - public CommonResult agora(@RequestBody Map body) { - log.info("事件回调:{}", body); - eventService.agora(body); + public CommonResult agora(@RequestBody AgoraEventDto dto) { + log.info("事件回调:{}", dto); + eventService.agora(dto); return CommonResult.success(); } } diff --git a/src/main/java/com/zhangshu/chat/demo/service/EventService.java b/src/main/java/com/zhangshu/chat/demo/service/EventService.java index 616c1d8..ad696ff 100644 --- a/src/main/java/com/zhangshu/chat/demo/service/EventService.java +++ b/src/main/java/com/zhangshu/chat/demo/service/EventService.java @@ -2,8 +2,6 @@ package com.zhangshu.chat.demo.service; import com.zhangshu.chat.demo.dto.AgoraEventDto; -import java.util.Map; - public interface EventService { - void agora(Map body); + void agora(AgoraEventDto body); } diff --git a/src/main/java/com/zhangshu/chat/demo/service/EventServiceImpl.java b/src/main/java/com/zhangshu/chat/demo/service/EventServiceImpl.java index 7d4b04b..43be70a 100644 --- a/src/main/java/com/zhangshu/chat/demo/service/EventServiceImpl.java +++ b/src/main/java/com/zhangshu/chat/demo/service/EventServiceImpl.java @@ -3,10 +3,10 @@ package com.zhangshu.chat.demo.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import com.zhangshu.chat.demo.config.AgoraProperties; -import com.zhangshu.chat.demo.constant.EAgoraEventType; import com.zhangshu.chat.demo.constant.ERoomUserType; import com.zhangshu.chat.demo.dto.AgoraChannelEventDto; import com.zhangshu.chat.demo.dto.AgoraChannelUserEventDto; +import com.zhangshu.chat.demo.dto.AgoraEventDto; import com.zhangshu.chat.demo.entity.User; import com.zhangshu.chat.demo.mapper.UserMapper; import com.zhangshu.chat.demo.vo.RoomUserVo; @@ -26,29 +26,26 @@ public class EventServiceImpl implements EventService { RoomCache roomCache; @Autowired UserMapper userMapper; - + T mapToBean(Map map, Class targetClass) { return BeanUtil.mapToBean(map, targetClass, false, CopyOptions.create()); } @Override - public void agora(Map body) { - - Object eventTypeObj = body.get("eventType"); - EAgoraEventType eventType = EAgoraEventType.getByType((Integer) eventTypeObj); - switch (eventType) { + public void agora(AgoraEventDto dto) { + switch (dto.getEventType()) { case channel_create: { - AgoraChannelEventDto eventDto = mapToBean(body, AgoraChannelEventDto.class); + AgoraChannelEventDto eventDto = dto.convert(AgoraChannelEventDto.class); roomCache.add(eventDto.getChannelName()); } break; case channel_destroy: { - AgoraChannelEventDto eventDto = mapToBean(body, AgoraChannelEventDto.class); + AgoraChannelEventDto eventDto = dto.convert(AgoraChannelEventDto.class); roomCache.remove(eventDto.getChannelName()); } break; case broadcaster_join_channel: { - AgoraChannelUserEventDto eventDto = mapToBean(body, AgoraChannelUserEventDto.class); + AgoraChannelUserEventDto eventDto = dto.convert(AgoraChannelUserEventDto.class); User user = userMapper.selectById(eventDto.getUid()); if (Objects.isNull(user)) { break; @@ -63,12 +60,12 @@ public class EventServiceImpl implements EventService { break; case broadcaster_leave_channel: case audience_leave_channel: { - AgoraChannelUserEventDto eventDto = mapToBean(body, AgoraChannelUserEventDto.class); + AgoraChannelUserEventDto eventDto = dto.convert(AgoraChannelUserEventDto.class); roomCache.removeUser(eventDto.getChannelName(), eventDto.getUid()); } break; case audience_join_channel: { - AgoraChannelUserEventDto eventDto = mapToBean(body, AgoraChannelUserEventDto.class); + AgoraChannelUserEventDto eventDto = dto.convert(AgoraChannelUserEventDto.class); User user = userMapper.selectById(eventDto.getUid()); if (Objects.isNull(user)) { break; @@ -82,12 +79,12 @@ public class EventServiceImpl implements EventService { } break; case client_role_change_to_audience: { - AgoraChannelUserEventDto eventDto = mapToBean(body, AgoraChannelUserEventDto.class); + AgoraChannelUserEventDto eventDto = dto.convert(AgoraChannelUserEventDto.class); roomCache.changeUserType(eventDto.getChannelName(), eventDto.getUid(), ERoomUserType.audience); } break; case client_role_change_to_broadcaster: { - AgoraChannelUserEventDto eventDto = mapToBean(body, AgoraChannelUserEventDto.class); + AgoraChannelUserEventDto eventDto = dto.convert(AgoraChannelUserEventDto.class); roomCache.changeUserType(eventDto.getChannelName(), eventDto.getUid(), ERoomUserType.broadcaster); } break; diff --git a/src/main/java/com/zhangshu/chat/demo/vo/RoomVo.java b/src/main/java/com/zhangshu/chat/demo/vo/RoomVo.java index d23aa75..3b9f41c 100644 --- a/src/main/java/com/zhangshu/chat/demo/vo/RoomVo.java +++ b/src/main/java/com/zhangshu/chat/demo/vo/RoomVo.java @@ -4,6 +4,6 @@ import lombok.Data; @Data public class RoomVo { - private Long id; + private String id; private String name; }