count(); $data['account']= DB::table('order') ->leftJoin('users', 'order.user_id', '=', 'users.id') ->leftJoin('order_goods', 'order.id', '=', 'order_goods.order_id') ->whereIn('order.status', [2,3]) ->sum('totalprice'); $data['orderCount']=Order::whereIn('status',[2,3])->count(); $data['goodsCount']=Goods::where('status','1')->count(); $data['articleCount']=Article::where('status','1')->count(); return $this->success($data); } //代理组成 public function getEveryAgentTotal(){ $data['superCount']=User::where('cert_status','6')->where('level','1')->count(); $data['topCount']=User::where('cert_status','6')->where('level','2')->count(); $data['crownCount']=User::where('cert_status','6')->where('level','3')->count(); return $this->success($data); } //代理业绩组成 public function getEveryAgentResult(){ $data['superAccount']=DB::table('order') ->leftJoin('users', 'order.user_id', '=', 'users.id') ->leftJoin('order_goods', 'order.id', '=', 'order_goods.order_id') ->whereIn('order.status', [2,3]) ->where('users.level','1') ->sum('totalprice'); $data['topAccount']=DB::table('order') ->leftJoin('users', 'order.user_id', '=', 'users.id') ->leftJoin('order_goods', 'order.id', '=', 'order_goods.order_id') ->whereIn('order.status', [2,3]) ->where('users.level','2') ->sum('totalprice'); $data['crownAccount']=DB::table('order') ->leftJoin('users', 'order.user_id', '=', 'users.id') ->leftJoin('order_goods', 'order.id', '=', 'order_goods.order_id') ->whereIn('order.status', [2,3]) ->where('users.level','3') ->sum('totalprice'); return $this->success($data); } //代理订单 public function getEveryAgentOrder(){ $data['superCount']=Order::whereIn('status',[2,3]) ->whereHas('user', function (Builder $query) { $query->where('level', '=', '1'); })->count(); $data['topCount']=Order::whereIn('status',[2,3]) ->whereHas('user', function (Builder $query) { $query->where('level', '=', '2'); })->count(); $data['crownCount']=Order::whereIn('status',[2,3]) ->whereHas('user', function (Builder $query) { $query->where('level', '=', '3'); })->count(); return $this->success($data); } //商品销量前十 public function getGoodsSalesNum(){ $list=DB::table('goods') ->select('goods.name',DB::raw('SUM(order_goods.num) as total')) ->leftJoin('order_goods','goods.id','=','order_goods.goods_id') ->leftJoin('order','order.id','=','order_goods.order_id') ->where('order.agent_id',1) ->whereIn('order.status',[2,3]) ->groupBy('goods.id') ->orderBy('total','desc') ->take('10')->get(); return $this->success($list); } public function demo(){ $active = Activity::where('is_ing', 1)->first(); $now = Carbon::now()->toDateTimeString(); $order = Ordertest::where('is_deleted', 0)->whereBetween('created_at', [$active->start_time, $active->end_time])->with(['get_address', 'get_order_detail']); $order_1=clone $order; $order_2=clone $order; $order=$order->get(); $order_1=$order_1->where('store_id',17)->sum('money'); $order_2=$order_2->where('store_id',18)->sum('money'); } public function sign_message(Request $request){ try{ if ($request->appids=='daweiboshi_szy' && $request->secret=='daweiboshi_szy_secret'){ $s_user=$request->data; if ($request->type==0){ $mean='实战营'; }else{ $mean='密训营'; } $season=$request->season; $d_user=User::where('mobile',$request->mobile)->first(); foreach ($s_user as $k=>$v){ $user=User::where('mobile',$v)->first(); if ($user->openid){ $data['data']=[ 'first'=>'有代理报名成功了', 'keyword1'=>'第'.$season.'届大卫博士创业'.$mean, 'keyword2'=>$d_user->nickname, 'keyword3'=>$d_user->mobile, // 'keyword4'=>date('Y年m月d日',time()), 'remark'=>'点击进入小程序', ]; $data['openid']=$user->openid; event(new SignMessageEvent($data)); } } }else{ $this->success([]); } }catch (\Exception $exception){ $this->success([]); } } public function getGoodsStyleNum1(Request $request){ $activity=Activity::orderBy('id')->limit(3)->get(); //$input=$request->all(); //$cycle=$input['cycle']; $cycle=2;//间隔周期 foreach($activity as $keys=>$value){ $start_time=$value->start_time; $end_time=$value->end_time; $n=1; for($i=strtotime($start_time);$i<=strtotime($end_time);$i+=$cycle*3600){ $start=date("Y-m-d H:i:s",strtotime("+". 3*($n-1). "hours", strtotime($start_time))); if(date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($start)))>$end_time){ $end=$end_time; }else{ $end=date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($start))); } // $list[$value->title][$n*$cycle]=Orderdetail::whereBetween('created_at',[$start,$end]) // ->with(['get_goods:id,name,size']) // ->GroupBy('goods_id','Goods_size') // ->select('goods_id','goods_size',DB::raw('sum(num) as total'))->get(); $list[$value->title][$n*$cycle]=Orderdetail::whereBetween('order_detail.created_at',[$start,$end]) ->leftjoin('goods_test as gt','gt.id','=','order_detail.goods_id') ->whereHas('order',function($query){ $query->where('is_deleted',0); }) ->GroupBy('gt.main_attr') ->select('gt.id','gt.main_attr',DB::raw('sum(order_detail.num) as total'))->get(); $n++; } // $goods=Goodtest::where('is_deleted',0)->GroupBy('main_attr')->pluck('main_attr'); // return $goods; // for($i=strtotime($start_time);$i<=strtotime($end_time);$i+=$cycle*3600){ // $start=$start_time; // if(date("Y-m-d H:i:s",strtotime("+". 3*$n. "hours",strtotime($start)))>$end_time){ // $end=$end_time; // }else{ // $end=date("Y-m-d H:i:s",strtotime("+". 3*$n. "hours",strtotime($start))); // } // $list[$value->title][$n*$cycle]=Orderdetail::whereBetween('created_at',[$start,$end]) // ->with(['get_goods:id,name,size']) // ->whereHas('order',function($query){ // $query->where('is_deleted',0); // }) // ->GroupBy('goods_id','goods_size') // ->select('goods_id','goods_size',DB::raw('sum(num) as total')) // ->get(); // $n++; // } } return $this->success($list); } public function getGoodsMainAttr(){ $data=Goodtest::where('is_deleted',0)->groupBy('main_attr')->pluck('main_attr'); return $this->success($data); } public function getGoodsStyleNum(Request $request){ $activity=Activity::orderBy('id')->limit(3)->get(); $input=$request->all(); $cycle=$input['cycle']; $type=$input['type']; // $cycle=2;//间隔周期 // $type='大卫博士精装版'; foreach($activity as $keys=>$value){ $start_time=$value->start_time; $end_time=$value->end_time; $n=1; for($i=strtotime($start_time);$i<=strtotime($end_time);$i+=$cycle*3600){ $start=date("Y-m-d H:i:s",strtotime("+". 3*($n-1). "hours", strtotime($start_time))); if(date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($start)))>$end_time){ $end=$end_time; }else{ $end=date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($start))); } $list[$value->title][$n*$cycle]=Orderdetail:: whereHas('get_goods',function($query)use($type){ $query->where('main_attr',$type); }) ->whereHas('order',function($query)use($start,$end){ $query->where('is_deleted',0)->whereBetween('created_at',[$start,$end]); }) ->sum('num'); $n++; } } return $this->success($list); } public function getOrderAccount(Request $request){ $input=$request->all(); $activity=Activity::orderBy('id')->limit(3)->get(); $cycle=$input['cycle']; // $cycle=3;//间隔周期 foreach($activity as $keys=>$value){ $start_time=$value->start_time; $end_time=$value->end_time; $n=1; for($i=strtotime($start_time);$i<=strtotime($end_time);$i+=$cycle*3600){ // $start=$start_time; // if(date("Y-m-d H:i:s",strtotime("+". 3*$n. "hours",strtotime($start)))>$end_time){ // $end=$end_time; // }else{ // $end=date("Y-m-d H:i:s",strtotime("+". 3*$n. "hours",strtotime($start))); // } $start=date("Y-m-d H:i:s",strtotime("+". 3*($n-1). "hours", strtotime($start_time))); if(date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($start)))>$end_time){ $end=$end_time; }else{ $end=date("Y-m-d H:i:s",strtotime("+3 hours",strtotime($start))); } $list[$value->title][$n*$cycle]=Ordertest::whereBetween('created_at',[$start,$end]) ->where('is_deleted',0) ->select(DB::raw('sum(money) as total')) ->get(); $n++; } } return $this->success($list); } public function getGoodsStyleDetailNum(Request $request){ $input=$request->all(); $activity=Activity::where('is_ing',1)->first(); $start=$activity->start_time; $end=$activity->end_time; $type=$input['type']; if($type=='精装版'){ $name='大卫博士精装版'; $id=Goodattr::where('name','like','%'.$type.'%')->value('id'); $ids=Goodattr::where('pid',$id)->pluck('id'); }elseif($type=='简约版') { $name='大卫博士简约版'; $id=Goodattr::where('name','like','%'.$type.'%')->value('id'); $ids=Goodattr::where('pid',$id)->pluck('id'); }elseif($type=='老人版'){ $name='大卫博士老人版'; $id=Goodattr::where('name','=',$name)->value('id'); $ids=Goodattr::where('pid',$id)->pluck('id'); }elseif($type=='纯棉老人版'){ $name='大卫博士纯棉老人版'; $id=Goodattr::where('name','like','%'.$type.'%')->value('id'); $ids=Goodattr::where('pid',$id)->pluck('id'); }else{ $ids=[]; } $list=Orderdetail::whereHas('order',function($query)use($start,$end){ $query->where('is_deleted',0)->whereBetween('created_at',[$start,$end]); }) ->whereHas('get_goods',function($query)use($ids){ $query->whereIn('attr_id',$ids); }) ->groupBy('goods_size') ->select('goods_size',DB::raw('sum(num) as total')) ->get(); return $this->success($list); } public function getProvinceUserInfo(Request $request){ $input=$request->all(); $province=$input['province']; $activity=Activity::where('is_ing',1)->first(); $start=$activity->start_time; $end=$activity->end_time; $phones=UserZ::where('province','like','%'.$province.'%')->where('level_name','代理公司')->pluck('phone'); $users=User::whereIn('mobile',$phones)->select('id','nickname','mobile')->get(); foreach($users as $key=>$val){ $info=Ordertest::join('order_detail as od','od.order_id','=','order_test.id') ->join('goods_test as gt','gt.id','=','od.goods_id') ->where('order_test.is_deleted',0) ->whereBetween('order_test.created_at',[$start,$end]) ->where('order_test.user_id',$val->id) ->groupBy('gt.main_attr') ->select('gt.main_attr',DB::raw('sum(od.num) as total')) ->get(); $users[$key]->hard=0; $users[$key]->simple=0; $users[$key]->old=0; $users[$key]->cold=0; foreach($info as $k=>$v){ switch($v->main_attr){ case '大卫博士精装版': $users[$key]->hard=$v->total; break; case '大卫博士简约版': $users[$key]->simple=$v->total; break; case '大卫博士老人版': $users[$key]->old=$v->total; break; case '大卫博士纯棉老人版': $users[$key]->cold=$v->total; break; } } $users[$key]->acc=Ordertest::where('user_id',$val->id)->whereBetween('created_at',[$start,$end])->where('is_deleted',0)->sum('money'); } return $this->success($users); } public function getOtherUserInfo(){ $user_z=UserZ::select('nickname','phone','level_name','created_at','updated_at')->where('level_name','!=','政委')->orderBy('id','desc')->get(); $data=[]; $duu=[]; foreach($user_z as $key=>$val){ $user=User::where('mobile',$val->phone)->first(); if(empty($user)){ continue; $duu[]=$val; } if($user->level=='1'){ // $user_z[$key]->level='销售主管'; if($val->level_name!='销售主管'){ $val->user_level='销售主管'; $val->user_recom=$user->recom_id; $val->user_agent=$user->agent_id; $val->user_warea_id=$user->warea_id; $val->user_id=$user->id; $val->user_created=$user->created_at; $val->user_updated=$user->updated_at; $val->user_nickname=$user->nickname; $data[]=$val; } }elseif($user->level=='2'){ // $user_z[$key]->level='销售经理'; if($val->level_name!='销售经理'){ $val->user_level='销售经理'; $val->user_recom=$user->recom_id; $val->user_agent=$user->agent_id; $val->user_warea_id=$user->warea_id; $val->user_id=$user->id; $val->user_created=$user->created_at; $val->user_updated=$user->updated_at; $val->user_nickname=$user->nickname; $data[]=$val; } }elseif($user->level=='3'){ // $user_z[$key]->level='代理公司'; if($val->level_name!='代理公司'){ $val->user_level='代理公司'; $val->user_recom=$user->recom_id; $val->user_agent=$user->agent_id; $val->user_warea_id=$user->warea_id; $val->user_id=$user->id; $val->user_created=$user->created_at; $val->user_updated=$user->updated_at; $val->user_nickname=$user->nickname; $data[]=$val; } } } $count=count($data); return $this->success_list($data,'',$count); } }