|
@@ -3,6 +3,7 @@ package cn.org.bjca.trust.java.imserver.im;
|
|
|
|
|
|
import cn.org.bjca.trust.java.imserver.common.SpringUtilsAuTo;
|
|
|
import cn.org.bjca.trust.java.imserver.common.json.GsonImplHelp;
|
|
|
+import cn.org.bjca.trust.java.imserver.entitys.GroupEntity;
|
|
|
import cn.org.bjca.trust.java.imserver.enums.PacketType;
|
|
|
import cn.org.bjca.trust.java.imserver.im.bean.PacketMessage;
|
|
|
import cn.org.bjca.trust.java.imserver.im.msg.ConnectMessage;
|
|
@@ -10,6 +11,7 @@ import cn.org.bjca.trust.java.imserver.im.msg.ConnectedMessage;
|
|
|
import cn.org.bjca.trust.java.imserver.im.msg.msg.SZYXMessage;
|
|
|
import cn.org.bjca.trust.java.imserver.im.msg.msg.SendAckMessage;
|
|
|
import cn.org.bjca.trust.java.imserver.repository.ConnectRepository;
|
|
|
+import cn.org.bjca.trust.java.imserver.repository.GroupRepository;
|
|
|
import cn.org.bjca.trust.java.imserver.repository.MessageRepository;
|
|
|
import cn.org.bjca.trust.java.imserver.repository.UserRepository;
|
|
|
import cn.org.bjca.trust.java.imserver.request.RequestManager;
|
|
@@ -22,6 +24,7 @@ public class ImManager {
|
|
|
|
|
|
private final UserRepository userRepository = SpringUtilsAuTo.getBean(UserRepository.class);
|
|
|
private final MessageRepository messageRepository = SpringUtilsAuTo.getBean(MessageRepository.class);
|
|
|
+ private final GroupRepository groupRepository = SpringUtilsAuTo.getBean(GroupRepository.class);
|
|
|
private final ConnectRepository connectRepository = SpringUtilsAuTo.getBean(ConnectRepository.class);
|
|
|
|
|
|
public static ImManager getInstance() {
|
|
@@ -87,6 +90,17 @@ public class ImManager {
|
|
|
message1.setArrive(true);
|
|
|
message1.setStatus(1);
|
|
|
if (szyxMessage.isGroup()) {
|
|
|
+ for (GroupEntity groupEntity : groupRepository.findAllByAppIdAndGroupIdAndUserIdNot(message1.getAppId(), message1.getGroupID(), message1.getFromClientId())) {
|
|
|
+
|
|
|
+ SZYXMessage message2 = message1.copy();
|
|
|
+ message2.setUserName(groupEntity.getUserId());
|
|
|
+ try {
|
|
|
+ messageRepository.save(message2);
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("--------------" + e.getMessage());
|
|
|
+ }
|
|
|
+ sendPacketMessage(szyxMessage.getPacketType(), message2);
|
|
|
+ }
|
|
|
} else {
|
|
|
message1.setUserName(message1.getToClientId());
|
|
|
try {
|