package com.gkhy.safePlatform.account.service.baseService.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gkhy.safePlatform.account.entity.schedule.GroupInfo;
|
import com.gkhy.safePlatform.account.entity.schedule.GroupInfoDO;
|
import com.gkhy.safePlatform.account.entity.schedule.GroupMemberInfo;
|
import com.gkhy.safePlatform.account.entity.schedule.GroupMemberInfoDO;
|
import com.gkhy.safePlatform.account.model.query.db.GroupMemberPageDBQuery;
|
import com.gkhy.safePlatform.account.repository.schedule.GroupMemberInfoRepository;
|
import com.gkhy.safePlatform.account.service.baseService.GroupMemberInfoService;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.exception.BusinessException;
|
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Collection;
|
import java.util.List;
|
|
@Service("groupMemberInfoService")
|
public class GroupMemberInfoServiceImpl extends ServiceImpl<GroupMemberInfoRepository, GroupMemberInfo> implements GroupMemberInfoService {
|
|
@Autowired
|
private GroupMemberInfoRepository groupMemberInfoRepository;
|
|
@Override
|
public long countByUserId(Long uid) {
|
if (uid == null) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
return groupMemberInfoRepository.selectCount(new LambdaQueryWrapper<GroupMemberInfo>()
|
// 用户Id = uid
|
.eq(GroupMemberInfo::getUid,uid));
|
}
|
|
|
@Override
|
public void unbindGroupByGroupId(Long groupId) {
|
if (groupId == null) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
// 不考虑返回
|
groupMemberInfoRepository.deleteByGroupId(groupId);
|
}
|
|
@Override
|
public void saveGroupMembers(Collection<GroupMemberInfo> groupMembers) {
|
if (groupMembers == null || groupMembers.size() == 0) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
int i = groupMemberInfoRepository.insertBatch(groupMembers);
|
if (i != groupMembers.size()) {
|
throw new BusinessException(ResultCodes.SERVER_BATCH_ADD_ERROR);
|
}
|
}
|
|
@Override
|
public List<GroupMemberInfoDO> getGroupMembersByGroupId(Long groupId) {
|
if (groupId == null) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
return groupMemberInfoRepository.getGroupMembersByGroupId(groupId);
|
}
|
|
@Override
|
public List<Long> getGroupMembersIdsByGroupId(Long groupId) {
|
if (groupId == null) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
return groupMemberInfoRepository.getGroupMembersIdsByGroupId(groupId);
|
}
|
|
@Override
|
public List<GroupMemberInfo> getGroupMemberInfoByUserId(Long uid) {
|
if (uid == null) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
return groupMemberInfoRepository.getGroupMemberInfoByUserId(uid);
|
}
|
|
@Override
|
public void unbindGroupMembersByUids(Long groupId,Collection<Long> uids) {
|
if (uids == null || uids.size() < 1) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
groupMemberInfoRepository.deleteByGroupIdAndUids(groupId,uids);
|
}
|
|
@Override
|
public List<GroupMemberInfoDO> listGroupMemberDO(Page<GroupMemberInfoDO> page, GroupMemberPageDBQuery dbQuery) {
|
if (page == null || dbQuery == null) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
return groupMemberInfoRepository.listGroupMemberDO(page,dbQuery);
|
}
|
|
@Override
|
public List<GroupInfoDO> listGroupInfoByUserId(Long uid) {
|
if (uid == null) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
return groupMemberInfoRepository.getGroupInfoDOByUserId(uid);
|
}
|
|
@Override
|
public List<GroupInfoDO> listGroupDOByUids(List<Long> uids) {
|
if (uids == null || uids.size() == 0) {
|
throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
|
}
|
return groupMemberInfoRepository.listGroupDOByUids(uids);
|
}
|
}
|