OrderService.php 961 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace app\admin\service\order;
  3. use app\model\Order;
  4. use app\model\OrderSheet;
  5. use support\Db;
  6. use support\Redis;
  7. class OrderService
  8. {
  9. /**
  10. * @Desc 自动确认收货
  11. * @Author Gorden
  12. * @Date 2024/4/11 16:09
  13. *
  14. * @return void
  15. */
  16. public static function AutomaticReceipt()
  17. {
  18. $redis = Redis::connection();
  19. $key = Order::AUTOMATIC_RECEIPT_PREFIX . date('Ymd');
  20. if (!$redis->exists($key)) {
  21. return;
  22. }
  23. Db::beginTransaction();
  24. try {
  25. $orderIds = $redis->smembers($key);
  26. Order::whereIn('order_id', $orderIds)->update(['order_is_complete' => 'Y', 'order_status_system' => 'CONFIRM']);
  27. OrderSheet::whereIn('join_sheet_order_id', $orderIds)->update(['order_sheet_status' => 'CONFIRM']);
  28. $redis->del($key);
  29. Db::commit();
  30. } catch (\Exception $e) {
  31. Db::rollBack();
  32. }
  33. }
  34. }