发送群消息
这个提交包含在:
父节点
53a533d121
当前提交
11789d598e
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
@ -7,7 +7,6 @@ import jakarta.persistence.Entity;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Entity
|
||||
public class RequestMessage extends PacketMessage {
|
||||
public RequestMessage() {
|
||||
super(PacketType.REQUEST);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户