fix routing key
All checks were successful
Build and Publish / build-release (push) Successful in 1m29s
All checks were successful
Build and Publish / build-release (push) Successful in 1m29s
This commit is contained in:
@@ -9,7 +9,7 @@ defmodule PolicyService.Consumers.QuoteTaskConsumer do
|
||||
|
||||
@exchange "workload_service.events.quote_task_completed"
|
||||
@queue "policy_service.quote_task_consumer"
|
||||
@routing_key "quote_task_completed"
|
||||
@routing_key "quote_task.completed"
|
||||
|
||||
def start_link(opts \\ []), do: GenServer.start_link(__MODULE__, opts, name: __MODULE__)
|
||||
|
||||
@@ -32,6 +32,7 @@ defmodule PolicyService.Consumers.QuoteTaskConsumer do
|
||||
Logger.error("QuoteTaskConsumer failed: #{inspect(reason)}")
|
||||
AMQP.Basic.nack(ch, tag, requeue: false)
|
||||
end
|
||||
|
||||
{:noreply, state}
|
||||
end
|
||||
|
||||
@@ -40,31 +41,63 @@ defmodule PolicyService.Consumers.QuoteTaskConsumer do
|
||||
def handle_info({:basic_cancel_ok, _}, state), do: {:noreply, state}
|
||||
|
||||
defp dispatch(%{
|
||||
"application_id" => %{"org_id" => org_id, "policy_type" => policy_type, "application_id" => app_id},
|
||||
"task_info" => %{"provider_id" => provider_id},
|
||||
"submission" => %{"quote_id" => quote_id, "recorded_by" => recorded_by, "valid_until" => valid_until, "plans" => plans}
|
||||
}) do
|
||||
cmd = case policy_type do
|
||||
"car" -> %CarPolicy.RecordProviderQuote{
|
||||
id: PolicyId.new(org_id, policy_type, app_id),
|
||||
recorded_by: recorded_by || "system",
|
||||
provider_id: provider_id,
|
||||
quote_id: quote_id,
|
||||
valid_until: parse_date(valid_until),
|
||||
plans: Enum.map(plans || [], &%{plan_id: &1["plan_id"], name: &1["name"], premium: &1["premium"], coverage_details: &1["coverage_details"]})
|
||||
}
|
||||
"fire" -> %FirePolicy.RecordProviderQuote{
|
||||
id: PolicyId.new(org_id, policy_type, app_id),
|
||||
recorded_by: recorded_by || "system",
|
||||
provider_id: provider_id,
|
||||
quote_id: quote_id,
|
||||
valid_until: parse_date(valid_until),
|
||||
plans: Enum.map(plans || [], &%{plan_id: &1["plan_id"], name: &1["name"], premium: &1["premium"], coverage_details: &1["coverage_details"]})
|
||||
}
|
||||
end
|
||||
"application_id" => %{
|
||||
"org_id" => org_id,
|
||||
"policy_type" => policy_type,
|
||||
"application_id" => app_id
|
||||
},
|
||||
"task_info" => %{"provider_id" => provider_id},
|
||||
"submission" => %{
|
||||
"quote_id" => quote_id,
|
||||
"recorded_by" => recorded_by,
|
||||
"valid_until" => valid_until,
|
||||
"plans" => plans
|
||||
}
|
||||
}) do
|
||||
cmd =
|
||||
case policy_type do
|
||||
"car" ->
|
||||
%CarPolicy.RecordProviderQuote{
|
||||
id: PolicyId.new(org_id, policy_type, app_id),
|
||||
recorded_by: recorded_by || "system",
|
||||
provider_id: provider_id,
|
||||
quote_id: quote_id,
|
||||
valid_until: parse_date(valid_until),
|
||||
plans:
|
||||
Enum.map(
|
||||
plans || [],
|
||||
&%{
|
||||
plan_id: &1["plan_id"],
|
||||
name: &1["name"],
|
||||
premium: &1["premium"],
|
||||
coverage_details: &1["coverage_details"]
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
"fire" ->
|
||||
%FirePolicy.RecordProviderQuote{
|
||||
id: PolicyId.new(org_id, policy_type, app_id),
|
||||
recorded_by: recorded_by || "system",
|
||||
provider_id: provider_id,
|
||||
quote_id: quote_id,
|
||||
valid_until: parse_date(valid_until),
|
||||
plans:
|
||||
Enum.map(
|
||||
plans || [],
|
||||
&%{
|
||||
plan_id: &1["plan_id"],
|
||||
name: &1["name"],
|
||||
premium: &1["premium"],
|
||||
coverage_details: &1["coverage_details"]
|
||||
}
|
||||
)
|
||||
}
|
||||
end
|
||||
|
||||
CommandedApp.dispatch(cmd, consistency: :strong)
|
||||
end
|
||||
|
||||
defp parse_date(nil), do: nil
|
||||
defp parse_date(s) when is_binary(s), do: Date.from_iso8601(s) |> elem(1)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user