GroupServiceImpl.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package com.ym.service.Impl;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.ym.mec.biz.dal.dao.ClassGroupDao;
  4. import com.ym.mec.common.entity.ImGroupModel;
  5. import com.ym.service.GroupService;
  6. import io.rong.RongCloud;
  7. import io.rong.methods.conversation.Conversation;
  8. import io.rong.methods.group.Group;
  9. import io.rong.methods.group.mute.MuteAllMembers;
  10. import io.rong.methods.group.mute.MuteMembers;
  11. import io.rong.methods.group.mute.whitelist.User;
  12. import io.rong.models.Result;
  13. import io.rong.models.conversation.ConversationModel;
  14. import io.rong.models.group.GroupModel;
  15. import io.rong.models.group.UserGroup;
  16. import lombok.extern.slf4j.Slf4j;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.beans.factory.annotation.Value;
  19. import org.springframework.stereotype.Service;
  20. import java.util.List;
  21. @Slf4j
  22. @Service
  23. public class GroupServiceImpl implements GroupService {
  24. @Value("${cn.rongcloud.im.appkey}")
  25. private String appKey;
  26. @Value("${cn.rongcloud.im.secret}")
  27. private String appSecret;
  28. @Autowired
  29. private ClassGroupDao classGroupDao;
  30. private Group getGroup(){
  31. RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
  32. return new Group(appKey,appSecret,rongCloud);
  33. }
  34. private MuteMembers getMuteMembers(){
  35. RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
  36. return new MuteMembers(appKey,appSecret,rongCloud);
  37. }
  38. private MuteAllMembers getMuteAllMembers(){
  39. RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
  40. return new MuteAllMembers(appKey,appSecret,rongCloud);
  41. }
  42. private User getUser(){
  43. RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
  44. return new User(appKey,appSecret,rongCloud);
  45. }
  46. private Conversation getConversation(){
  47. RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
  48. Conversation conversation = new Conversation(appKey, appSecret);
  49. conversation.setRongCloud(rongCloud);
  50. return conversation;
  51. }
  52. @Override
  53. public Result groupSync(UserGroup userGroup) throws Exception {
  54. return getGroup().sync(userGroup);
  55. }
  56. @Override
  57. public Result groupCreate(GroupModel groupModel) throws Exception {
  58. return getGroup().create(groupModel);
  59. }
  60. @Override
  61. public Result groupGet(GroupModel groupModel) throws Exception {
  62. return getGroup().get(groupModel);
  63. }
  64. @Override
  65. public Result groupUpdate(GroupModel groupModel) throws Exception {
  66. return getGroup().update(groupModel);
  67. }
  68. @Override
  69. public Result groupJoin(GroupModel groupModel) throws Exception {
  70. return getGroup().join(groupModel);
  71. }
  72. @Override
  73. public Result groupQuit(GroupModel groupModel) throws Exception {
  74. return getGroup().quit(groupModel);
  75. }
  76. @Override
  77. public Result groupDismiss(GroupModel groupModel) throws Exception {
  78. return getGroup().dismiss(groupModel);
  79. }
  80. @Override
  81. public Result muteMembersAdd(GroupModel groupModel) throws Exception {
  82. return getMuteMembers().add(groupModel);
  83. }
  84. @Override
  85. public Result muteMembersRemove(GroupModel groupModel) throws Exception {
  86. return getMuteMembers().remove(groupModel);
  87. }
  88. @Override
  89. public Result muteMembersGetList(String groupId) throws Exception {
  90. return getMuteMembers().getList(groupId);
  91. }
  92. @Override
  93. public Result muteAllMembersAdd(String[] groupIds) throws Exception {
  94. return getMuteAllMembers().add(groupIds);
  95. }
  96. @Override
  97. public Result muteAllMembersRemove(String[] groupIds) throws Exception {
  98. return getMuteAllMembers().remove(groupIds);
  99. }
  100. @Override
  101. public Result muteAllMembersGetList() throws Exception {
  102. return getMuteAllMembers().getList();
  103. }
  104. @Override
  105. public Result muteWhiteAdd(GroupModel groupModel) throws Exception {
  106. return getUser().add(groupModel);
  107. }
  108. @Override
  109. public Result muteWhiteRemove(GroupModel groupModel) throws Exception {
  110. return getUser().remove(groupModel);
  111. }
  112. @Override
  113. public Result muteWhiteGetList(String groupId) throws Exception {
  114. return getUser().getList(groupId);
  115. }
  116. @Override
  117. public Result conversationMute(ConversationModel conversationModel) throws Exception {
  118. return getConversation().mute(conversationModel);
  119. }
  120. @Override
  121. public Result conversationUnmute(ConversationModel conversationModel) throws Exception {
  122. return getConversation().unMute(conversationModel);
  123. }
  124. @Override
  125. public Result conversationGet(ConversationModel conversationModel) throws Exception {
  126. return getConversation().get(conversationModel);
  127. }
  128. @Override
  129. public Result batchCreate() {
  130. List<ImGroupModel> studentGroup = classGroupDao.queryStudentGroup();
  131. List<ImGroupModel> teacherGroup = classGroupDao.queryTeacherGroup();
  132. studentGroup.addAll(teacherGroup);
  133. List<GroupModel> groupModels1 = JSONObject.parseArray(JSONObject.toJSONString(studentGroup), GroupModel.class);
  134. groupModels1.forEach(e->{
  135. try {
  136. getGroup().join(e);
  137. } catch (Exception e1) {
  138. e1.printStackTrace();
  139. }
  140. });
  141. return null;
  142. }
  143. }