Бюджет: 500 UAH Срок: 1 день
Здравствуйте. Готов сразу предложить кусок кода для решения задачи
Добрый день! Нужна помощь дописать скрипт. Скрипт работает, формирует заказ в нужном формате.
Сейчас создается новая БД и нужно добавить кусок кода. Когда скрипт не находит товар в существующей(старой ь базе обмена
if ($good) $goodID=$good->id; , нужно дописать поиск в другой таблице (ищем по idwp из заказа woocomers) сравниваем в новой таблице по ID и возвращаем значение из колонки goodID)
Т.е скрипт сначала делает поиск в одной таблице, если не находит, ищет в другой и подставляет значение.
Сделаем по удаленке.
<?php
use Automattic\WooCommerce\Client;
set_error_handler("exception_error_handler");
try{
require_once 'Lib.php';
require_once 'Setting.php';
require_once 'WooCommerce/Client.php';
require_once 'OrderList.php';
require_once 'VariationList.php';
require_once 'PreventRepeatExec.php';
if(!$teFile=firstExec('TestExec.txt')) { echo "Process allredy run"; return;}
require_once 'ConnectDB.php';
$orderDB=new OrderList($dbConnect);
$goodList=new VariationList($dbConnect);
$lastOrderDate=$orderDB->getLastOrderDate();
$woocommerce = new Client( wpApiURL, wpApiUserKey, wpApiSecretKey,
array('wp_api' => true, 'version' => 'wc/v2' ));
// Доделать фильтр заказов по дате или постатусу
$wpParam=['after'=>date('Y-m-d\TH:i:s',$lastOrderDate-3600*24),
'page'=>1,
// 'per_page'=>3
// 'status'=>?
];
$orderCount=0;
for($pageN=0; count($orderList=$woocommerce->get('orders',$wpParam))>0 ;$pageN++)
{
foreach($orderList as $order)
{
//if ($orderDB->orderPresentInDb($order)) continue;
if (!$orderDB->addOrderToDB($order)) continue;
WriteOrderToFile($order);
$orderCount++;
}
$wpParam['page']=$pageN+2;
}
LogEvent('Order Export Complete. Precessed '.$orderCount.' intems.');
}catch(Exception $ex){
LogError("Error in ExportOrder.php. File:".$ex->getFile()." line:".$ex->getLine().". ".$ex->getMessage());
}
endExcec($teFile);
return;
// END OF MAIN()
function fWriteLine($file, $str)
{
return fputs($file,iconv('UTF-8','windows-1251',$str."\n"));
}
function exception_error_handler($severity, $message, $file, $line) {
if (!(error_reporting() & $severity)) {
// Этот код ошибки не входит в error_reporting
return;
}
throw new ErrorException($message, 0, $severity, $file, $line);
}
function WriteOrderToFile(stdClass $order)
{ global $goodList;
$fName=pathOrderExport.'/'.$order->id.'_'.$order->date_created_gmt.'.sal';
$fName=str_replace(':','-',$fName);
$file=fopen($fName,'w');
if (!$file) throw new Exception('Error on create .sal file.');
$docDate=MysqlTimestampToDateTime($order->date_created);
fWriteLine($file, '[Client]');
fWriteLine($file, 'Name='.@$order->billing->last_name.' '.@$order->billing->first_name);
fWriteLine($file, 'MPhone='.@$order->billing->phone);
fWriteLine($file, 'CPhone=');
fWriteLine($file, 'ZIP='.@$order->billing->postcode);
fWriteLine($file, 'Country='.@$order->billing->country);
fWriteLine($file, 'Region='.@$order->billing->state);
fWriteLine($file, 'City='.@$order->billing->city);
fWriteLine($file, 'Address='.@$order->billing->address_1.', '.@$order->billing->address_2);
fWriteLine($file, 'EMail='.@$order->billing->email);
fWriteLine($file, '');
fWriteLine($file, '[Options]');
fWriteLine($file, 'SaleType=1'); //?????
fWriteLine($file, 'Comment='.@$order->customer_note);
fWriteLine($file, 'OrderNumber='.$order->number); //????
fWriteLine($file, 'DeliveryCondition='.@$order->shipping_lines[0]->method_title);//????
fWriteLine($file, 'ReserveDate='.date('dmY',$docDate)); //????
// fWriteLine($file, 'BonusPay=0.00');//????
// fWriteLine($file, 'GiftCertificate=');//????
fWriteLine($file, 'OrderDate='.date('Y-m-d H:i:s',$docDate));
fWriteLine($file, '');
$i=0;
foreach($order->line_items as $item)
{
$i++;
$good=$goodList->getByIdWP($item->variation_id);
if ($good) $goodID=$good->id;
else $goodID=0;
fWriteLine($file, '['.$i.']');
fWriteLine($file, 'GoodID='.$goodID);
fWriteLine($file, 'Price='.currToStr($item->price));
fWriteLine($file, 'Count='.$item->quantity);
fWriteLine($file, '');
}
fclose($file);
}
?>
Бюджет: 500 UAH Срок: 1 день
Здравствуйте. Готов сразу предложить кусок кода для решения задачи
Глубокое описание проекта 1. Исполнительное резюме Hrafi — это цифровая платформа по запросу, созданная для того, чтобы соединить марокканских потребителей и местных специалистов по услугам (Hrafiyin). Вдохновленная американскими платформами, такими как Thumbtack, Hrafi меняет способ, которым в Марокко заказываются услуги по обслуживанию дома и квалифицированные услуги, заменяя ненадежные слухи прозрачной, надежной и эффективной мобильной платформой. 2. Проблема Для клиентов: Найти надежных, квалифицированных мастеров (сантехников, электриков, маляров) в марокканских городах занимает много времени. Прозрачности цен нет, качество непредсказуемо, а безопасность/доверие остается основной проблемой. Для специалистов по услугам: Квалифицированные работники сильно зависят от неформальных сетей или физических мест сбора (mawqif). У них нет современных инструментов для создания стабильной клиентской базы, отслеживания доходов или демонстрации своего портфолио работ.
Разработка MVP платформы онлайн-репетиторства (аналог Preply) для рынка ЛитвыОписание проекта:Ищем команду разработчиков или отдельных специалистов (Full-stack / Backend / Frontend / UI-UX) для создания двустороннего маркетплейса онлайн-обучения под литовский рынок.Цель проекта — запустить веб-платформу, которая свяжет учеников с репетиторами-фрилансерами для проведения индивидуальных уроков в реальном времени.Основной функционал MVP: Кабинет репетитора: Профиль с видео-визиткой, загрузка дипломов, настройка расписания (календарь) и цен за час. Кабинет ученика: Поиск по фильтрам (предмет, цена, язык, рейтинг), покупка уроков, личный календарь занятий. Поиск и фильтрация: Умный подбор преподавателей с системой отзывов и оценок. Виртуальный класс: Интеграция видеосвязи (WebRTC, Zoom или аналоги), встроенный чат и обмен файлами. Платежная система: Безопасная сделка (Escrow). Заморозка денег и выплата фрилансеру после подтверждения урока. Нужна интеграция Stripe / Paysera.
Добрый день Необходимо создать модуль, который будет работать с БД Firebird на C++ для продажи товаров. Есть примеры готовых решений и описание функционала модуля. Основные функции: авторизация, выбор товара на экране из групп/подгрупп, переход в корзину, оплата картой и печать чека. Программа должна работать на Windows 10 и выше, использовать существующую базу данных.
Написать и создать мобильное приложение. Нужен творческий и высокопрофиссиональный подход, так как идея приложения не обычная)