CancelController.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Goods;
  4. use App\Models\Order;
  5. use App\Models\OrderCancel;
  6. use App\Models\OrderDetail;
  7. use App\Models\OrderRefund;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Support\Facades\Auth;
  10. use Illuminate\Support\Facades\DB;
  11. class CancelController extends Controller
  12. {
  13. //获取所有取消订单信息
  14. public function getCancelOrderList(Request $request){
  15. $user_id=Auth::user()->id;
  16. $page_index=$request->input('page_index');
  17. $page_size=$request->input('page_size');
  18. $order_no=$request->input('order_no');
  19. $num=$page_size*($page_index-1);
  20. $data= Order::with(['cancel'=>function($query){$query->where('using',1);},'refund','store:id,name,img,phone'])
  21. ->where('user_id',$user_id)
  22. ->whereIn('apply_cancel',[1,2,3]);
  23. if($order_no){
  24. $data->where('order_no','like','%'.$order_no.'%');
  25. }
  26. $count= $data->count();
  27. $orders= $data->orderByDesc('cancel_at')->skip($num)->take($page_size)->get();
  28. foreach($orders as $key=>$val){
  29. $goods_ids=OrderDetail::where('order_no',$val->order_no)->groupBy('goods_id')->pluck('goods_id');
  30. $goods=[];
  31. foreach($goods_ids as $k=>$v){
  32. $goods[$k]=Goods::select('id','name','img','main_attr')->where('id',$v)->first();
  33. $goods[$k]->sku=OrderDetail::where('order_no',$val->order_no)->where('goods_id',$v)->get();
  34. if(count($goods[$k]->sku)>0){
  35. $goods[$k]->price=$goods[$k]->sku[0]->price;
  36. }
  37. }
  38. $orders[$key]->goods=$goods;
  39. }
  40. return $this->success_list($orders,'成功',$count);
  41. }
  42. //删除订单
  43. public function deleteOriginOrder(Request $request){
  44. $order_id=$request->input('order_id');
  45. $res=Order::where('id',$order_id)->delete();
  46. if($res){
  47. return $this->success([]);
  48. }else{
  49. return $this->error();
  50. }
  51. }
  52. }