Browse Source

配送通知

master
lanzu_qinsheng 5 years ago
parent
commit
9100fed7ae
  1. 2
      app/Admin/Common/Order.php
  2. 14
      app/Admin/Common/Rpc.php
  3. 12
      app/Admin/Controllers/v3/Salesman.php
  4. 11
      app/Admin/Forms/SelectHorseman.php

2
app/Admin/Common/Order.php

@ -55,7 +55,9 @@ class Order
->toArray(); ->toArray();
$result = count($result); $result = count($result);
}elseif ($params['data_type']=='number'){//订单数 }elseif ($params['data_type']=='number'){//订单数
//DB::connection()->enableQueryLog();
$result = $buildData->count(); $result = $buildData->count();
//dd(DB::connection()->getQueryLog());
}elseif ($params['data_type']=='amount'){//订单金额 }elseif ($params['data_type']=='amount'){//订单金额
$result = $buildData->sum('money'); $result = $buildData->sum('money');
}elseif ($params['data_type']=='shipping'){//配送方式 }elseif ($params['data_type']=='shipping'){//配送方式

14
app/Admin/Common/Rpc.php

@ -3,7 +3,6 @@
namespace App\Admin\Common; namespace App\Admin\Common;
use Graze\GuzzleHttp\JsonRpc\Client; use Graze\GuzzleHttp\JsonRpc\Client;
class Rpc class Rpc
@ -16,6 +15,7 @@ class Rpc
const DO_BY_ORDER = "/badge/doByOrder";//订单状态变更 const DO_BY_ORDER = "/badge/doByOrder";//订单状态变更
const ALI_SMS_SENT = "/alisms/sent";//发短信 const ALI_SMS_SENT = "/alisms/sent";//发短信
const FEI_E_PRINT = '/feie/doPrint';//订单打印 const FEI_E_PRINT = '/feie/doPrint';//订单打印
const ORDER_DELIVERY_START= '/orders/onlineDeliveryStart';//订单打印
@ -152,4 +152,16 @@ class Rpc
return $response->getBody()->getContents(); 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();
}
} }

12
app/Admin/Controllers/v3/Salesman.php

@ -4,17 +4,15 @@
namespace App\Admin\Controllers\v3; namespace App\Admin\Controllers\v3;
use App\Admin\Actions\Lazy\CsInfo;
use App\Admin\Actions\Tools\SalesmanOption; use App\Admin\Actions\Tools\SalesmanOption;
use App\Admin\Actions\Tools\SalesmanOptionCopy; 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\LanzuEmployees;
use App\Models\v3\SalesmanData; use App\Models\v3\SalesmanData;
use Dcat\Admin\Admin; use Dcat\Admin\Admin;
use Dcat\Admin\Controllers\AdminController; use Dcat\Admin\Controllers\AdminController;
use Dcat\Admin\Grid; use Dcat\Admin\Grid;
use Dcat\Admin\Widgets\Modal;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
class Salesman extends AdminController class Salesman extends AdminController
@ -46,6 +44,7 @@ class Salesman extends AdminController
$grid->tools(new SalesmanOption()); $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; $option = request()->get('option') ?? 0;
list($beginTime,$endTime) = Order::beginAndEnd($option);
$searchTime = request()->input('created_at');//搜索时间 $searchTime = request()->input('created_at');//搜索时间
if ($searchTime) { if ($searchTime) {
$content = "<a href='salesman_export?option={$option}&name={$name}&created_at[start]={$searchTime['start']}&created_at[end]={$searchTime['end']}' class='btn btn-primary feather icon-download'> 导出 </a>"; $content = "<a href='salesman_export?option={$option}&name={$name}&created_at[start]={$searchTime['start']}&created_at[end]={$searchTime['end']}' class='btn btn-primary feather icon-download'> 导出 </a>";
@ -63,9 +62,10 @@ class Salesman extends AdminController
return $this->nick_name; return $this->nick_name;
}); });
$grid->column('total', '社区总数'); $grid->column('total', '社区总数');
$grid->column('user_id', '绑定用户数')->display(function ($uid) {
$grid->column('user_id', $name.'绑定用户数')->display(function ($uid) use ($beginTime,$endTime) {
if ($uid) { if ($uid) {
return count(explode(',', $uid));
$count = LanzuUserRelationBind::whereIn('user_id',explode(',', $uid))->whereBetween('created_at',[$beginTime,$endTime])->count();
return $count;
} }
return 0; return 0;
}); });

11
app/Admin/Forms/SelectHorseman.php

@ -3,6 +3,7 @@
namespace App\Admin\Forms; namespace App\Admin\Forms;
use App\Admin\Common\Auth; use App\Admin\Common\Auth;
use App\Admin\Common\Rpc;
use App\Libs\SsdbClient; use App\Libs\SsdbClient;
use App\Models\ImsCjdcMarket; use App\Models\ImsCjdcMarket;
use App\Models\ImsCjdcOrderMain; use App\Models\ImsCjdcOrderMain;
@ -28,19 +29,19 @@ class SelectHorseman extends Form
{ {
$hid = request()->input('horseman_id'); $hid = request()->input('horseman_id');
$oid = request()->input('order_id'); $oid = request()->input('order_id');
$current_page = request()->input('current_page'); $current_page = request()->input('current_page');
$horseman = LanzuEmployees::getName($hid);//骑手名称 $horseman = LanzuEmployees::getName($hid);//骑手名称
$result = ImsCjdcOrderMain::where('id',$oid)->update(['shipping_type'=>1,'horseman_id'=>$hid,'shipping_name'=>$horseman,'updated_at'=>time()]); $result = ImsCjdcOrderMain::where('id',$oid)->update(['shipping_type'=>1,'horseman_id'=>$hid,'shipping_name'=>$horseman,'updated_at'=>time()]);
if ($result){ 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(); $market = ImsCjdcMarket::where('id',$mid)->first();
$ssdb = SsdbClient::client(env('SSDB_HOST'), env('SSDB_PORT')); $ssdb = SsdbClient::client(env('SSDB_HOST'), env('SSDB_PORT'));
$coordinate = $market->lng.','.$market->lat; $coordinate = $market->lng.','.$market->lat;
$ssdb->set("horseman_coordinate_{$hid}",$coordinate); $ssdb->set("horseman_coordinate_{$hid}",$coordinate);
//>>2.配送开始后,给用户发送消息通知
Rpc::onlineDeliveryStart($row->global_order_id);
return $this->success('操作成功',"order?page={$current_page}"); return $this->success('操作成功',"order?page={$current_page}");
}else{ }else{
return $this->error('操作失败'); return $this->error('操作失败');

Loading…
Cancel
Save