Browse Source

优惠券迁移-修改

master
liangyuyan 6 years ago
parent
commit
7656feff1e
  1. 95
      app/Admin/Controllers/CouponController.php
  2. 4
      app/Models/Coupon.php
  3. 2
      config/coupon.php
  4. 7
      resources/lang/zh-CN/coupon.php

95
app/Admin/Controllers/CouponController.php

@ -12,9 +12,13 @@ use App\Models\CouponSetting as SettingModel;
use App\Models\Coupon as CouponModel;
use App\Models\ImsCjdcMarket as marketModel;
use App\Models\StoreType as storeTypeModel;
use Illuminate\Support\Facades\DB;
use function GuzzleHttp\json_decode;
class CouponController extends AdminController
{
protected $receive_type = 0;
/**
* Make a grid builder.
*
@ -22,6 +26,10 @@ class CouponController extends AdminController
*/
protected function grid()
{
// DB::select();
// $model = new CouponModel();
// $list = $model->setAppends([])->select('id','title')->get();
// dd($list->toArray());
return Grid::make(new Coupon(), function (Grid $grid) {
$grid->id->sortable();
$grid->title;
@ -34,6 +42,7 @@ class CouponController extends AdminController
$grid->inventory;
$grid->inventory_use;
$grid->use_number;
$grid->active_type_text;
$grid->status
->using(
@ -42,17 +51,14 @@ class CouponController extends AdminController
->label(
config('coupon.status_label')
);
// $grid->usable_start_time->display(function($time){
// return date('Y-m-d H:i:s',$time);
// });
// $grid->usable_end_time->display(function($time){
// return date('Y-m-d H:i:s',$time);
// });
$grid->filter(function (Grid\Filter $filter) {
$filter->like('name');
$filter->like('title','标题');
$filter->equal('discount_type')->select(config('coupon.discount_type'));
$filter->equal('active_type')->select(config('coupon.active_type'));
$status = config('coupon.status');
unset($status[-1]);
$filter->in('status')->multipleSelect($status);
});
});
}
@ -120,14 +126,21 @@ class CouponController extends AdminController
protected function form()
{
return Form::make(new Coupon(), function (Form $form) {
$receiveTypeId = 0;
// $startTime = null;
// $receiveTypeId = 0;
$startTime = null;
$endTime = null;
$usableStartTime = null;
$usableEndTime = null;
if($form->isEditing()){
$id = $form->getKey();
// 查询已选择的领取方式
$receiveType = ReceiveTypeModel::where('system_coupon_user_id',$id)->first('receive_type');
$receiveTypeId = $receiveType ? $receiveType->receive_type : $receiveTypeId ;
// $startTime = date('Y-m-d H:i:s',$form->model()->start_time);
$receiveTypeId = $receiveType ? $receiveType->receive_type : $this->receive_type ;
$startTime = date('Y-m-d H:i:s',$form->model()->start_time);
$endTime = date('Y-m-d H:i:s',$form->model()->end_time);
$usableStartTime = date('Y-m-d H:i:s',$form->model()->usable_start_time);
$usableEndTime = date('YmdHis',$form->model()->usable_end_time);
// dd($usableEndTime);
}
/* 页面按钮 */
@ -136,7 +149,6 @@ class CouponController extends AdminController
$form->hidden('id');
$form->hidden('created_at');
$form->hidden('updated_at');
$form->hidden('receive_type');
/* 编辑字段 */
$form->text('title')->required()->maxLength(255,'最多只能输入500个字');
@ -146,14 +158,18 @@ class CouponController extends AdminController
$form->text('discounts')->width(2)->required()->floatTwo();
$form->radio('discount_type')->options(config('coupon.discount_type'))->default(1)->required();
$form->text('inventory')->width(2)->required()->type('number')->attribute('min', 1)->default(1);
$form->datetime('start_time')->width(3)->required()
->format('YYYY-MM-DD HH:mm:ss')
->value('2020-08-21 20:20:20')
;
$form->datetime('end_time')->width(3)->required();
$form->datetime('usable_start_time')->width(3)->required();
$form->datetime('usable_end_time')->width(3)->required();
$form->datetime('start_time_text')->width(3)->required()
// ->value($startTime)
;
$form->datetime('end_time')->width(3)->required()->value($endTime);
$form->datetime('usable_start_time')->width(3)->required()->value($usableStartTime);
$form->datetime('usable_end_time')->width(3)->required()
// ->value(20200810121222)
// ->value('2020-08-10 10:10:00')
// ->value($usableEndTime)
// ->format('YYYY-MM-DD HH:mm:ss')
;
$form->select('active_type')->width(3)->options(config('coupon.active_type'))->default(1);
/* 领取方式 */
@ -174,15 +190,15 @@ class CouponController extends AdminController
$form->text('weigh')->width(2)->type('number')->attribute('min', 0)->default(0);
$form->text('remark')->maxLength(500,'最多只能输入500个字');
$form->saving(function (Form $form) use(&$receiveTypeId){
$form->saving(function (Form $form){
if( $form->discount_type == 2 && $form->discount > 0 && $form->discount < 10){
return $form->error('优惠金额请输入1~10之间的数字');
}
$receiveTypeId = $form->receive_type;
$this->receive_type = $form->receive_type;
$form->deleteInput('receive_type');
// $form->model()->deleteFiles('receive_type');
$form->deleteInput('start_time_text');
});
$form->saved(function (Form $form, $result) use($receiveTypeId){
$form->saved(function (Form $form, $result){
$id = $form->getKey();
@ -202,9 +218,9 @@ class CouponController extends AdminController
// 添加领取方式
$receiveModel = new ReceiveTypeModel();
$receiveModel->system_coupon_user_id = $id;
$receiveModel->receive_type = $receiveTypeId;
$receiveModel->receive_type = $this->receive_type;
// 获取一次可领取数量
$receiveNumber = SettingModel::select('value')->find($receiveTypeId);
$receiveNumber = SettingModel::select('value')->find($this->receive_type);
$receiveModel->one_receive_number = $receiveNumber ? $receiveNumber['value'] :1;
$receiveModel->save();
});
@ -216,32 +232,9 @@ class CouponController extends AdminController
$model->status = -1;
$model->save();
});
/* 忽略字段 */
// $form->ignore(['receive_type']);
});
}
/**
* Handle the form request.
*
* @param array $input
*
* @return Response
*/
public function handle(array $input)
{
dd($input);
$data = $input;
$coupon = 1;
if($coupon === false){
return $this->error('数据保存失败');
}
return $this->success('数据保存成功', '/coupon');
}
/**
* 组装新数组
*/

4
app/Models/Coupon.php

@ -14,6 +14,7 @@ class Coupon extends Model
use SoftDeletes;
protected $dateFormat = 'U';
// protected $timestamp = true;
protected $table = 'ims_system_coupon_user';
/* 查询记录数 limit */
@ -30,7 +31,7 @@ class Coupon extends Model
'end_time_text',
'usable_start_time_text',
'usable_end_time_text',
'receive_type_text',
// 'receive_type_text',
'created_at_text',
'updated_at_text'
];
@ -110,6 +111,7 @@ class Coupon extends Model
// 设置
protected function setStartTimeAttribute($value)
{
$value = $this->start_time_text;
$this->attributes['start_time'] = strtotime($value);
}

2
config/coupon.php

@ -6,7 +6,7 @@ return [
-1=> '已删除',
0=>'草稿',
1=>'正常',
2=>'已完',
2=>'已完',
3=>'禁用',
],
'status_label'=>[

7
resources/lang/zh-CN/coupon.php

@ -23,8 +23,8 @@ return [
'storetype_id' => '店铺类型',
'category' => '分类',
'category_text' => '分类',
'active_type' => '优惠券活动类型',
'active_type_text' => '优惠券活动类型',
'active_type' => '活动类型',
'active_type_text' => '活动类型',
'status' => '状态',
'status_text' => '状态',
'remark' => '备注',
@ -39,7 +39,8 @@ return [
'receive_type' => '领取方式',
'receive_type_text' => '领取方式',
'created_at_text' => '创建时间',
'updated_at_text' => '更新时间'
'updated_at_text' => '更新时间',
'use_number' => '已使用数量'
],
'options' => [
],

Loading…
Cancel
Save