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=>'已取消',