Browse Source

发送群消息

master
徐勤民 1 year ago
parent
commit
11789d598e
5 changed files with 38 additions and 5 deletions
  1. +22
    -0
      src/main/java/cn/org/bjca/trust/java/imserver/controller/message/v1/MessageV1Controller.java
  2. +14
    -0
      src/main/java/cn/org/bjca/trust/java/imserver/im/ImManager.java
  3. +0
    -1
      src/main/java/cn/org/bjca/trust/java/imserver/im/msg/RequestMessage.java
  4. +1
    -2
      src/main/java/cn/org/bjca/trust/java/imserver/repository/GroupRepository.java
  5. +1
    -2
      src/main/java/cn/org/bjca/trust/java/imserver/request/RequestManager.java

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

@@ -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 View File

@@ -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 View File

@@ -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 View File

@@ -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 View File

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

}

}

Loading…
Cancel
Save