GroupServiceImpl.java 5.9 KB

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