OrderIssueProcessLogService.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Services;
  3. use App\Jobs\SyncOrderIssueOrWorkOrderBySWMS;
  4. use App\OrderIssue;
  5. use App\OrderIssueProcessLog;
  6. use Illuminate\Support\Facades\Auth;
  7. use App\Traits\ServiceAppAop;
  8. class OrderIssueProcessLogService
  9. {
  10. use ServiceAppAop;
  11. protected $modelClass=OrderIssueProcessLog::class;
  12. public function batchStoreAndReturnLogs($params): array
  13. {
  14. $ids = $params['orderIssueIds'];
  15. $content = $params['content'];
  16. $user_id = Auth::user()['id'];
  17. $logs = [];
  18. foreach ($ids as $id) {
  19. $logs[] = OrderIssueProcessLog::query()
  20. ->create(['order_issue_id' => $id, 'content' => $content, 'user_id' => $user_id, 'type' => '处理']);
  21. $orderIssue = OrderIssue::query()->where("id",$id)->first();
  22. SyncOrderIssueOrWorkOrderBySWMS::dispatch($orderIssue,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
  23. }
  24. return $logs;
  25. }
  26. public function create(array $params)
  27. {
  28. $ids = $params['ids'];
  29. $content = $params['content'];
  30. $user_id = Auth::user()['id'];
  31. $logs = [];
  32. foreach ($ids as $id) {
  33. $logs[] = OrderIssueProcessLog::query()->create(['order_issue_id' => $id, 'content' => $content, 'user_id' => $user_id, 'type' => $params['type']]);
  34. $orderIssue = OrderIssue::query()->where("id",$id)->first();
  35. SyncOrderIssueOrWorkOrderBySWMS::dispatch($orderIssue,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
  36. }
  37. return OrderIssueProcessLog::query()->with('user')->whereIn('id',data_get($logs,'*.id'))->get();
  38. }
  39. }