Du saaaaaale comme never (pas demi)

This commit is contained in:
Vincent BRIDIER 2025-11-05 19:12:03 +01:00
parent 7240c5e35d
commit ac4bb01c26
5 changed files with 620 additions and 646 deletions

View file

@ -9,7 +9,7 @@ LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_HOST=dev-mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
@ -29,14 +29,14 @@ REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=dev-mailhog
MAIL_HOST=dev-mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
MAIL_ADMIN=equipe.web@ldc.fr
MAIL_ADMIN=digital@ldc.fr
# Sentry
SENTRY_LARAVEL_DSN=

View file

@ -129,9 +129,9 @@ class CustomerController extends Controller
$mesBr = app('mesBrAPI');
$brBasket = $mesBr->getBasket($crmUser);
if (!empty($brBasket['coupons'])) {
$canPrint = (collect($brBasket['coupons'])->sum('quantity') - collect($brBasket['coupons'])->sum('printed')) > 0;
$canPrint = (collect($brBasket['coupons'])->sum('quantity') - collect($brBasket['coupons'])->sum('printed'));
}
$winningList = $customer->participations()
->with(['instantWin'])->where(function (Builder $q) {
$q->whereHas('instantWin');

View file

@ -3,7 +3,6 @@
namespace App\Http\Controllers\Fo;
use App\Http\Controllers\Controller;
use App\Http\Requests\Fo\MesBr\PrintCouponsRequest;
use App\Models\Customer;
use Illuminate\Support\Arr;
@ -12,9 +11,9 @@ class DiscountController extends Controller
/**
* Fetch PDF BR.
*
* @return \Symfony\Component\HttpFoundation\StreamedResponse
* @return \Illuminate\Http\RedirectResponse
*/
public function fetchBrPdf(): \Symfony\Component\HttpFoundation\StreamedResponse
public function fetchBrPdf(): \Illuminate\Http\RedirectResponse
{
/** @var \App\Models\Customer $customer */
$customer = auth('frontend')->user();
@ -27,18 +26,13 @@ class DiscountController extends Controller
])->throwResponse();
}
return response()->streamDownload(function () use ($pdf) {
echo $pdf;
}, trans('mes-bons-de-reduction-:date.pdf', [
'date' => now()->isoFormat('DD-MM-Y-HH\hmm')
]), [
'Cache-Control' => 'public, must-revalidate, max-age=0',
'Content-Description' => 'File Transfer',
'Content-Type' => 'application/pdf',
'Expires' => 'Sat, 26 Jul 1997 05:00:00 GMT',
'Last-Modified' => gmdate('D, d M Y H:i:s') . ' GMT',
'X-Generator' => 'mPDF'
]);
return redirect()->to(
sprintf(
"%s/basket/%s/print",
config('mesbr.endpoint'),
$pdf
)
);
}
/**
@ -60,7 +54,7 @@ class DiscountController extends Controller
try {
/** @var \LDC\MESBR\MesBr */
$mesBr = app('mesBrAPI');
$result = $mesBr->printBasketCustomer($crmCustomer->hashcode);
$result = $mesBr->getBasket($crmCustomer);
$result = \is_object($result) ? (array) $result : $result;
if (Arr::get($result, 'status') !== "OK") {
@ -75,7 +69,7 @@ class DiscountController extends Controller
}
// * La réponse est conforme ?
$needed_fields = ['pdf'];
$needed_fields = ['uuid'];
if (!Arr::has($result, $needed_fields)) {
report(new \RuntimeException(sprintf(
'MESBR : Il manques des champs dans la réponse, attendu => %s, donné => %s',
@ -86,7 +80,7 @@ class DiscountController extends Controller
}
// * Tout est OK
return \base64_decode(Arr::get($result, 'pdf')) ?: null;
return Arr::get($result, 'uuid') ?: null;
} catch (\RuntimeException $e) {
report($e);
// * Retenter ?

View file

@ -175,7 +175,8 @@ class MesBr
error_log("MESBR - CODE : $res->Code - MESSAGE : $res->Message");
return ['status' => 'KO', 'code' => $res->Code, 'message' => $res->Message];
}
return ['status' => 'OK', 'ref' => $res->Panier->ref];
return ['status' => 'OK', 'ref' => $res->Panier->uuid];
}
/**
@ -201,8 +202,8 @@ class MesBr
error_log("MESBR - CODE : $res->code - MESSAGE : $res->message");
return ['status' => 'KO', 'code' => $res->code, 'message' => $res->message];
}
return ['status' => 'OK', 'coupons' => $res->coupons];
return ['status' => 'OK', 'uuid' => $res->ref, 'coupons' => $res->coupons];
}
/**

1219
composer.lock generated

File diff suppressed because it is too large Load diff