PrivateController.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.ym.controller;
  2. import com.ym.mec.common.entity.*;
  3. import com.ym.pojo.CustomMessage;
  4. import com.ym.service.MessageService;
  5. import io.rong.messages.TxtMessage;
  6. import io.rong.models.message.GroupMessage;
  7. import io.rong.models.message.PrivateMessage;
  8. import io.rong.models.message.RecallMessage;
  9. import io.rong.models.message.TemplateMessage;
  10. import org.apache.commons.lang.StringEscapeUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.RequestBody;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestMethod;
  15. import org.springframework.web.bind.annotation.RestController;
  16. /**
  17. * Created by weiqinxiao on 2019/2/25.
  18. */
  19. @RestController
  20. @RequestMapping("/private")
  21. public class PrivateController {
  22. @Autowired
  23. MessageService messageService;
  24. @RequestMapping(value = "/send", method = RequestMethod.POST)
  25. public Object send(@RequestBody ImPrivateMessage imPrivateMessage) throws Exception {
  26. PrivateMessage privateMessage = new PrivateMessage();
  27. ImTxtMessage content = (ImTxtMessage)imPrivateMessage.getContent();
  28. TxtMessage txtMessage = new TxtMessage(content.getContent(),content.getExtra());
  29. privateMessage.setContent(txtMessage);
  30. privateMessage.setTargetId(imPrivateMessage.getTargetId());
  31. privateMessage.setSenderId(imPrivateMessage.getSenderId());
  32. privateMessage.setObjectName(imPrivateMessage.getObjectName());
  33. privateMessage.setIsIncludeSender(1);
  34. return messageService.privateSend(privateMessage);
  35. }
  36. @RequestMapping(value = "/sendCustom", method = RequestMethod.POST)
  37. public Object sendCustom(@RequestBody ImGroupMessage imGroupMessage) throws Exception {
  38. GroupMessage groupMessage = new GroupMessage();
  39. ImTxtMessage content = (ImTxtMessage)imGroupMessage.getContent();
  40. CustomMessage customMessage = new CustomMessage(StringEscapeUtils.unescapeJavaScript(content.getContent()),content.getExtra());
  41. customMessage.setTYPE(imGroupMessage.getType());
  42. groupMessage.setContent(customMessage);
  43. groupMessage.setTargetId(imGroupMessage.getTargetId());
  44. groupMessage.setSenderId(imGroupMessage.getSenderId());
  45. groupMessage.setObjectName(imGroupMessage.getType());
  46. return messageService.groupSend(groupMessage);
  47. }
  48. @RequestMapping(value = "/recall", method = RequestMethod.POST)
  49. public Object recall(@RequestBody RecallMessage recallMessage) throws Exception {
  50. return messageService.privateRecall(recallMessage);
  51. }
  52. @RequestMapping(value = "/sendTemplate", method = RequestMethod.POST)
  53. public Object sendTemplate(@RequestBody TemplateMessage templateMessage) throws Exception {
  54. return messageService.privateSendTemplate(templateMessage);
  55. }
  56. }