feat : rank

This commit is contained in:
2025-04-09 15:20:47 +08:00
parent 115f3a1e5b
commit abd26ab375

View File

@@ -11,6 +11,7 @@ use App\Model\Cycle;
use App\Model\FinancesStatement; use App\Model\FinancesStatement;
use App\Model\Kitchen; use App\Model\Kitchen;
use App\Model\Order; use App\Model\Order;
use Exception;
use Hyperf\Amqp\Message\Type; use Hyperf\Amqp\Message\Type;
use Hyperf\Amqp\Producer; use Hyperf\Amqp\Producer;
use Hyperf\Amqp\Result; use Hyperf\Amqp\Result;
@@ -75,26 +76,23 @@ class FinancesConsumer extends ConsumerMessage
*/ */
public function consumeMessage($data, AMQPMessage $message): Result public function consumeMessage($data, AMQPMessage $message): Result
{ {
if (!$data['kitchen_id'] || !$data['cycle_id']) { try {
$this->log->error('FinancesConsumer:error:NoData:'.json_encode($data)); if (!$data['kitchen_id'] || !$data['cycle_id']) throw new Exception('FinancesConsumer:error:NoData:'.json_encode($data));
return Result::ACK;
}
$kitchen = $this->kitchenModel->where('id',$data['kitchen_id'])->first(); $kitchen = $this->kitchenModel->where('id',$data['kitchen_id'])->first();
$cycle = $this->cycleModel->where('id',$data['cycle_id'])->first(); $cycle = $this->cycleModel->where('id',$data['cycle_id'])->first();
if (empty($kitchen) || empty($cycle)) { if (empty($kitchen) || empty($cycle)) {
$this->log->error('FinancesConsumer:error:kitchenOrCycleError:'.json_encode([ throw new Exception('FinancesConsumer:error:kitchenOrCycleError:'.json_encode([
'kitchen_id' => $data['kitchen_id'], 'kitchen_id' => $data['kitchen_id'],
'cycle_id' => $data['cycle_id'], 'cycle_id' => $data['cycle_id'],
'cycle' => $cycle, 'cycle' => $cycle,
'kitchen' => $kitchen, 'kitchen' => $kitchen,
'data' => $data, 'data' => $data,
])); ]));
return Result::ACK;
} }
$statement = $this->financesStatementModel->getStatementByCycleIdAndKitchenId($data['cycle_id'],$data['kitchen_id']); $statementInfo = $this->financesStatementModel->getStatementByCycleIdAndKitchenId((int)$data['cycle_id'],(int)$data['kitchen_id']);
if (!empty($statement)) $statement->delete(); if (!empty($statement)) $statementInfo->delete();
$statement = new FinancesStatement(); $statement = new FinancesStatement();
@@ -110,7 +108,7 @@ class FinancesConsumer extends ConsumerMessage
$statement->meal_copies = $this->orderModel->getCopiesByCycleIdAndKitchenId($cycle->id, $kitchen->id, OrderCode::ORDER_TYPE_MEAL); $statement->meal_copies = $this->orderModel->getCopiesByCycleIdAndKitchenId($cycle->id, $kitchen->id, OrderCode::ORDER_TYPE_MEAL);
if (!$statement->save()) { if (!$statement->save()) {
$this->log->error('FinancesConsumer:error:FinancesStatement:'.json_encode([ throw new Exception('FinancesConsumer:error:FinancesStatement:'.json_encode([
'statement' => $statement, 'statement' => $statement,
'data' => $data, 'data' => $data,
])); ]));
@@ -124,5 +122,9 @@ class FinancesConsumer extends ConsumerMessage
$this->producer->produce($chefMessage); $this->producer->produce($chefMessage);
return Result::ACK; return Result::ACK;
} catch (Exception $e) {
$this->log->error($e->getMessage());
return Result::ACK;
}
} }
} }