4 changed files with 62 additions and 0 deletions
@ -0,0 +1,45 @@ |
|||
package com.ccsens.game.service; |
|||
|
|||
|
|||
import com.ccsens.game.bean.dto.message.BaseMessageDto; |
|||
import com.ccsens.game.bean.dto.message.ChromeMessageDto; |
|||
import com.ccsens.game.bean.dto.message.GameMessageWithChangeStatusOut; |
|||
import com.ccsens.util.JacksonUtil; |
|||
import com.ccsens.util.WebConstant; |
|||
import com.ccsens.util.config.RabbitMQConfig; |
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.amqp.rabbit.annotation.RabbitHandler; |
|||
import org.springframework.amqp.rabbit.annotation.RabbitListener; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
|
|||
@Component |
|||
@RabbitListener(queues = RabbitMQConfig.GAME_STATUS) |
|||
public class RabbitMQListener { |
|||
private Logger logger = LoggerFactory.getLogger(RabbitMQListener.class); |
|||
@Autowired |
|||
private IMessageService messageService; |
|||
|
|||
@RabbitHandler |
|||
public void process(String messageJson) { |
|||
try { |
|||
System.out.println("Rabbit Received: " + messageJson); |
|||
BaseMessageDto baseMessage = JacksonUtil.jsonToBean(messageJson,BaseMessageDto.class); |
|||
WebConstant.Message_Type type = WebConstant.Message_Type.phaseOf(baseMessage.getType()); |
|||
switch (type){ |
|||
case ChangeStatus: |
|||
messageService.doChangeStatusMessage(JacksonUtil.jsonToBean(messageJson, GameMessageWithChangeStatusOut.class)); |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
}catch (Exception e){ |
|||
e.printStackTrace(); |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
} |
Loading…
Reference in new issue