diff --git a/src/Service/MQTTClient.php b/src/Service/MQTTClient.php index 7d580a79..397d73fd 100644 --- a/src/Service/MQTTClient.php +++ b/src/Service/MQTTClient.php @@ -8,6 +8,7 @@ use App\Entity\JobOrder; class MQTTClient { const PREFIX = 'motolite.control.'; + const PREFIX_APIv2 = 'motolite.control.v2.'; const RIDER_PREFIX = 'motorider_'; // protected $mclient; @@ -39,6 +40,9 @@ class MQTTClient //error_log('sending mqtt event: '); //error_log(print_r($payload, true)); + // append jo id to payload + $payload['jo_id'] = $job_order->getID(); + // get all new and legacy mobile sessions $legacy_sessions = $job_order->getCustomer()->getMobileSessions(); @@ -53,12 +57,18 @@ class MQTTClient $sessions = []; foreach ($legacy_sessions as $sess) { error_log("FOUND LEGACY SESSION: " . $sess->getID()); - $sessions[] = $sess; + $sessions[] = [ + 'data' => $sess, + 'legacy' => true, + ]; } foreach ($new_sessions as $sess) { error_log("FOUND NEW SESSION: " . $sess->getID()); - $sessions[] = $sess; + $sessions[] = [ + 'data' => $sess, + 'legacy' => false, + ]; } if (empty($sessions)) @@ -72,8 +82,11 @@ class MQTTClient // send to every customer session foreach ($sessions as $sess) { - $phone_num = $sess->getPhoneNumber(); - $channel = self::PREFIX . $phone_num; + $phone_num = $sess->data->getPhoneNumber(); + + // use appropriate prefix so we have different channel names for new api + $prefix = $sess->legacy ? self::PREFIX : self::PREFIX_APIv2; + $channel = $prefix . $phone_num; error_log("SENDING TO CHANNEL: " . $channel);