xuqm 1 год назад
Родитель
Сommit
11789d598e

+ 22 - 0
src/main/java/cn/org/bjca/trust/java/imserver/controller/message/v1/MessageV1Controller.java

@@ -0,0 +1,22 @@
+package cn.org.bjca.trust.java.imserver.controller.message.v1;
+
+import cn.org.bjca.trust.java.imserver.HttpResult;
+import cn.org.bjca.trust.java.imserver.bean.group.GroupCreateData;
+import cn.org.bjca.trust.java.imserver.common.json.GsonImplHelp;
+import cn.org.bjca.trust.java.imserver.request.RequestManager;
+import org.springframework.http.HttpHeaders;
+import org.springframework.web.bind.annotation.*;
+
+import static cn.org.bjca.trust.java.imserver.request.RequestConstant.Group_create_v1;
+
+@RestController
+@RequestMapping("message/v1")
+public class MessageV1Controller {
+
+    @PostMapping("/getHistory")
+    public HttpResult<String> create(@RequestBody GroupCreateData groupCreateData, @RequestHeader HttpHeaders headers) throws Exception {
+        System.out.println(GsonImplHelp.get().toJson(groupCreateData));
+        return RequestManager.getInstance().request(Group_create_v1, groupCreateData, headers);
+    }
+
+}

+ 14 - 0
src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java

@@ -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 {

+ 0 - 1
src/main/java/cn/org/bjca/trust/java/imserver/im/msg/RequestMessage.java

@@ -7,7 +7,6 @@ import jakarta.persistence.Entity;
 import lombok.Data;
 
 @Data
-@Entity
 public class RequestMessage extends PacketMessage {
     public RequestMessage() {
         super(PacketType.REQUEST);

+ 1 - 2
src/main/java/cn/org/bjca/trust/java/imserver/repository/GroupRepository.java

@@ -10,6 +10,5 @@ import java.util.List;
 @Repository
 public interface GroupRepository extends JpaRepository<GroupEntity, Long> {
 
-    GroupEntity getGroupEntityByGroupIdAndAppId(String groupId, String appId);
-    boolean existsByGroupIdAndAppId(String groupId, String appId);
+    List<GroupEntity> findAllByAppIdAndGroupIdAndUserIdNot(String appId, String groupId, String userId);
 }

+ 1 - 2
src/main/java/cn/org/bjca/trust/java/imserver/request/RequestManager.java

@@ -79,7 +79,7 @@ public class RequestManager {
     }
 
 
-    public HttpResult<String> groupCreate(GroupCreateData data, String appid, String userid) {
+    private HttpResult<String> groupCreate(GroupCreateData data, String appid, String userid) {
         if (null == data.getUserIdList() || data.getUserIdList().isEmpty() || data.getUserIdList().size() < 2) {
             return new HttpResult<>(201, "群组成员需要大于一", "");
         } else {
@@ -104,7 +104,6 @@ public class RequestManager {
     }
 
     public void getHistoryForMsg(String appId, String userId, int pageSize, long timestamp) {
-
     }
 
 }