package com.ym.controller; import com.ym.mec.common.entity.ImMessageDto; import com.ym.mec.common.entity.ImPrivateMessage; import com.ym.mec.common.entity.ImTxtMessage; import com.ym.pojo.NoticeMessage; import com.ym.service.MessageService; import io.rong.messages.FileMessage; import io.rong.messages.ImgMessage; import io.rong.messages.TxtMessage; import io.rong.messages.UserInfo; import io.rong.models.message.PrivateMessage; import io.rong.models.message.RecallMessage; import io.rong.models.message.TemplateMessage; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** * Created by weiqinxiao on 2019/2/25. */ @RestController @RequestMapping("/private") public class PrivateController { @Autowired MessageService messageService; @RequestMapping(value = "/send", method = RequestMethod.POST) public Object send(@RequestBody ImMessageDto imMessageDto) throws Exception { PrivateMessage privateMessage = new PrivateMessage(); String objectName = imMessageDto.getObjectName(); UserInfo userInfo = new UserInfo(); if(imMessageDto.getUserInfo() != null){ BeanUtils.copyProperties(imMessageDto.getUserInfo(),userInfo); } if("RC:ImgMsg".equals(objectName)){ ImgMessage imgMessage = new ImgMessage(imMessageDto.getMessageContent(),imMessageDto.getExtra(),imMessageDto.getFileUrl()); imgMessage.setUser(userInfo); privateMessage.setContent(imgMessage); }else if("RC:FileMsg".equals(objectName)){ FileMessage imgMessage = new FileMessage(imMessageDto.getFileName(),imMessageDto.getFileSize(),imMessageDto.getFileUrl(),imMessageDto.getExtra()); privateMessage.setContent(imgMessage); }else { TxtMessage txtMessage = new TxtMessage(imMessageDto.getMessageContent(),imMessageDto.getExtra()); txtMessage.setUser(userInfo); privateMessage.setContent(txtMessage); } privateMessage.setTargetId(imMessageDto.getTargetIds()); privateMessage.setSenderId(imMessageDto.getSenderId()); privateMessage.setObjectName(imMessageDto.getObjectName()); privateMessage.setIsIncludeSender(1); return messageService.privateSend(privateMessage); } /*@RequestMapping(value = "/sendCustom", method = RequestMethod.POST) public Object sendCustom(@RequestBody ImGroupMessage imGroupMessage) throws Exception { GroupMessage groupMessage = new GroupMessage(); ImTxtMessage content = (ImTxtMessage)imGroupMessage.getContent(); CustomMessage customMessage = new CustomMessage(content.getContent(),content.getExtra()); customMessage.setTYPE(imGroupMessage.getType()); groupMessage.setContent(customMessage); groupMessage.setTargetId(imGroupMessage.getTargetId()); groupMessage.setSenderId(imGroupMessage.getSenderId()); groupMessage.setObjectName(imGroupMessage.getType()); return messageService.groupSend(groupMessage); }*/ @RequestMapping(value = "/recall", method = RequestMethod.POST) public Object recall(@RequestBody RecallMessage recallMessage) throws Exception { return messageService.privateRecall(recallMessage); } @RequestMapping(value = "/sendTemplate", method = RequestMethod.POST) public Object sendTemplate(@RequestBody TemplateMessage templateMessage) throws Exception { return messageService.privateSendTemplate(templateMessage); } }