单聊群聊功能提交

This commit is contained in:
zhongzb
2023-07-30 01:00:52 +08:00
parent d04aeaaabb
commit 05cef16bef
7 changed files with 76 additions and 10 deletions

View File

@@ -30,6 +30,13 @@ public class RoomFriendDao extends ServiceImpl<RoomFriendMapper, RoomFriend> {
.update();
}
public void disableRoom(String key) {
lambdaUpdate()
.eq(RoomFriend::getRoomKey, key)
.set(RoomFriend::getStatus, NormalOrNoEnum.NOT_NORMAL.getStatus())
.update();
}
public List<RoomFriend> listByRoomIds(List<Long> roomIds) {
return lambdaQuery()
.in(RoomFriend::getRoomId, roomIds)

View File

@@ -1,9 +1,12 @@
package com.abin.mallchat.common.chat.domain.entity;
import com.abin.mallchat.common.chat.domain.enums.HotFlagEnum;
import com.abin.mallchat.common.chat.domain.enums.RoomTypeEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -77,4 +80,18 @@ public class Room implements Serializable {
private Date updateTime;
@JsonIgnore
public boolean isHotRoom() {
return HotFlagEnum.of(this.hotFlag) == HotFlagEnum.YES;
}
@JsonIgnore
public boolean isRoomFriend() {
return RoomTypeEnum.of(this.type) == RoomTypeEnum.FRIEND;
}
@JsonIgnore
public boolean isRoomGroup() {
return RoomTypeEnum.of(this.hotFlag) == RoomTypeEnum.GROUP;
}
}

View File

@@ -17,6 +17,12 @@ public interface RoomService {
*/
RoomFriend createFriendRoom(List<Long> uidList);
/**
* 禁用一个单聊房间
*/
void disableFriendRoom(List<Long> uidList);
/**
* 创建一个群聊房间
*/

View File

@@ -59,6 +59,14 @@ public class RoomServiceImpl implements RoomService {
return roomFriend;
}
@Override
public void disableFriendRoom(List<Long> uidList) {
AssertUtil.isNotEmpty(uidList, "房间创建失败,好友数量不对");
AssertUtil.equal(uidList.size(), 2, "房间创建失败,好友数量不对");
String key = ChatAdapter.generateRoomKey(uidList);
roomFriendDao.disableRoom(key);
}
@Override
@Transactional(rollbackFor = Exception.class)
public RoomGroup createGroupRoom(Long uid) {