From: fomichev Date: Mon, 24 Mar 2025 12:57:05 +0000 (+0300) Subject: Веб интерфейс проверки почты X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=6d4c0c5e741060e75c3b907558d002e16f428355;p=erp24_rep%2Fyii-erp24%2F.git Веб интерфейс проверки почты --- diff --git a/erp24/controllers/MarketplaceOrdersController.php b/erp24/controllers/MarketplaceOrdersController.php index d655767a..68dcad27 100644 --- a/erp24/controllers/MarketplaceOrdersController.php +++ b/erp24/controllers/MarketplaceOrdersController.php @@ -2,8 +2,10 @@ namespace app\controllers; + use Yii; use yii\base\Exception; +use yii_app\models\FlowwowOrdersForm; use yii_app\records\MarketplaceOrders; use yii_app\records\MarketplaceOrdersSearch; use yii\web\Controller; @@ -106,6 +108,38 @@ class MarketplaceOrdersController extends Controller ]); } + public function actionGetFlowwowOrders() + { + $model = new FlowwowOrdersForm(); + $result = null; + $progress = []; + + if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post()) && $model->validate()) { + $progress[] = "Запуск обработки писем..."; + + $messages = MarketplaceService::getFlowwowOrdersFromMail( + $model->date, + (bool) $model->since, + (bool) $model->oldMail, + function ($message) use (&$progress) { + $progress[] = $message; + }, + (bool) $model->seen, + (bool) $model->unseen + ); + + $countMessages = count($messages); + $count = MarketplaceService::processMessages($messages); + $result = "Удалось сохранить {$count} новых заказов из {$countMessages} сообщений почты."; + } + + return $this->render('get-flowwow-orders', [ + 'model' => $model, + 'progress' => $progress, + 'result' => $result, + ]); + } + public function actionUpdateToReadyStatus($id) { $model = $this->findModel($id); diff --git a/erp24/models/FlowwowOrdersForm.php b/erp24/models/FlowwowOrdersForm.php new file mode 100644 index 00000000..6f060479 --- /dev/null +++ b/erp24/models/FlowwowOrdersForm.php @@ -0,0 +1,22 @@ + 'php:Y-m-d'], + [['since', 'oldMail', 'seen', 'unseen'], 'boolean'], + ]; + } +} diff --git a/erp24/views/marketplace-orders/get-flowwow-orders.php b/erp24/views/marketplace-orders/get-flowwow-orders.php new file mode 100644 index 00000000..74865b56 --- /dev/null +++ b/erp24/views/marketplace-orders/get-flowwow-orders.php @@ -0,0 +1,43 @@ +title = 'Загрузка заказов Flowwow'; +?> + +

title) ?>

+ + + +field($model, 'date')->textInput(['type' => 'date'])->label('Дата') ?> +field($model, 'since')->checkbox() ?> +field($model, 'oldMail')->checkbox() ?> +field($model, 'seen')->checkbox() ?> +field($model, 'unseen')->checkbox() ?> + +
+ 'btn btn-primary']) ?> +
+ + + + +

Прогресс:

+ + + + +

Результат:

+

+ + + diff --git a/erp24/views/marketplace-orders/index.php b/erp24/views/marketplace-orders/index.php index f454f412..15d75c32 100644 --- a/erp24/views/marketplace-orders/index.php +++ b/erp24/views/marketplace-orders/index.php @@ -27,6 +27,7 @@ YiiAsset::register($this); 'btn btn-success']) ?> 'btn btn-success']) ?> 'btn btn-success']) ?> + 'btn btn-success']) ?>

render('_search', ['model' => $searchModel]); ?>