Несколько запросов sendsms() в одном вычислении
#1
Отправлено 15 Июнь 2014 - 09:07
#3
Отправлено 15 Июнь 2014 - 11:48
wondertalik (15 Июнь 2014 - 10:30) писал:
Можете подправить моё, пожалуйста?:
if ($line['Состояние'] == "Связана") // связана будет тогда только, если...
{
$zvka = data_table(130, "`status`<>'2' AND `f5620`='Исполняемая' AND `f1750`=".$line['ID']); // проверяем на наличие дубля размещаемой заявки
$row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); // делаем выборку по условиям и присваиваем массив значений полей переменной
if (!$zvka)
{
if (!$row)
{
data_update(240, array('f6130'=>0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']); // присваиваем значение 0 полю Флаг по условиям
$row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); // делаем выборку по условиям и присваиваем массив значений полей переменной
}
// создаём запись и копируем значения полей в т. Заявки
$zvka['Город'] = $line['Город']['ID'];
$zvka['Заказчик'] = $line['ID'];
$zvka['Тип услуги'] = $line['Связана по услуге']['ID'];
$zvka['Исполнитель'] = $row['id'];
$zvka['ID'] = insert_query($zvka, "Заявки");
// обновляем Флаг=1 по итогу
data_update(240, array('f6130'=>1), "id=",$row['id']);
}
$tlfn_isp = $row['f3470']; // берём с массива значение поля и присваиваем переменной
$tlfn_zak = str_replace(array('(',')', '-',' '), '', $line['Телефон']); // конвертим значение поля и присваиваем переменной
// формируем запросы на модуль отправки СМС
sendsms("Вами была сформирована заявка номер ".$zvka['ID']." на услугу ".$line['Связана по услуге']['Полное название'].". Тел. вашего исполнителя: 8 ".$tlfn_isp.". Ожидайте ответа.", $tlfn_zak, "ENU"); // СМС заказчику
sendsms("Вы дали согласие на исполнение заявки номер ".$zvka['ID']." по услуге ".$line['Связана по услуге']['Полное название'].". Для уточнения условий исполнения свяжитесь с заказчиком по тел. 8 ".$tlfn_zak.".", $tlfn_isp, "ENU"); // СМС исполнителю
}
#4
Отправлено 15 Июнь 2014 - 12:14
All_ex74 (15 Июнь 2014 - 11:48) писал:
if($line['Состояние'] == "Связана") // связана будет тогда только, если...
{
$zvka = data_table(130, "`status`<>'2' AND `f5620`='Исполняемая' AND `f1750`=" . $line['ID']); // проверяем на наличие дубля размещаемой заявки
$row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); // делаем выборку по условиям и присваиваем массив значений полей переменной
if(!$zvka) {
if(!$row) {
data_update(240, array('f6130' => 0), "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID']); // присваиваем значение 0 полю Флаг по условиям
$row = data_select_array(240, "`status`=0 AND `f3450`=", $line['Город']['ID'], " AND `f4690`=", $line['Связана по услуге']['ID'], " AND `f3530`='Свободна' AND `f6130`='0'"); // делаем выборку по условиям и присваиваем массив значений полей переменной
}
// создаём запись и копируем значения полей в т. Заявки
$zvka['Город'] = $line['Город']['ID'];
$zvka['Заказчик'] = $line['ID'];
$zvka['Тип услуги'] = $line['Связана по услуге']['ID'];
$zvka['Исполнитель'] = $row['id'];
$zvka['ID'] = insert_query($zvka, "Заявки");
// обновляем Флаг=1 по итогу
data_update(240, array('f6130' => 1), "id=", $row['id']);
}
$tlfn_isp = $row['f3470']; // берём с массива значение поля и присваиваем переменной
$tlfn_zak = str_replace(array('(', ')', '-', ' '), '', $line['Телефон']); // конвертим значение поля и присваиваем переменной
// формируем запросы на модуль отправки СМС
//Количество повторов
$countCycle = 1;
for($i = 0; $i < $countCycle; $i++) {
sendsms("Вами была сформирована заявка номер " . $zvka['ID'] . " на услугу " . $line['Связана по услуге']['Полное название'] . ". Тел. вашего исполнителя: 8 " . $tlfn_isp . ". Ожидайте ответа.", $tlfn_zak, "ENU"); // СМС заказчику
sendsms("Вы дали согласие на исполнение заявки номер " . $zvka['ID'] . " по услуге " . $line['Связана по услуге']['Полное название'] . ". Для уточнения условий исполнения свяжитесь с заказчиком по тел. 8 " . $tlfn_zak . ".", $tlfn_isp, "ENU"); // СМС исполнителю
}
}
#5
Отправлено 15 Июнь 2014 - 16:07
#7
Отправлено 15 Июнь 2014 - 21:43
#8
Отправлено 15 Июнь 2014 - 21:48
#9
Отправлено 16 Июнь 2014 - 08:24
wondertalik (15 Июнь 2014 - 21:48) писал:
Мне нужно отправлять одним вычислением 2 СМС - одну заказчику, другую исполнителю. А значит формировать для каждой отправки свой запрос, но отрабатывать каждый из запросов только один раз. И еще одно "но"- в архиве отправки видно, что первый запрос послал 2 СМС, а второй - 3 СМС. У меня прямой канал доставки СМС сообщений и стоимость отправки в три раза дороже, чем общий канал. Так разориться можно) Тем более, что гарантированная доставка СМС по прямому каналу не требует дублирования отправки...
Сообщение отредактировал All_ex74: 16 Июнь 2014 - 08:29
#10
Отправлено 16 Июнь 2014 - 08:43
Цитата
То, что вы обвели в скриншоте, это не несколько СМС, это количество списанных единиц с вашего баланса. Оно зависит от длины СМС. Чем длиннее - тем больше списывается.
http://clientbase.ru/buy/sms/
Цитата
- при длине СМС до 70 символов - 1 ед. баланса;
- при длине СМС от 71 до 134 символов - 2 ед. баланса;
- при длине СМС от 135 до 201 символа - 3 ед. баланса;
- при длине СМС от 202 символов - 4 ед. + по 1 ед. баланса за каждые последующие 67 символов.
#11
Отправлено 16 Июнь 2014 - 08:50
CbCoder (16 Июнь 2014 - 08:43) писал:
Странно, смысл в обсчёте списанных единиц, если отправка идёт через сторонний шлюз? Понятно - Отправлено "три составляющих части" одной СМС. Это просто для наглядности выводится?
Сообщение отредактировал All_ex74: 16 Июнь 2014 - 08:55
#12
Отправлено 16 Июнь 2014 - 08:59
All_ex74 (16 Июнь 2014 - 08:50) писал:
Забыл что у вас сторонний шлюз подключен. В этом случае действительно смысла нет, можно просто не обращать внимание на колонку.
All_ex74 (16 Июнь 2014 - 08:50) писал:
Да, для тех у кого подключен шлюз КБ, это необходимо чтобы не возникало вопросов "куда делись мои единицы с баланса, если смс меньше ушло".
Количество пользователей, читающих эту тему: 7
0 пользователей, 7 гостей, 0 анонимных













