From 1afb8d8d261fe3384a64007432c955e3a871bd34 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Thu, 24 Sep 2020 10:54:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E5=88=B6=E6=B4=BB=E5=8A=A8=E5=95=86?= =?UTF-8?q?=E5=93=81--=E5=AE=8C-=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Actions/Grid/v3/GoodsActivityCopy.php | 3 +- .../v3/GoodsActivityController.php | 33 +++++++---- app/Admin/Forms/v3/GoodsActivityCopyForm.php | 57 +++++++++++++------ app/Admin/Forms/v3/GoodsCopyForm.php | 2 +- 4 files changed, 64 insertions(+), 31 deletions(-) diff --git a/app/Admin/Actions/Grid/v3/GoodsActivityCopy.php b/app/Admin/Actions/Grid/v3/GoodsActivityCopy.php index 4f95bca..d5097c4 100644 --- a/app/Admin/Actions/Grid/v3/GoodsActivityCopy.php +++ b/app/Admin/Actions/Grid/v3/GoodsActivityCopy.php @@ -16,8 +16,7 @@ class GoodsActivityCopy extends RowAction public function render() { - $id = $this->getKey(); - $form = GoodsActivityCopyForm::make(['id'=>$this->row->id,'name'=>$this->row->name])->setKey($id); + $form = GoodsActivityCopyForm::make()->payload(['id'=>$this->row->id,'name'=>$this->row->name]); $modal = Modal::make() ->xl() diff --git a/app/Admin/Controllers/v3/GoodsActivityController.php b/app/Admin/Controllers/v3/GoodsActivityController.php index 5018974..214ee64 100644 --- a/app/Admin/Controllers/v3/GoodsActivityController.php +++ b/app/Admin/Controllers/v3/GoodsActivityController.php @@ -227,12 +227,21 @@ class GoodsActivityController extends AdminController })->default(1); $form->saving(function (Form $form){ $storeId = $form->input('store_id'); - $marketIds = $form->input('market_ids'); + // $marketIds = $form->input('market_ids'); $tags = $form->input('tags'); $spec = $form->input('spec'); $detailsImgs = $form->input('details_imgs'); $goodsCategoryId = $form->input('goods_category_id'); + $onSale = $form->input('on_sale'); + $expireTime = $form->model()->expire_time; + $OldInventory = $form->model()->inventory; + if(!empty($onSale) && $onSale == 1 && $expireTime <= time()){ + return $form->error('活动结束时间必须大于当前时间,请修改后再上架!'); + }else if(!empty($onSale) && $onSale == 1 && $OldInventory <= 0){ + return $form->error('库存必须为大于0的数字'); + } + $inventory = $form->input('inventory'); // 规格 if(!empty($inventory)){ @@ -248,17 +257,17 @@ class GoodsActivityController extends AdminController $form->market_ids = ["$info->market_id"]; } - $marketIdsArr = []; - if(!empty($marketIds)){ - foreach($marketIds as $km => $marketId){ - if(empty($marketId)){ - unset($marketIds[$km]); - continue; - } - $marketIdsArr[] = $marketId; - } - } - $form->marketIds = json_encode($marketIdsArr); + // $marketIdsArr = []; + // if(!empty($marketIds)){ + // foreach($marketIds as $km => $marketId){ + // if(empty($marketId)){ + // unset($marketIds[$km]); + // continue; + // } + // $marketIdsArr[] = $marketId; + // } + // } + // $form->marketIds = json_encode($marketIdsArr); $tagsArr = []; if(!empty($tags)){ diff --git a/app/Admin/Forms/v3/GoodsActivityCopyForm.php b/app/Admin/Forms/v3/GoodsActivityCopyForm.php index cc34693..cd839a6 100644 --- a/app/Admin/Forms/v3/GoodsActivityCopyForm.php +++ b/app/Admin/Forms/v3/GoodsActivityCopyForm.php @@ -1,5 +1,7 @@ error('活动结束时间必须大于当前时间!'); + } $goods = GoodsModel::find($goodsId); $goodsBanners = GoodsBannerModel::where('goods_id',$goodsId)->get(); $markets = StoreModel::whereIn('id',$storeIds)->pluck('market_id','id'); - foreach($storeIds as $key =>$value){ - $storeId = $value; + foreach($storeIds as $key =>$storeId){ + + $marketId = $markets[$storeId]??0; $model = new GoodsModel(); + $model->expire_time = $expireTime; + $model->time_limit_days = $timeLimitDays; + $model->time_limit_num = $timeLimitNum; + $model->can_use_coupon = $canUseCoupon; + $model->type = $type; + $model->inventory = $inventory; + $model->store_id = $storeId; - $model->market_id = $markets[$storeId]; + $model->market_id = $marketId; + $model->market_ids = json_encode(["$marketId"]); $model->category_id = $goods->category_id; $model->name = $goods->name; @@ -56,9 +77,8 @@ class GoodsActivityCopyForm extends Form implements LazyRenderable $model->start_num = $goods->start_num; $model->restrict_num = $goods->restrict_num; $model->is_infinite = $goods->is_infinite; - $model->inventory = $goods->inventory; - $model->on_sale = $goods->on_sale; + $model->on_sale = 0; $model->sort = $goods->sort; $model->remark = $goods->remark; @@ -79,7 +99,7 @@ class GoodsActivityCopyForm extends Form implements LazyRenderable }; } - return $this->success('修改成功', '/goods'); + return $this->success('复制成功', '/goods_activity'); } /** @@ -87,14 +107,19 @@ class GoodsActivityCopyForm extends Form implements LazyRenderable */ public function form() { - $id = $this->getKey(); - $name = $this->name ?? ''; - dd($name); + $id = $this->payload['id'] ?? 0; + $name = $this->payload['name'] ?? ''; + $this->hidden('id')->value($id); - - $this->display('name')->value($name); + $this->display('name')->value($name)->help('复制的活动商品默认下架状态,请核对信息后手动上架!'); $stores = StoreModel::getStoreArray(); $this->multipleSelect('store_ids','选择店铺')->required()->options($stores)->help('选择店铺,将当前商品复制到所选店铺。注意选择重复店铺问题!!!'); + $this->number('inventory','库存')->required()->attribute('min', 1)->default(1); + $this->datetime('expire_time','活动结束时间')->required()->format('YYYY-MM-DD HH:mm:ss')->rules('after:now',['after'=>'活动结束时间必须大于当前时间!']); + $this->number('time_limit_days','限制的天数')->default(1)->help('A时间段内限购'); + $this->number('time_limit_num','限制购买数量')->default(1)->help('A时间段内限购的数量'); + $this->switch('can_use_coupon','可同时使用优惠券')->default(0); + $this->select('type','活动类型')->options(GoodsModel::$_TYPE)->default('flash_sale'); } /** diff --git a/app/Admin/Forms/v3/GoodsCopyForm.php b/app/Admin/Forms/v3/GoodsCopyForm.php index 2232de7..fcaed64 100644 --- a/app/Admin/Forms/v3/GoodsCopyForm.php +++ b/app/Admin/Forms/v3/GoodsCopyForm.php @@ -76,7 +76,7 @@ class GoodsCopyForm extends Form }; } - return $this->success('修改成功', '/goods'); + return $this->success('复制成功', '/goods'); } /**