where(['saas_user_id'=>$saas_user_id,'is_delete'=>0])->one(); $sales_man_ids = Salesman::find()->where(['admin_id'=>$admin->id,'is_delete'=>0])->select("id")->column(); $store = Store::find()->where(['is_delete'=>0]); if ($admin->area_level == 1) { //查找区代店铺 $store->andWhere([ 'or', ['province_id' => $admin->province_id, 'city_id' => $admin->city_id, 'district_id' => $admin->district_id], ['in', 'salesman_id', $sales_man_ids] ]); } elseif ($admin->area_level == 2) { //查找市代 $store->andWhere([ 'or', ['province_id' => $admin->province_id,'city_id' => $admin->city_id], ['in', 'salesman_id', $sales_man_ids] ]); } elseif ($admin->area_level == 3) { //查找省代 $store->andWhere([ 'or', ['province_id' => $admin->province_id], ['in', 'salesman_id', $sales_man_ids] ]); } else { if ($admin->id) { $store->andWhere([ 'or', ['admin_id' => $admin->id], ['in', 'salesman_id', $sales_man_ids] ]); } } $count = $store->count(); $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]); /* @var Order[] $list */ $store_list = $store->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all(); foreach($store_list as &$item){ $item['created_at'] = date("Y-m-d",$item['created_at']); } return [ 'code'=>0, 'msg'=>"SUCCESS", 'data'=>$store_list ]; } //店铺订单 public function shopOrder(){ $saas_user_id = get_saas_user_id(); $admin = Admin::find()->where(['saas_user_id' => $saas_user_id, 'is_delete' => 0])->one(); $sales_man_ids = Salesman::find()->where(['admin_id' => $admin->id, 'is_delete' => 0])->select("id")->column(); $store_ids = Store::find()->where(['is_delete'=>0]); if($admin->area_level == 1){ //查找区代店铺 $store_ids->andWhere([ 'or', ['province_id' => $admin->province_id,'city_id' => $admin->city_id,'district_id' => $admin->district_id], ['in', 'salesman_id', $sales_man_ids] ]); } elseif ($admin->area_level == 2) { //查找市代 $store_ids->andWhere([ 'or', ['province_id' => $admin->province_id,'city_id' => $admin->city_id], ['in', 'salesman_id', $sales_man_ids] ]); } elseif ($admin->area_level == 3) { //查找省代 $store_ids->andWhere([ 'or', ['province_id' => $admin->province_id], ['in', 'salesman_id', $sales_man_ids] ]); } else { if ($admin->id) { $store_ids->andWhere([ 'or', ['admin_id' => $admin->id], ['in', 'salesman_id', $sales_man_ids] ]); } } $store_ids = $store_ids->select('id')->column(); $query = Order::find()->where(['is_delete'=>0,'store_id'=>$store_ids])->select('id,order_no,store_id,name,created_at,is_pay,pay_price,ag_rebate as amount');//->asArray()->all(); // $query = Store::find()->where(['salesman_id'=>$sales_man_ids,'is_delete'=>0])->select('id,name,logo');//->asArray()->all(); $query->with(['store'=>function($query){ $query->select('id,name,logo')->asArray(); }]); $count = $query->count(); $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]); /* @var Order[] $list */ $order_list = $query->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all(); foreach($order_list as &$o){ $o['created_at'] = date("Y-m-d H:i:s",$o['created_at']); } return [ 'code'=>0, 'msg'=>"SUCCESS", 'data'=>$order_list ]; } //店铺续费订单 public function storeReOrder(){ $saas_user_id = get_saas_user_id(); $admin = Admin::find()->where(['saas_user_id'=>$saas_user_id,'is_delete'=>0])->one(); $sales_man_ids = Salesman::find()->where(['admin_id'=>$admin->id,'is_delete'=>0])->select("id")->column(); $store_ids =Store::find()->where(['is_delete'=>0]); if($admin_model->area_level == 1){ //查找区代店铺 if ($admin->id) { $store_ids->andWhere([ 'or', ['province_id' => $admin_model->province_id,'city_id' => $admin_model->city_id,'district_id' => $admin_model->district_id], ['in', 'salesman_id', $sales_man_ids] ]); } }else if($admin_model->area_level == 2){ //查找市代 if ($admin->id) { $store_ids->andWhere([ 'or', ['province_id' => $admin_model->province_id,'city_id' => $admin_model->city_id], ['in', 'salesman_id', $sales_man_ids] ]); } }else if($admin_model->area_level == 3) { //查找省代 if ($admin->id) { $store_ids->andWhere([ 'or', ['province_id' => $admin_model->province_id], ['in', 'salesman_id', $sales_man_ids] ]); } }else{ //啥也不是 } // if ($admin->id) { // $store_ids->andWhere([ // 'or', // ['admin_id' => $admin->id], // ['in', 'salesman_id', $sales_man_ids] // ]); // } $store_ids = $store_ids->select('id')->column(); $query = StoreReOrder::find()->where(['store_id'=>$store_ids,'is_pay'=>1])->select('id,order_no,total_price,desc,store_id,', new Expression('FROM_UNIXTIME(created_at,"%Y-%m-%d %H:%i:%s") as created_at,'));//->asArray()->all(); $query->with(['store'=>function($query){ $query->with(['admin'=>function($querys){ $querys->select('name')->asArray(); }])->select("id,name,logo,admin_id")->asArray(); }]); $count = $query->count(); $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]); $order = $query->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all(); return [ 'code'=>0, 'msg'=>"SUCCESS", 'data'=>$order ]; } //分佣 public function commission(){ $saas_user = get_saas_user(); //店铺入驻费用返利 $query = StoreShareMoney::find()->where(['user_id'=>$saas_user->id,'is_delete'=>0])->select('id,store_id,commission as money,order_id,created_at') ->with(['store'=>function($query){ $query->select('id,name,logo')->asArray(); }]); if($this->type*1 === 0){ $query->with(['order'=>function($query){ $query->select('id,order_no,total_price')->asArray(); }])->andWhere(['type' => 1]); }else{ //店铺入驻费用返利 $query->with(['reorder'=>function($query){ $query->select('id,order_no,total_price')->asArray(); }])->andWhere(['type' => 0]); } $query->orderBy("created_at desc"); $count = $query->count(); $pagination = new Pagination(['totalCount' => $count, 'page' => 0, 'pageSize' => $this->page * 10]); /* @var Order[] $list */ $data = $query->limit($pagination->limit)->offset($pagination->offset)->orderBy('created_at DESC')->asArray()->all(); foreach($data as &$item){ $item['created_at'] = date("Y-m-d H:i:s",$item['created_at']); $item['order'] = !empty($item['reorder'])?$item['reorder']:$item['order']; } return [ 'code'=>0, 'msg'=>"SUCCESS", 'data'=>$data ]; } }