I have worker code that looks like this:

    class VerificationWorker
      include Sidekiq::Worker
    
      def perform(panel_id)
        members = MembersAPI.members.fetch
    
        members.each do |member|
          survey = Survey.find_by(number: member.data_number)
          next if survey.nil?
    
          if survey.id != member.data['survey_id']
            survey.fail!('survey_id does not match')
            next
          end
    
          survey.recipient_id = member.id if survey.recipient_id.blank?
          survey.recipient_id == member.id ? survey.verify! : survey.fail_panel!('recipient_id does not match member id')
        end
      end
    end

What do You think about this code? Is it good enough?