Popraw obsługę połączeń z Redis w klasie Dashboard, dodając sprawdzenie istnienia połączenia oraz optymalizując pobieranie danych

This commit is contained in:
2024-11-08 00:18:29 +01:00
parent e3b4ec973b
commit bd48c7bc4e

View File

@@ -10,6 +10,8 @@ class Dashboard implements \ArrayAccess
try try
{ {
$redis = \RedisConnection::getInstance() -> getConnection(); $redis = \RedisConnection::getInstance() -> getConnection();
if ( $redis )
{
$objectData = $redis -> get( "summary_ordersd" ); $objectData = $redis -> get( "summary_ordersd" );
if ( !$objectData ) if ( !$objectData )
@@ -20,6 +22,11 @@ class Dashboard implements \ArrayAccess
else else
$summary = unserialize( $objectData ); $summary = unserialize( $objectData );
} }
else
{
$summary = $mdb -> count( 'pp_shop_orders', [ 'status' => 6 ] );
}
}
catch ( \RedisException $e ) catch ( \RedisException $e )
{ {
$summary = $mdb -> count( 'pp_shop_orders', [ 'status' => 6 ] ); $summary = $mdb -> count( 'pp_shop_orders', [ 'status' => 6 ] );
@@ -35,6 +42,8 @@ class Dashboard implements \ArrayAccess
try try
{ {
$redis = \RedisConnection::getInstance() -> getConnection(); $redis = \RedisConnection::getInstance() -> getConnection();
if ( $redis )
{
$objectData = $redis -> get( "summary_salesd" ); $objectData = $redis -> get( "summary_salesd" );
if ( !$objectData ) if ( !$objectData )
@@ -45,6 +54,11 @@ class Dashboard implements \ArrayAccess
else else
$summary = unserialize( $objectData ); $summary = unserialize( $objectData );
} }
else
{
$summary = $mdb -> sum( 'pp_shop_orders', 'summary', [ 'status' => 6 ] ) - $mdb -> sum( 'pp_shop_orders', 'transport_cost', [ 'status' => 6 ] );
}
}
catch ( \RedisException $e ) catch ( \RedisException $e )
{ {
$summary = $mdb -> sum( 'pp_shop_orders', 'summary', [ 'status' => 6 ] ) - $mdb -> sum( 'pp_shop_orders', 'transport_cost', [ 'status' => 6 ] ); $summary = $mdb -> sum( 'pp_shop_orders', 'summary', [ 'status' => 6 ] ) - $mdb -> sum( 'pp_shop_orders', 'transport_cost', [ 'status' => 6 ] );