fix: 官方群公告删除逻辑修复
This commit is contained in:
@@ -43,8 +43,10 @@ import com.hula.core.chat.service.adapter.RoomAdapter;
|
||||
import com.hula.core.chat.service.cache.*;
|
||||
import com.hula.core.chat.service.strategy.msg.AbstractMsgHandler;
|
||||
import com.hula.core.chat.service.strategy.msg.MsgHandlerFactory;
|
||||
import com.hula.core.user.dao.UserBackpackDao;
|
||||
import com.hula.core.user.dao.UserDao;
|
||||
import com.hula.core.user.domain.entity.User;
|
||||
import com.hula.core.user.domain.entity.UserBackpack;
|
||||
import com.hula.core.user.domain.enums.RoleTypeEnum;
|
||||
import com.hula.core.user.domain.enums.WsBaseResp;
|
||||
import com.hula.core.user.domain.vo.req.MergeMessageReq;
|
||||
@@ -77,8 +79,9 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class RoomAppServiceImpl implements RoomAppService {
|
||||
|
||||
private ContactDao contactDao;
|
||||
|
||||
private final UserBackpackDao userBackpackDao;
|
||||
private ContactDao contactDao;
|
||||
private RoomCache roomCache;
|
||||
private RoomGroupCache roomGroupCache;
|
||||
private RoomFriendCache roomFriendCache;
|
||||
@@ -374,7 +377,9 @@ public class RoomAppServiceImpl implements RoomAppService {
|
||||
RoomGroup roomGroup = roomGroupCache.get(resp.getRoomId());
|
||||
GroupMember groupMember = verifyGroupPermissions(uid, roomGroup);
|
||||
|
||||
if(GroupRoleEnum.MEMBER.getType().equals(groupMember.getRole())) {
|
||||
long count = userBackpackDao.countByUidAndItemId(uid, "HuLa项目贡献者专属徽章");
|
||||
|
||||
if(count == 0 && GroupRoleEnum.MEMBER.getType().equals(groupMember.getRole())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.hula.core.user.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hula.core.user.domain.entity.ItemConfig;
|
||||
import com.hula.core.user.mapper.ItemConfigMapper;
|
||||
@@ -22,4 +23,9 @@ public class ItemConfigDao extends ServiceImpl<ItemConfigMapper, ItemConfig> {
|
||||
.eq(ItemConfig::getType, type)
|
||||
.list();
|
||||
}
|
||||
|
||||
public ItemConfig getByDesc(String desc) {
|
||||
return baseMapper.selectOne(new LambdaQueryWrapper<ItemConfig>()
|
||||
.eq(ItemConfig::getDescribe, desc));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hula.common.enums.YesOrNoEnum;
|
||||
import com.hula.core.user.domain.entity.ItemConfig;
|
||||
import com.hula.core.user.domain.entity.UserBackpack;
|
||||
import com.hula.core.user.mapper.UserBackpackMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -20,6 +21,12 @@ import java.util.List;
|
||||
@Service
|
||||
public class UserBackpackDao extends ServiceImpl<UserBackpackMapper, UserBackpack> {
|
||||
|
||||
private final ItemConfigDao itemConfigDao;
|
||||
|
||||
public UserBackpackDao(ItemConfigDao itemConfigDao) {
|
||||
this.itemConfigDao = itemConfigDao;
|
||||
}
|
||||
|
||||
public Integer getCountByValidItemId(Long uid, Long itemId) {
|
||||
return Math.toIntExact(lambdaQuery().eq(UserBackpack::getUid, uid)
|
||||
.eq(UserBackpack::getItemId, itemId)
|
||||
@@ -60,4 +67,12 @@ public class UserBackpackDao extends ServiceImpl<UserBackpackMapper, UserBackpac
|
||||
public UserBackpack getByIdp(String idempotent) {
|
||||
return lambdaQuery().eq(UserBackpack::getIdempotent, idempotent).one();
|
||||
}
|
||||
|
||||
public long countByUidAndItemId(Long uid, String desc) {
|
||||
ItemConfig itemConfig = itemConfigDao.getByDesc(desc);
|
||||
return baseMapper.selectCount(new LambdaQueryWrapper<UserBackpack>()
|
||||
.eq(UserBackpack::getUid, uid)
|
||||
.eq(UserBackpack::getItemId, itemConfig.getId())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user