diff --git a/app/Admin/Common/Order.php b/app/Admin/Common/Order.php index 77255ad..70e61f7 100644 --- a/app/Admin/Common/Order.php +++ b/app/Admin/Common/Order.php @@ -55,7 +55,9 @@ class Order ->toArray(); $result = count($result); }elseif ($params['data_type']=='number'){//订单数 + //DB::connection()->enableQueryLog(); $result = $buildData->count(); + //dd(DB::connection()->getQueryLog()); }elseif ($params['data_type']=='amount'){//订单金额 $result = $buildData->sum('money'); }elseif ($params['data_type']=='shipping'){//配送方式 diff --git a/app/Admin/Common/Rpc.php b/app/Admin/Common/Rpc.php index e53655b..bb143e1 100644 --- a/app/Admin/Common/Rpc.php +++ b/app/Admin/Common/Rpc.php @@ -3,7 +3,6 @@ namespace App\Admin\Common; - use Graze\GuzzleHttp\JsonRpc\Client; class Rpc @@ -16,6 +15,7 @@ class Rpc const DO_BY_ORDER = "/badge/doByOrder";//订单状态变更 const ALI_SMS_SENT = "/alisms/sent";//发短信 const FEI_E_PRINT = '/feie/doPrint';//订单打印 + const ORDER_DELIVERY_START= '/orders/onlineDeliveryStart';//订单打印 @@ -152,4 +152,16 @@ class Rpc return $response->getBody()->getContents(); } + + public static function onlineDeliveryStart($global_order_id) + { + $client = Client::factory(env('RPC_SITE_HOST')); + $request = $client->request(uniqid(), + self::ORDER_DELIVERY_START, + ['global_order_id' => $global_order_id] + ); + $response = $client->send($request); + return $response->getBody()->getContents(); + } + } diff --git a/app/Admin/Controllers/v3/Salesman.php b/app/Admin/Controllers/v3/Salesman.php index 4fecc7d..4589575 100644 --- a/app/Admin/Controllers/v3/Salesman.php +++ b/app/Admin/Controllers/v3/Salesman.php @@ -4,17 +4,15 @@ namespace App\Admin\Controllers\v3; -use App\Admin\Actions\Lazy\CsInfo; use App\Admin\Actions\Tools\SalesmanOption; use App\Admin\Actions\Tools\SalesmanOptionCopy; -use App\Http\Controllers\TestController; -use App\Models\LanzuMarket; +use App\Admin\Common\Order; +use App\Models\LanzuUserRelationBind; use App\Models\v3\LanzuEmployees; use App\Models\v3\SalesmanData; use Dcat\Admin\Admin; use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Grid; -use Dcat\Admin\Widgets\Modal; use Maatwebsite\Excel\Facades\Excel; class Salesman extends AdminController @@ -42,54 +40,56 @@ class Salesman extends AdminController }); } else { $adu = Admin::user(); - return Grid::make(new \App\Admin\Repositories\v3\Salesman(), function (Grid $grid)use ($adu) { + return Grid::make(new \App\Admin\Repositories\v3\Salesman(), function (Grid $grid) use ($adu) { $grid->tools(new SalesmanOption()); - $name = request()->get('name') ?(request()->get('name')=='全部'?'总':request()->get('name')): ''; + $name = request()->get('name') ? (request()->get('name') == '全部' ? '总' : request()->get('name')) : ''; $option = request()->get('option') ?? 0; + list($beginTime,$endTime) = Order::beginAndEnd($option); $searchTime = request()->input('created_at');//搜索时间 - if ($searchTime){ + if ($searchTime) { $content = " 导出 "; - }else{ + } else { $content = " 导出 "; } $grid->tools($content); $grid->paginate(10); $grid->column('person_id', '懒ID'); - $grid->column('nick_name', '拓展员')->display(function (){ - $row = LanzuEmployees::where('user_id',$this->person_id)->where('status',1)->first(); - if ($row){ + $grid->column('nick_name', '拓展员')->display(function () { + $row = LanzuEmployees::where('user_id', $this->person_id)->where('status', 1)->first(); + if ($row) { return $row->name; } return $this->nick_name; }); $grid->column('total', '社区总数'); - $grid->column('user_id', '绑定用户数')->display(function ($uid) { + $grid->column('user_id', $name.'绑定用户数')->display(function ($uid) use ($beginTime,$endTime) { if ($uid) { - return count(explode(',', $uid)); + $count = LanzuUserRelationBind::whereIn('user_id',explode(',', $uid))->whereBetween('created_at',[$beginTime,$endTime])->count(); + return $count; } return 0; }); //$grid->column('order_user_num', $name.'下单人数'); $grid->column('order_num', $name . '订单数'); $grid->column('order_amount', $name . '成交额'); - $grid->actions(function (Grid\Displayers\Actions $actions) use ($name, $option,$searchTime) { + $grid->actions(function (Grid\Displayers\Actions $actions) use ($name, $option, $searchTime) { $row = $actions->row->toArray(); - $actions->append(new \App\Admin\Extensions\Salesman($row['admin_user_id'], $name, $option,$searchTime, '详情')); + $actions->append(new \App\Admin\Extensions\Salesman($row['admin_user_id'], $name, $option, $searchTime, '详情')); }); $grid->disableCreateButton(); $grid->disableEditButton(); $grid->disableDeleteButton(); $grid->disableViewButton(); - $grid->filter(function (Grid\Filter $filter)use ($option,$adu) { - if (!$adu->isRole('lanzu_cs')){ - $filter->equal('person_id','懒ID'); - $filter->equal('user_id','拓展员')->select( - LanzuEmployees::where('status',1)->pluck('name','user_id') + $grid->filter(function (Grid\Filter $filter) use ($option, $adu) { + if (!$adu->isRole('lanzu_cs')) { + $filter->equal('person_id', '懒ID'); + $filter->equal('user_id', '拓展员')->select( + LanzuEmployees::where('status', 1)->pluck('name', 'user_id') ); } - if ($option==0){ - $filter->between('created_at','日期')->datetime(); + if ($option == 0) { + $filter->between('created_at', '日期')->datetime(); } }); }); @@ -104,8 +104,8 @@ class Salesman extends AdminController { $name = request()->get('name'); $option = request()->get('option'); - $time = date('Y-m-d H:i:s',time()); - return Excel::download(new \App\Admin\Actions\Excel\SalesMan($option,$name), $time.'.xlsx'); + $time = date('Y-m-d H:i:s', time()); + return Excel::download(new \App\Admin\Actions\Excel\SalesMan($option, $name), $time . '.xlsx'); } diff --git a/app/Admin/Forms/SelectHorseman.php b/app/Admin/Forms/SelectHorseman.php index 2354a6b..c0d86fe 100644 --- a/app/Admin/Forms/SelectHorseman.php +++ b/app/Admin/Forms/SelectHorseman.php @@ -3,6 +3,7 @@ namespace App\Admin\Forms; use App\Admin\Common\Auth; +use App\Admin\Common\Rpc; use App\Libs\SsdbClient; use App\Models\ImsCjdcMarket; use App\Models\ImsCjdcOrderMain; @@ -28,19 +29,19 @@ class SelectHorseman extends Form { $hid = request()->input('horseman_id'); $oid = request()->input('order_id'); - $current_page = request()->input('current_page'); $horseman = LanzuEmployees::getName($hid);//骑手名称 $result = ImsCjdcOrderMain::where('id',$oid)->update(['shipping_type'=>1,'horseman_id'=>$hid,'shipping_name'=>$horseman,'updated_at'=>time()]); - if ($result){ - //指定骑手后,初始化骑手位置,默认将市场经纬做为骑手默认经纬 - $mid = ImsCjdcOrderMain::where('id',$oid)->pluck('market_id'); + //>>1.指定骑手后,初始化骑手位置,默认将市场经纬做为骑手默认经纬 + $row = ImsCjdcOrderMain::where('id',$oid)->select('market_id','global_order_id')->first(); + $mid = $row->market_id; $market = ImsCjdcMarket::where('id',$mid)->first(); $ssdb = SsdbClient::client(env('SSDB_HOST'), env('SSDB_PORT')); $coordinate = $market->lng.','.$market->lat; $ssdb->set("horseman_coordinate_{$hid}",$coordinate); - + //>>2.配送开始后,给用户发送消息通知 + Rpc::onlineDeliveryStart($row->global_order_id); return $this->success('操作成功',"order?page={$current_page}"); }else{ return $this->error('操作失败');