Procházet zdrojové kódy

Refactoring cron process commande

Déclenchement des paiements des commandes juste avant d'envoyer le récap au producteur de manière à ce qu'il ait les bonnes infos relatives au crédit pain du client.
refactoring
keun před 6 roky
rodič
revize
800deebd2e
2 změnil soubory, kde provedl 34 přidání a 29 odebrání
  1. +33
    -29
      backend/controllers/CronController.php
  2. +1
    -0
      common/models/Commande.php

+ 33
- 29
backend/controllers/CronController.php Zobrazit soubor

@@ -158,7 +158,7 @@ class CronController extends BackendController {
}
}

public function actionSendCommandes($key = '') {
public function actionProcessCommandes($key = '') {
if ($key == '64ac0bdab7e9f5e48c4d991ec5201d57') {
$heure = date('H');

@@ -178,6 +178,38 @@ class CronController extends BackendController {
]);

if ($production && $heure == $e['heure_limite_commande']) {
/*
* Paiement des commandes (paiement automatique)
*/
$commandes = Commande::find()
->with('commandeProduits', 'user')
->joinWith('production')
->where(['production.date' => $date])
->orderBy('date ASC')
->all();

foreach($commandes as $c) {
if($c->paiement_automatique && Etablissement::getConfig('credit_pain', $c->production->id_etablissement)) {
$c->init() ;

if ($c->getMontantRestant() > 0) {
$c->creditHistorique(
CreditHistorique::TYPE_PAIEMENT,
$c->getMontantRestant(),
$c->production->id_etablissement,
$c->id_user,
User::ID_USER_SYSTEM
);
}
}
}
/*
* Envoi des commandes par email au producteur
*/
$commandes = Commande::find()
->with('commandeProduits', 'user')
->joinWith('production')
@@ -224,33 +256,5 @@ class CronController extends BackendController {
}
}
}
public function actionPaiementAutoCommandes($key = '') {
if ($key == '64ac0bdab7e9f5e48c4d991ec5201d57') {
$commandes = Commande::find()
->with('commandeProduits', 'user')
->joinWith('production')
->where(['production.date' => date('Y-m-d')])
->orderBy('date ASC')
->all();
foreach($commandes as $c) {
if($c->paiement_automatique && Etablissement::getConfig('credit_pain', $c->production->id_etablissement)) {
$c->init() ;
if ($c->getMontant() > 0) {
$c->creditHistorique(
CreditHistorique::TYPE_PAIEMENT,
$c->getMontant(),
$c->production->id_etablissement,
$c->id_user,
User::ID_USER_SYSTEM
);
}
}
}
}
}

}

+ 1
- 0
common/models/Commande.php Zobrazit soubor

@@ -112,6 +112,7 @@ class Commande extends \yii\db\ActiveRecord {
return [
[['id_user', 'date', 'id_point_vente', 'id_production'], 'required', 'message' => ''],
[['id_user', 'id_point_vente', 'id_production'], 'integer'],
[['paiement_automatique'], 'boolean'],
[['date', 'date_update', 'commentaire', 'commentaire_point_vente'], 'safe']
];
}

Načítá se…
Zrušit
Uložit