Несколько запросов 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
Сообщение отредактировал All_ex74: 15 Июнь 2014 - 21:44
#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) писал:
Да, для тех у кого подключен шлюз КБ, это необходимо чтобы не возникало вопросов "куда делись мои единицы с баланса, если смс меньше ушло".
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных