From 7dca541eb6953fc820170e06f24d574ea2bea42d Mon Sep 17 00:00:00 2001 From: lanzu_qsy <334039090@qq.com> Date: Mon, 7 Sep 2020 16:26:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E5=8F=98?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ImsCjdcOrderMainController.php | 74 +++---------------- app/Admin/Controllers/Test.php | 1 - app/Admin/Controllers/Type.php | 1 + app/Admin/Extensions/CheckRow.php | 8 +- app/Admin/Forms/SelectHorseman.php | 30 +++++--- app/Admin/Repositories/ImsCjdcOrderMain.php | 8 +- app/Http/Controllers/TestController.php | 25 +------ app/Models/ImsCjdcOrder.php | 1 + app/Models/ImsCjdcOrderMain.php | 36 +++------ app/Models/ImsCjdcUser.php | 2 +- app/Models/LanzuServiceHorseman.php | 14 ++++ config/order.php | 2 +- 12 files changed, 70 insertions(+), 132 deletions(-) diff --git a/app/Admin/Controllers/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php index 6433eed..08c55a7 100644 --- a/app/Admin/Controllers/ImsCjdcOrderMainController.php +++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php @@ -34,7 +34,7 @@ class ImsCjdcOrderMainController extends AdminController $grid->paginate(10);//每页展示数据10条 //$grid->id; //$grid->user_id('用户信息'); - $grid->column('user_name','用户信息'); + $grid->column('nick_name','用户信息'); $grid->order_num; $grid->state('订单状态') @@ -42,88 +42,36 @@ class ImsCjdcOrderMainController extends AdminController ->label([1=>'dark',2=>'danger',3=>'indigo',4=>'success']); $grid->money; $grid->column('market.name','所属市场'); - $grid->time; - $grid->pay_time; - - $grid->actions(new CheckRow('自送')); - - $grid->column('配送方式') - ->if(function ($column){ - if ($this->state==3){ - return true; - } - return false; - - }) - ->display('站内自送') - ->modal('站内自送',function ($modal){ - return CouponTieForm::make(); - }) - ->else() - ->display('站内自送'); - - - + $grid->pay_time('支付时间')->display(function (){ + return date('Y-m-d H:i:s'); + }); + $grid->created_at('下单时间')->display(function (){ + return date('Y-m-d H:i:s'); + }); $grid->actions(function (Grid\Displayers\Actions $actions) use ($grid){ $state = $actions->row->state; - - - - - if ($state==2){ $actions->append(new OrderStateHandle('接单',3)); - $actions->append(new OrderPrint('打印')); - }elseif ($state==31){ + }elseif ($state==311){ $actions->append(new OrderStateHandle('完成',4)); - $actions->append(new OrderPrint('打印')); }elseif ($state==3){ - $actions->append(new OrderStateHandle('站内自送',30)); + $actions->append(new OrderPrint('打印')); + $actions->append(new CheckRow($actions->row->id,'自送')); } - $actions->append(new OrderDetail('详情')); - - //$actions->append("拒绝  "); - //$actions->append("同意"); - - }); - //$grid->column('详情')->modal('详情',function ()use ($grid){ - // return view('orderdetail',['id'=>2]); - // - //}); + $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); }); - - - - - - - - - - - - - - $grid->disableViewButton(); $grid->disableEditButton(); $grid->disableDeleteButton(); - - - - - - - }); } diff --git a/app/Admin/Controllers/Test.php b/app/Admin/Controllers/Test.php index 7ef955c..a196d53 100644 --- a/app/Admin/Controllers/Test.php +++ b/app/Admin/Controllers/Test.php @@ -12,7 +12,6 @@ class Test extends AdminController { public function test() { - $gird = new Grid(new \App\Models\ImsCjdcMarket()); } } diff --git a/app/Admin/Controllers/Type.php b/app/Admin/Controllers/Type.php index 84a0751..621a7ed 100644 --- a/app/Admin/Controllers/Type.php +++ b/app/Admin/Controllers/Type.php @@ -35,4 +35,5 @@ class Type const BALANCE_USER_TYPE_MM = 3; //市场经理提现类型 const BALANCE_USER_TYPE_CS = 4; //社区提现类型 const BALANCE_USER_TYPE_STORE= 5; //商户提现类型 + } diff --git a/app/Admin/Extensions/CheckRow.php b/app/Admin/Extensions/CheckRow.php index 1c2cf65..7998b5d 100644 --- a/app/Admin/Extensions/CheckRow.php +++ b/app/Admin/Extensions/CheckRow.php @@ -2,6 +2,7 @@ namespace App\Admin\Extensions; use App\Admin\Forms\CouponTieForm; +use App\Admin\Forms\SelectHorseman; use App\Models\ImsCjdcOrderMain; use App\Models\StoreAccount; use Dcat\Admin\Grid\RowAction; @@ -12,8 +13,10 @@ class CheckRow extends RowAction { protected $title; - public function __construct($title=null) + protected $order_id; + public function __construct($orderId,$title=null) { + $this->order_id = $orderId; parent::__construct($title); } @@ -21,8 +24,7 @@ class CheckRow extends RowAction public function render() { // 实例化表单类并传递自定义参数 - $form = CouponTieForm::make(); - + $form = SelectHorseman::make(['order_id'=>$this->order_id]); return Modal::make() ->lg() ->title($this->title) diff --git a/app/Admin/Forms/SelectHorseman.php b/app/Admin/Forms/SelectHorseman.php index dfd49ee..53a1812 100644 --- a/app/Admin/Forms/SelectHorseman.php +++ b/app/Admin/Forms/SelectHorseman.php @@ -2,11 +2,14 @@ namespace App\Admin\Forms; +use App\Models\ImsCjdcOrderMain; +use App\Models\LanzuServiceHorseman; use Dcat\Admin\Widgets\Form; use Symfony\Component\HttpFoundation\Response; class SelectHorseman extends Form { + /** * Handle the form request. * @@ -14,13 +17,17 @@ class SelectHorseman extends Form * * @return Response */ + protected $orderId; public function handle(array $input) { - // dump($input); - - // return $this->error('Your error message.'); - - return $this->success('Processed successfully.', '/'); + $hid = request()->get('horseman_id'); + $oid = request()->get('order_id'); + $result = ImsCjdcOrderMain::where('id',$oid)->update(['shipping_type'=>1,'horseman_id'=>$hid]); + if ($result){ + return $this->success('操作成功', '/order'); + }else{ + return $this->error('操作失败'); + } } /** @@ -28,8 +35,11 @@ class SelectHorseman extends Form */ public function form() { - $this->text('name')->required(); - $this->email('email')->rules('email'); + + $this->select('horseman_id','配送员') + ->options(LanzuServiceHorseman::getHorseman()) + ->required(); + $this->hidden('order_id')->value($this->data['order_id']); } /** @@ -39,9 +49,7 @@ class SelectHorseman extends Form */ public function default() { - return [ - 'name' => 'John Doe', - 'email' => 'John.Doe@gmail.com', - ]; + } + } diff --git a/app/Admin/Repositories/ImsCjdcOrderMain.php b/app/Admin/Repositories/ImsCjdcOrderMain.php index 1005792..220a7ad 100644 --- a/app/Admin/Repositories/ImsCjdcOrderMain.php +++ b/app/Admin/Repositories/ImsCjdcOrderMain.php @@ -18,9 +18,9 @@ class ImsCjdcOrderMain extends EloquentRepository public function get(Grid\Model $model) { $builder = new \App\Models\ImsCjdcOrderMain(); - $builder = $builder::leftJoin('ims_cjdc_user as u','u.id','lanzu_order_main.user_id') + $builder = $builder::leftJoin('lanzu_user','lanzu_user.id','lanzu_order_main.user_id') ->with('market') - ->select('lanzu_order_main.*','u.name as user_name') + ->select('lanzu_order_main.*','lanzu_user.nick_name') ->where('type',1) ->orderBy('lanzu_order_main.id','desc');//只取线上订单数据 @@ -40,8 +40,8 @@ class ImsCjdcOrderMain extends EloquentRepository $query = $query->toArray(); //如果订单状态为配送中 将state设置为31 foreach ($query['data'] as &$value){ - if ($value['state']==3&&$value['shipping_type']==1){ - $value['state'] = 31; + if ($value['state']==3&&$value['shipping_type']==1&&!empty($value['horseman_id'])){ + $value['state'] = 311; } } diff --git a/app/Http/Controllers/TestController.php b/app/Http/Controllers/TestController.php index d9b74e9..7f03923 100644 --- a/app/Http/Controllers/TestController.php +++ b/app/Http/Controllers/TestController.php @@ -12,30 +12,7 @@ use App\Models\FinancialRecord; class TestController extends BaseController { public function Test(){ - $ret = null; - // dump(FinancialRecord::where('id',1)); - // $ret = FinancialRecord::getFinancialRecordModel(1); - - // $s = $ret::where('id',1)->first(); - // dump($s); - - // $ret = FinancialRecord::getFinancialRecordModel(2); - // $s = $ret::where('id',1)->first(); - // dump($s); - - // $ret = FinancialRecord::getFinancialRecordModel(3); - // $s = $ret::where('id',1)->first(); - // dump($s); - - // $ret = FinancialRecord::getFinancialRecordModel(4); - // $s = $ret::where('id',1)->first(); - // dump($s); - - $ret = FinancialRecord::getFinancialRecordModel(5); - $s = $ret::where('id',1)->first(); - dump($s); - - return 1; + dd(22); } } diff --git a/app/Models/ImsCjdcOrder.php b/app/Models/ImsCjdcOrder.php index a88180f..6793cf7 100644 --- a/app/Models/ImsCjdcOrder.php +++ b/app/Models/ImsCjdcOrder.php @@ -22,4 +22,5 @@ class ImsCjdcOrder extends Model return $this->hasOne('\App\Models\ImsCjdcStore','id','store_id'); } + } diff --git a/app/Models/ImsCjdcOrderMain.php b/app/Models/ImsCjdcOrderMain.php index c54c904..8059d5b 100644 --- a/app/Models/ImsCjdcOrderMain.php +++ b/app/Models/ImsCjdcOrderMain.php @@ -25,39 +25,27 @@ class ImsCjdcOrderMain extends Model } /** - * 同时变更主订单和子订单状态, + * 变更订单状态, * @param $oid //主订单id * @param $state //订单状态 */ public function modifyState($oid,$state) { - return DB::transaction(function () use ($oid,$state){ - $data1['state'] = $data2['state'] = $state; - $data1['update_time'] = time(); - if ($state == 4) { - $data1['complete_time'] = $data2['complete_time'] = time(); - - } elseif ($state == 3) { - $data1['jd_time'] = $data2['jd_time'] = time(); - } - DB::table('ims_cjdc_order_main') - ->where('id',$oid) - ->update($data1); - DB::table('ims_cjdc_order') - ->where('order_main_id',$oid) - ->update($data2); - if ($state==4){ - //添加店铺流水记录 - $account = new StoreAccount(); - $account->addStoreAccount($oid); - } - return true; - }); + $where = []; + $where['state'] = $state; + if ($state==3) { + $where['receive_time'] = time(); + }elseif ($state==4){ + $where['complete_time'] = time(); + }elseif ($state==6){ + $where['cancel_time'] = time(); + } + return self::where('id',$oid)->update($where); } public function updateShippingType($oid,$type) { - return self::where('id',$oid)->update(['order_shipping_code'=>$type]); + return self::where('id',$oid)->update(['shipping_type'=>$type]); } } diff --git a/app/Models/ImsCjdcUser.php b/app/Models/ImsCjdcUser.php index 8ff16f8..1a5fb7f 100644 --- a/app/Models/ImsCjdcUser.php +++ b/app/Models/ImsCjdcUser.php @@ -10,6 +10,6 @@ use Illuminate\Database\Eloquent\Model; class ImsCjdcUser extends Model { - protected $table = 'ims_cjdc_user'; + protected $table = 'lanzu_user'; protected $dateFormat = 'U'; } diff --git a/app/Models/LanzuServiceHorseman.php b/app/Models/LanzuServiceHorseman.php index 38017bc..f642743 100644 --- a/app/Models/LanzuServiceHorseman.php +++ b/app/Models/LanzuServiceHorseman.php @@ -13,4 +13,18 @@ class LanzuServiceHorseman extends Model protected $table = 'lanzu_service_horseman'; protected $dateFormat = 'U'; + + public static function getHorseman($marketId=null) + { + if ($marketId){ + $rows = self::where('market_id',$marketId)->get(); + }else{ + $rows = self::get(); + } + $item = []; + foreach ($rows as $row) { + $item[$row->id] = $row->name; + } + return $item; + } } diff --git a/config/order.php b/config/order.php index 23caf29..2602b05 100644 --- a/config/order.php +++ b/config/order.php @@ -6,7 +6,7 @@ return [ 1=>'待付款', 2=>'待接单', 3=>'待发货', - 31=>'配送中',//state==3&&order_shipping_code==1 + 311=>'配送中',//state==3&&order_shipping_code==1&&horseman_id=true 4=>'已完成', 5=>'已评价', 6=>'已取消',