OrderIssueProcessLogController.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\OrderIssueProcessLog;
  4. use App\Services\LogService;
  5. use App\Services\OrderIssueProcessLogService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Gate;
  9. class OrderIssueProcessLogController extends Controller
  10. {
  11. public function apiStore(Request $request)
  12. {
  13. if (!Gate::allows('订单管理-问题件-编辑')) {
  14. return ['success' => false, 'fail_info' => '没有对应的权限'];
  15. }
  16. if ($request->filled(['id', 'content'])) {
  17. $arr = ['order_issue_id' => $request->input('id'),
  18. 'content' => $request->input('content'),
  19. 'user_id' => Auth::user()['id'],
  20. 'type' => '处理',
  21. ];
  22. $orderIssueProcessLog = OrderIssueProcessLog::query()->create($arr);
  23. if ($orderIssueProcessLog) {
  24. $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
  25. return ['success' => true, 'data' => $orderIssueProcessLog];
  26. } else {
  27. return ['success' => false, 'fail_info' => '录入失败'];
  28. }
  29. } else {
  30. return ['success' => false, 'fail_info' => '没有传入对应参数'];
  31. }
  32. }
  33. public function apiDestroy(Request $request){
  34. if(!$request->filled('id')){
  35. return ['success'=>false,'fail_info'=>'没有传入对应参数'];
  36. }
  37. OrderIssueProcessLog::where('id',$request->input('id'))->delete();
  38. $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
  39. return ['success'=>true];
  40. }
  41. public function batchStoreApi(Request $request){
  42. if (!Gate::allows('订单管理-问题件-编辑')) {
  43. return ['success' => false, 'fail_info' => '没有对应的权限'];
  44. }
  45. /** @var OrderIssueProcessLogService $service */
  46. $service = app(OrderIssueProcessLogService::class);
  47. try {
  48. $data = $service->batchStoreAndReturnLogs($request->all());
  49. $logs = OrderIssueProcessLog::query()
  50. ->with('user')
  51. ->whereIn('id',data_get($data,'*.id'))
  52. ->get();
  53. $result_data = [];
  54. foreach ($logs as $log) {
  55. $result_data[$log->order_issue_id] =$log;
  56. }
  57. LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()));
  58. return ['success' => true,'logs' => $result_data];
  59. } catch (\Exception $e) {
  60. LogService::log(__METHOD__,__FUNCTION__,json_encode($request->getContent()).'||'.$e->getMessage()."||".$e->getTraceAsString());
  61. return ['success' => false,$e->getMessage()];
  62. }
  63. }
  64. }