Browse Source

优惠券-添加tags问题

优惠券-列表统计使用数量
master
liangyuyan 5 years ago
parent
commit
f1b79f9f1f
  1. 39
      app/Admin/Controllers/v3/CouponController.php
  2. 4
      app/Models/v3/Coupon.php
  3. 11
      app/Models/v3/CouponUse.php

39
app/Admin/Controllers/v3/CouponController.php

@ -15,6 +15,7 @@ use App\Models\v3\Coupon as CouponModel;
use App\Models\v3\Market as MarketModel;
use App\Models\v3\Category as CategoryModel;
use Dcat\Admin\Form\NestedForm;
use App\Models\v3\CouponUse as UseModel;
class CouponController extends AdminController
{
@ -38,7 +39,12 @@ class CouponController extends AdminController
$grid->inventory;
$grid->inventory_use;
$grid->use_number;
$grid->use_number->display(function($use){
$id = $this->id;
$number = UseModel::getUseCount([['coupon_id','=',$id]])->toArray();
$item = isset($number[0]['total']) ? $number[0]['total'] : 0;
return $item;
});
$grid->active_type_text;
$grid->status
->using(
@ -75,6 +81,9 @@ class CouponController extends AdminController
$filter->in('status')->multipleSelect($status);
});
$grid->model()->orderBy('id', 'desc');
// 每页10条
$grid->paginate(10);
$grid->disableBatchDelete();
// $grid->disableCreateButton();
$grid->disableDeleteButton();
@ -224,13 +233,33 @@ class CouponController extends AdminController
// $form->text('usable_number')->width(2)->default(1)->disable();
$form->saving(function (Form $form){
$tags = $form->input('tags');
$activityAvailable = $form->input('activity_available');
if( $form->discount_type == 2 && ($form->discounts <= 0 || $form->discounts >= 10)){
return $form->error('优惠金额请输入1~10之间的数字');
}
$form->activity_available = empty($form->input('activity_available'))? [] : $form->input('activity_available');
$form->tags = empty($form->input('tags'))? [] : $form->input('tags');
$form->tags = empty($form->input('tags'))? [] : $form->input('tags');
$tagsArr = [];
if(!empty($tags)){
foreach($tags as $kt => $tag){
if(empty($tag)){
unset($tags[$kt]);
continue;
}
$tagsArr[] = $tag;
}
};
$form->tags = json_encode($tagsArr);
$availableArr = [];
if(!empty($activityAvailable)){
foreach($activityAvailable as $ka => $available){
if(empty($available)){
unset($activityAvailable[$ka]);
continue;
}
$availableArr[] = $available;
}
};
$form->activity_available = json_encode($availableArr);
$form->remark = empty($form->input('remark')) ? '' : $form->input('remark');
});

4
app/Models/v3/Coupon.php

@ -47,8 +47,8 @@ class Coupon extends Model
protected $casts = [
'market_ids'=>'array',
'category_ids'=>'array',
'tags'=>'array',
'activity_available'=>'array'
// 'tags'=>'json',
// 'activity_available'=>'array'
];
public function getStatusTextAttribute()

11
app/Models/v3/CouponUse.php

@ -3,12 +3,21 @@
namespace App\Models\v3;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class CouponUse extends Model
{
use HasDateTimeFormatter;
protected $table = 'lanzu_coupon_use';
/**
* 根据条件 获取使用数量
*/
public static function getUseCount($where)
{
$data = self::select(DB::raw(' COUNT(id) as total,coupon_id'))->where($where)->groupBy('coupon_id')->get();
return $data;
}
}
Loading…
Cancel
Save