OutGoodsController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Goods;
  4. use App\Models\GoodSpec;
  5. use App\Models\GoodSku;
  6. use App\Models\OutGoods;
  7. use App\Models\User;
  8. use App\Models\GoodSkuTotal;
  9. use Illuminate\Http\Request;
  10. use Illuminate\Support\Facades\Auth;
  11. use Illuminate\Support\Facades\DB;
  12. use Illuminate\Support\Facades\Log;
  13. class OutGoodsController extends Controller{
  14. //获取下级代理
  15. public function getLowerLevelList(Request $request){
  16. $agent_id=Auth::user()->id;
  17. $search_name=$request->input('search_name');
  18. $page_index=$request->input('page_index');
  19. $page_size=$request->input('page_size');
  20. $num=$page_size*($page_index-1);
  21. $data=User::leftJoin('out_goods as og','users.id','og.user_id')
  22. ->where('users.agent_id',$agent_id)
  23. ->whereNull('users.deleted_at')
  24. ->where('users.status',0)->where('users.freeze_status',0)
  25. ->whereIn('users.cert_status',[3,6])->where('users.service_status',0)->where('users.in_group',1)
  26. ->select('users.id','users.nickname','users.mobile','users.level','users.headimgurl',DB::raw("sum(ifNull(og.num,0)) as num"));
  27. if($search_name){
  28. $data->where(function($query)use($search_name){
  29. $query->where('users.mobile','like','%'.$search_name.'%');
  30. });
  31. }
  32. $data->orderBy('num','desc')->orderBy('id','desc');
  33. $count=$data->count();
  34. $list=$data->skip($num)->take($page_size)
  35. ->get();
  36. return $this->success_list($list,'',$count);
  37. }
  38. //提交进货记录
  39. public function submitOutGoodsInfo(Request $request){
  40. $data['agent_id']=Auth::user()->id;
  41. $data['user_id']=$request->input('user_id');
  42. $data['num']=$request->input('num');
  43. $data['account']=$request->input('account');
  44. $data['sale_data']=json_encode($request->input('sale_data'));
  45. $data['amount_img']=json_encode($request->input('amount_img'));
  46. $res=OutGoods::create($data);
  47. if($res){
  48. return $this->success([]);
  49. }
  50. return $this->error();
  51. }
  52. //修改进货记录
  53. public function updateOutGoodsInfo(Request $request){
  54. $id=$request->input('id');
  55. $data['num']=$request->input('num');
  56. $data['account']=$request->input('account');
  57. $data['sale_data']=json_encode($request->input('sale_data'));
  58. $data['amount_img']=json_encode($request->input('amount_img'));
  59. $res=OutGoods::where('id',$id)->update($data);
  60. if($res){
  61. return $this->success([]);
  62. }
  63. return $this->error();
  64. }
  65. //删除进货记录
  66. public function deleteOutGoodsInfo(Request $request){
  67. $id=$request->input('id');
  68. $res=OutGoods::where('id',$id)->delete();
  69. if($res){
  70. return $this->success([]);
  71. }
  72. return $this->error();
  73. }
  74. //获取进货记录
  75. public function getOutGoodsInfo(Request $request){
  76. $id=$request->input('id');
  77. $res=OutGoods::with(['user:id,nickname,mobile,headimgurl,level','agent:id,nickname,mobile,headimgurl'])
  78. ->where('id',$id)->first();
  79. if($res){
  80. return $this->success($res);
  81. }
  82. return $this->error();
  83. }
  84. //获取代理进货记录
  85. public function getOutGoods(Request $request){
  86. $user_id=$request->input('user_id');
  87. $info=User::leftJoin('out_goods as og','users.id','og.user_id')
  88. ->where('users.id',$user_id)
  89. ->select('users.id','users.nickname','users.mobile','users.level','users.headimgurl',
  90. DB::raw("sum(ifNull(og.num,0)) as num"),DB::raw("sum(ifNull(og.account,0)) as account"))
  91. ->with(['out_goods'])
  92. ->first();
  93. return $this->success($info);
  94. }
  95. }