TestController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Components\Database;
  5. use App\Components\ErrorPush;
  6. use App\MaterialBox;
  7. use App\MaterialBoxModel;
  8. use App\Order;
  9. use App\OrderDetail;
  10. use App\OrderIssue;
  11. use App\OrderIssueRejectedBill;
  12. use App\RejectedBill;
  13. use App\Services\common\BatchUpdateService;
  14. use App\Services\OrderRejectedBillRelationService;
  15. use App\Services\OrderRejectingStatusService;
  16. use App\Services\RejectedService;
  17. use App\User;
  18. use App\Waybill;
  19. use App\WorkOrder;
  20. use Illuminate\Database\Capsule\Manager;
  21. use Illuminate\Database\DatabaseManager;
  22. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  23. use Illuminate\Http\Request;
  24. use Illuminate\Support\Facades\Cache;
  25. use Illuminate\Support\Facades\DB;
  26. use Illuminate\Support\Facades\Hash;
  27. use Illuminate\Support\Facades\Log;
  28. use Oursdreams\Export\Export;
  29. use Workerman\Worker;
  30. class TestController extends Controller
  31. {
  32. use AsyncResponse, ErrorPush, Database;
  33. const ASNREFERENCE_2 = 'ASNREFERENCE2';
  34. public function __construct()
  35. {
  36. $this->data["active_test"] = "active";
  37. }
  38. public function method(Request $request, $method)
  39. {
  40. try {
  41. return call_user_func([$this, $method], $request);
  42. }catch (\BadMethodCallException $e){
  43. dd("方法不存在");
  44. }
  45. }
  46. public function test(Request $request){
  47. dd(Cache::tags(User::ANDROID_SINGLE_TAG)->get(64));
  48. }
  49. public function testOrder()
  50. {
  51. /** @var OrderRejectedBillRelationService $service */
  52. $service = app('OrderRejectedBillRelationService');
  53. $service->orderSyncRejectedBill(Order::query()->find(12));
  54. }
  55. public function testRejectedBill()
  56. {
  57. /** @var OrderRejectedBillRelationService $service */
  58. $service = app(OrderRejectedBillRelationService::class);
  59. /** @var RejectedBill $item */
  60. $item = RejectedBill::query()->find(2);
  61. $service->rejectedBillSyncOrder($item);
  62. }
  63. public function getOrder()
  64. {
  65. $query = Order::query()->select('id')->where('client_code','22011700000161');
  66. dd(OrderDetail::query()->whereIn('order_id',$query)->get());
  67. }
  68. public function sync_order_issue()
  69. {
  70. $items = OrderIssueRejectedBill::query()->with('orderIssue')->get();
  71. $item_array = $items->chunk(500);
  72. foreach ($item_array as $items){
  73. $insert_params = [];
  74. $update_params = [['logistic_number_return','order_id']];
  75. foreach ($items as $item){
  76. if (!$item->orderIssue) continue;
  77. $insert_params[$item->orderIssue->order_id] = [
  78. 'order_id' => $item->orderIssue->order_id,
  79. 'is_new_rejecting' => $item->orderIssue->is_new_rejecting,
  80. 'rejecting_status' => $item->orderIssue->rejecting_status
  81. ];
  82. $update_params[] = ['logistic_number_return' => $item->logistic_number_return,'order_id' => $item->orderIssue->order_id];
  83. }
  84. $this->batchOrderIssueRejectedBIll($update_params);
  85. $items = OrderDetail::query()->whereIn('order_id',array_keys($insert_params))->get()->map(function($item){
  86. return $item->order_id;
  87. })->toArray();
  88. $insert_params = array_filter($insert_params,function($item)use($items){
  89. return !in_array($item['order_id'],$items) && !is_null($item['order_id']);
  90. });
  91. if (count($insert_params) == 0) continue;
  92. OrderDetail::query()->insert(array_values($insert_params));
  93. }
  94. }
  95. public function batchOrderIssueRejectedBIll($array)
  96. {
  97. /** @var BatchUpdateService $service */
  98. $service = app(BatchUpdateService::class);
  99. $service->batchUpdate('order_issue_rejected_bill',$array);
  100. }
  101. public function testQuery()
  102. {
  103. /** @var WorkOrder $item */
  104. $item = WorkOrder::query()->with('orderIssueRejectedBills')->find(9);
  105. $item->orderIssueRejectedBills()->where('logistic_number_return','75810638245215')->delete();
  106. dd($item);
  107. }
  108. }