package org.dromara.system.service.impl; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.system.domain.SysSocial; import org.dromara.system.domain.bo.SysSocialBo; import org.dromara.system.domain.vo.SysSocialVo; import org.dromara.system.mapper.SysSocialMapper; import org.dromara.system.service.ISysSocialService; import org.springframework.stereotype.Service; import java.util.List; /** * 社会化关系Service业务层处理 * * @author thiszhc * @date 2023-06-12 */ @RequiredArgsConstructor @Service public class SysSocialServiceImpl implements ISysSocialService { private final SysSocialMapper baseMapper; /** * 查询社会化关系 */ @Override public SysSocialVo queryById(String id) { return baseMapper.selectVoById(id); } /** * 授权列表 */ @Override public List queryList(SysSocialBo bo) { LambdaQueryWrapper lqw = new LambdaQueryWrapper() .eq(ObjectUtil.isNotNull(bo.getUserId()), SysSocial::getUserId, bo.getUserId()) .eq(StringUtils.isNotBlank(bo.getAuthId()), SysSocial::getAuthId, bo.getAuthId()) .eq(StringUtils.isNotBlank(bo.getSource()), SysSocial::getSource, bo.getSource()); return baseMapper.selectVoList(lqw); } @Override public List queryListByUserId(Long userId) { return baseMapper.selectVoList(new LambdaQueryWrapper().eq(SysSocial::getUserId, userId)); } /** * 新增社会化关系 */ @Override public Boolean insertByBo(SysSocialBo bo) { SysSocial add = MapstructUtils.convert(bo, SysSocial.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { if (add != null) { bo.setId(add.getId()); } else { return false; } } return flag; } /** * 更新社会化关系 */ @Override public Boolean updateByBo(SysSocialBo bo) { SysSocial update = MapstructUtils.convert(bo, SysSocial.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } /** * 保存前的数据校验 */ private void validEntityBeforeSave(SysSocial entity) { //TODO 做一些数据校验,如唯一约束 } /** * 删除社会化关系 */ @Override public Boolean deleteWithValidById(Long id) { return baseMapper.deleteById(id) > 0; } /** * 根据 authId 查询用户信息 * * @param authId 认证id * @return 授权信息 */ @Override public List selectByAuthId(String authId) { return baseMapper.selectVoList(new LambdaQueryWrapper().eq(SysSocial::getAuthId, authId)); } }