ErrorOperationService.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Service;
  3. use App\Model\Employee;
  4. use App\Model\ErrorTable;
  5. class ErrorOperationService extends Service
  6. {
  7. public function errorList($data){
  8. $model = ErrorTable::where('del_time',0)
  9. ->select('msg','data','user_id','user_operation_time','type')
  10. ->orderBy('id','desc');
  11. if(! empty($data['user_id'])) $model->where('user_id', $data['user_id']);
  12. if(! empty($data['user_operation_time'][0]) && ! empty($data['user_operation_time'][1])) $model->whereBetween('user_operation_time',[$data['user_operation_time'][0],$data['user_operation_time'][1]]);
  13. if(! empty($data['type'])) $model->where('type',$data['type']);
  14. $list = $this->limit($model,'',$data);
  15. $list = $this->fillData($list);
  16. return [true,$list];
  17. }
  18. public function fillData($data){
  19. if(empty($data['data'])) return $data;
  20. $emp_map = Employee::whereIn('id',array_column($data['data'],'user_id'))
  21. ->pluck('emp_name','id')
  22. ->toArray();
  23. foreach ($data['data'] as $key => $value){
  24. $data['data'][$key]['user_name'] = $emp_map[$value['user_id']] ?? '';
  25. $data['data'][$key]['user_operation_time'] = $value['user_operation_time'] ? date('Y-m-d H:i:s',$value['user_operation_time']) : '';
  26. $data['data'][$key]['type_name'] = ErrorTable::$type[$value['type']] ?? '';
  27. }
  28. return $data;
  29. }
  30. }