Browse Source

活动商品--设置redis

master
liangyuyan 5 years ago
parent
commit
c7d1ca343f
  1. 74
      app/Admin/Actions/Grid/v3/GoodsActivitySetting.php
  2. 14
      app/Admin/Controllers/v3/GoodsActivityController.php
  3. 52
      app/Admin/Forms/v3/GoodsActivitySetting.php
  4. 68
      app/Admin/Forms/v3/GoodsActivitySettingForm.php
  5. 1
      app/Admin/routes.php
  6. 12
      app/Libs/Redis/RedisKey.php

74
app/Admin/Actions/Grid/v3/GoodsActivitySetting.php

@ -0,0 +1,74 @@
<?php
namespace App\Admin\Actions\Grid\v3;
use Dcat\Admin\Actions\Response;
use Dcat\Admin\Traits\HasPermissions;
use Dcat\Admin\Tree\AbstractTool;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
class GoodsActivitySetting extends AbstractTool
{
/**
* @return string
*/
protected $title = '活动设置';
/**
* Handle the action request.
*
* @param Request $request
*
* @return Response
*/
public function handle(Request $request)
{
return $this->response()
->success('跳转到设置页面' )
->redirect('/activity_setting');
}
/**
* @return string|void
*/
// public function href()
// {
// return admin_url('category/tie');
// }
/**
* @return string|array|void
*/
public function confirm()
{
// return ['Confirm?', 'contents'];
}
// protected function actionScript()
// {
// return <<<JS
// function (data, target, action) {
// console.log('发起请求之前', data, target, action);
// // return false; 在这里return false可以终止执行后面的操作
// // 更改传递到接口的主键值
// action.options.key = 123;
// }
// JS;
// }
/**
* @param Model|Authenticatable|HasPermissions|null $user
*
* @return bool
*/
protected function authorize($user): bool
{
return true;
}
}

14
app/Admin/Controllers/v3/GoodsActivityController.php

@ -2,6 +2,7 @@
namespace App\Admin\Controllers\v3;
use App\Admin\Actions\Grid\v3\GoodsActivitySetting;
use App\Admin\Repositories\v3\GoodsActivity;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
@ -14,7 +15,10 @@ use App\Models\v3\GoodsActivity as GoodsActivityModel;
use Dcat\Admin\Form\NestedForm;
use App\Models\v3\GoodsCategory as GoodsCategoryModel;
use App\Admin\Common\Auth;
use App\Admin\Forms\v3\GoodsActivitySettingForm;
use Dcat\Admin\Admin;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Widgets\Card;
class GoodsActivityController extends AdminController
{
@ -84,6 +88,8 @@ class GoodsActivityController extends AdminController
});
// 每页10条
$grid->paginate(10);
$grid->tools([new GoodsActivitySetting()]);
});
}
@ -281,4 +287,12 @@ class GoodsActivityController extends AdminController
});
});
}
public function SettingForm(Content $content)
{
return $content
->title('活动设置')
->body(new Card(new GoodsActivitySettingForm()));
}
}

52
app/Admin/Forms/v3/GoodsActivitySetting.php

@ -1,52 +0,0 @@
<?php
namespace App\Admin\Forms\v3;
use Dcat\Admin\Widgets\Form;
use Symfony\Component\HttpFoundation\Response;
class GoodsActivitySetting extends Form
{
/**
* Handle the form request.
*
* @param array $input
*
* @return Response
*/
public function handle(array $input)
{
// 获取外部传递参数
$goodsId = $input['goods_id'];
$coverImg= $input['cover_img'];
$bannerImg= $input['img_banner'];
return $this->error('修改成功');
}
/**
* Build a form here.
*/
public function form()
{
$id = $this->getKey();
$this->display('activity_type_limit_nums','同一活动类型商品单笔订单可购买商品种数');
$this->number('flash_sale','秒杀')->value()->default();
$this->image('group_buy','团购')->value()->default();
$this->image('new_product','新品')->value()->default();
}
/**
* The data of the form.
*
* @return array
*/
public function default()
{
return [];
}
}

68
app/Admin/Forms/v3/GoodsActivitySettingForm.php

@ -0,0 +1,68 @@
<?php
namespace App\Admin\Forms\v3;
use Dcat\Admin\Widgets\Form;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\Redis;
use App\Libs\Redis\RedisKey;
class GoodsActivitySettingForm extends Form
{
/**
* Handle the form request.
*
* @param array $input
*
* @return Response
*/
public function handle(array $input)
{
// 获取外部传递参数
$flashSale = $input['flash_sale'];
$groupBuy= $input['group_buy'];
$newProduct= $input['new_product'];
$data = [
'flash_sale' => $flashSale,
'group_buy' => $groupBuy,
'new_product' => $newProduct,
];
$res = Redis::hmset(RedisKey::ACTIVITY_TYPE_LIMIT_NUMS , $data);
if($res){
return $this->success('修改成功','/goods_activity');
}else{
return $this->error('修改失败');
}
}
/**
* Build a form here.
*/
public function form()
{
$data = Redis::hgetall('activity_type_limit_nums');
$flashSale = $data['flash_sale']?$data['flash_sale']:0;
$groupBuy= $data['group_buy']?$data['group_buy']:0;
$newProduct= $data['new_product']?$data['new_product']:0;
$this->display(RedisKey::ACTIVITY_TYPE_LIMIT_NUMS , '设置')->value('同一活动类型的商品,单笔订单可购买商品种数');
$this->number('flash_sale','秒杀')->attribute('min', 0)->default(1)->value($flashSale);
$this->number('group_buy','团购')->attribute('min', 0)->default(1)->value($groupBuy);
$this->number('new_product','新品')->attribute('min', 0)->default(1)->value($newProduct);
}
/**
* The data of the form.
*
* @return array
*/
public function default()
{
return [];
}
}

1
app/Admin/routes.php

@ -59,6 +59,7 @@ Route::group([
$router->resource('/goods', 'v3\GoodsController');
$router->resource('/goods_activity', 'v3\GoodsActivityController');
$router->resource('/goods_new', 'v3\GoodsNewController');
$router->get('/activity_setting', 'v3\GoodsActivityController@SettingForm');
// 平台管理
$router->resource('/banners', 'v3\BannersController');

12
app/Libs/Redis/RedisKey.php

@ -0,0 +1,12 @@
<?php
namespace App\Libs\Redis;
/**
* @Constants
*/
class RedisKey
{
const ACTIVITY_TYPE_LIMIT_NUMS = 'activity_type_limit_nums';
}
Loading…
Cancel
Save