package cc.mrbird.febs.auth.service.impl; import cc.mrbird.febs.auth.entity.UserConnection; import cc.mrbird.febs.auth.mapper.UserConnectionMapper; import cc.mrbird.febs.auth.service.UserConnectionService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author MrBird */ @Service @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public class UserConnectionServiceImpl extends ServiceImpl implements UserConnectionService { @Override public UserConnection selectByCondition(String providerName, String providerUserId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(UserConnection::getProviderName, providerName) .eq(UserConnection::getProviderUserId, providerUserId); return this.baseMapper.selectOne(queryWrapper); } @Override public List selectByCondition(String username) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(UserConnection::getUserName, username); return this.baseMapper.selectList(queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public void createUserConnection(UserConnection userConnection) { this.baseMapper.insert(userConnection); } @Override @Transactional(rollbackFor = Exception.class) public void deleteByCondition(String username, String providerName) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(UserConnection::getUserName, username); queryWrapper.eq(UserConnection::getProviderName, providerName); this.remove(queryWrapper); } }