ruby 在不同的插槽中重新分配会议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 在不同的插槽中重新分配会议相关的知识,希望对你有一定的参考价值。

meetings = BusinessConferenceMeeting.where(business_conference_id: 4172).where.not(status: 3).where("start_date = '2018-10-25 11:50:00'").where("end_date = '2018-10-25 12:10:00'")
meetings.each do |meeting|
  host_participant_id = meeting.host_participant_id
  participant_id = meeting.participant_id
  #available_slots = get_available_slots_for_meeting(host_participant_id, participant_id)
  participant = BusinessConferenceParticipant.find(participant_id)
  host_participant = BusinessConferenceParticipant.find(host_participant_id)
  common_agenda = participant.participant_type.agenda.values & host_participant.participant_type.agenda.values

  cnn = ActiveRecord::Base.connection
  unavailable_agenda = cnn.execute("SELECT DISTINCT start_date, end_date FROM 
                      business_conference_meetings WHERE business_conference_id = 4172 AND 
                      ( host_participant_id = #{host_participant_id} OR participant_id = #{host_participant_id} 
                      OR host_participant_id = #{participant_id} OR participant_id = #{participant_id} ) 
                      AND archived = false AND status != 3 order by start_date;").to_a
  available_slots = common_agenda - unavailable_agenda


  available_slots.each do |available_slot|
    meeting.update_columns(status: 3, archived: true)
    r = BusinessConferenceMeeting.add_new(4172, host_participant_id, participant_id, available_slot[0], '', nil, BusinessConferenceMeeting::SOURCE[:admin], true, false)
    break if r[0].present?
  end
end

以上是关于ruby 在不同的插槽中重新分配会议的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中使用插槽和互斥体向量的线程的互斥插槽分配器

ruby 存储前重新分配短URL。短网址用于微博;你永远不应该真的把它们留在身边。

如何在子列表的插槽内分配组件

什么是Amazon Lex内置插槽类型用于描述或注释?

Qt - 使用 lambda 函数修改先前连接信号的插槽参数

在 PySide 中覆盖/重新实现插槽