Use different mqtt channel for apiv2 sessions #730
This commit is contained in:
parent
5f4e6b1ad9
commit
e24174e59e
1 changed files with 17 additions and 4 deletions
|
|
@ -8,6 +8,7 @@ use App\Entity\JobOrder;
|
||||||
class MQTTClient
|
class MQTTClient
|
||||||
{
|
{
|
||||||
const PREFIX = 'motolite.control.';
|
const PREFIX = 'motolite.control.';
|
||||||
|
const PREFIX_APIv2 = 'motolite.control.v2.';
|
||||||
const RIDER_PREFIX = 'motorider_';
|
const RIDER_PREFIX = 'motorider_';
|
||||||
|
|
||||||
// protected $mclient;
|
// protected $mclient;
|
||||||
|
|
@ -39,6 +40,9 @@ class MQTTClient
|
||||||
//error_log('sending mqtt event: ');
|
//error_log('sending mqtt event: ');
|
||||||
//error_log(print_r($payload, true));
|
//error_log(print_r($payload, true));
|
||||||
|
|
||||||
|
// append jo id to payload
|
||||||
|
$payload['jo_id'] = $job_order->getID();
|
||||||
|
|
||||||
// get all new and legacy mobile sessions
|
// get all new and legacy mobile sessions
|
||||||
$legacy_sessions = $job_order->getCustomer()->getMobileSessions();
|
$legacy_sessions = $job_order->getCustomer()->getMobileSessions();
|
||||||
|
|
||||||
|
|
@ -53,12 +57,18 @@ class MQTTClient
|
||||||
$sessions = [];
|
$sessions = [];
|
||||||
foreach ($legacy_sessions as $sess) {
|
foreach ($legacy_sessions as $sess) {
|
||||||
error_log("FOUND LEGACY SESSION: " . $sess->getID());
|
error_log("FOUND LEGACY SESSION: " . $sess->getID());
|
||||||
$sessions[] = $sess;
|
$sessions[] = [
|
||||||
|
'data' => $sess,
|
||||||
|
'legacy' => true,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($new_sessions as $sess) {
|
foreach ($new_sessions as $sess) {
|
||||||
error_log("FOUND NEW SESSION: " . $sess->getID());
|
error_log("FOUND NEW SESSION: " . $sess->getID());
|
||||||
$sessions[] = $sess;
|
$sessions[] = [
|
||||||
|
'data' => $sess,
|
||||||
|
'legacy' => false,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($sessions))
|
if (empty($sessions))
|
||||||
|
|
@ -72,8 +82,11 @@ class MQTTClient
|
||||||
// send to every customer session
|
// send to every customer session
|
||||||
foreach ($sessions as $sess)
|
foreach ($sessions as $sess)
|
||||||
{
|
{
|
||||||
$phone_num = $sess->getPhoneNumber();
|
$phone_num = $sess->data->getPhoneNumber();
|
||||||
$channel = self::PREFIX . $phone_num;
|
|
||||||
|
// 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);
|
error_log("SENDING TO CHANNEL: " . $channel);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue