OrderIssueProcessLogController.php 3.0 KB

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