Browse Source

优惠券迁移--修改列表和添加

master
liangyuyan 6 years ago
parent
commit
d60965304b
  1. 21
      app/Admin/Controllers/CouponController.php
  2. 42
      app/Admin/Repositories/Coupon.php
  3. 2
      app/Models/Coupon.php
  4. 14
      app/Models/CouponUse.php

21
app/Admin/Controllers/CouponController.php

@ -32,7 +32,6 @@ class CouponController extends AdminController
$grid->inventory;
$grid->inventory_use;
$grid->active_type_text;
$grid->status
->using(
config('coupon.status')
@ -116,8 +115,9 @@ class CouponController extends AdminController
$form->select('active_type')->width(3)->options(config('coupon.active_type'))->default(1);
/* 领取方式 */
$receive = couponSettingModel::select('id','value','name')->where('category')->get();
$form->select('receive_type')->width(3)->options([])->default(2);
$receive = couponSettingModel::select('id','name')->where('category',1)->get()->keyBy('id')->toArray();
$receive = $this->keyToValue($receive,'id','name');
$form->select('receive_type')->width(3)->options($receive)->default(2);
$form->select('type')->width(3)->options(config('coupon.type'))->default(1)->disable();
$form->select('category')->width(3)->options(config('coupon.category'))->default(1)->disable();
@ -135,6 +135,21 @@ class CouponController extends AdminController
$form->display('created_at');
$form->display('updated_at');
});
}
/**
* 组装新数组
*/
public function keyToValue($array, $key, $value){
if(empty($array)){
return $array;
}
$newArray = [];
foreach($array as $v){
$newArray[$v[$key]] = $v[$value];
}
return $newArray;
}
}

42
app/Admin/Repositories/Coupon.php

@ -5,6 +5,8 @@ namespace App\Admin\Repositories;
use App\Models\Coupon as Model;
use Dcat\Admin\Grid\Model as GridModel;
use Dcat\Admin\Repositories\EloquentRepository;
use App\Models\CouponUse as CouponUseModel;
use Illuminate\Support\Facades\DB;
class Coupon extends EloquentRepository
{
@ -15,4 +17,44 @@ class Coupon extends EloquentRepository
*/
protected $eloquentClass = Model::class;
/**
* 查询Grid表格数据.
*
* @param Grid\Model $model
*
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator|Collection|array
*/
public function get(GridModel $model)
{
$this->setSort($model);
$this->setPaginate($model);
$query = $this->newQuery();
if ($this->relations) {
$query->with($this->relations);
}
$model->getQueries()->unique()->each(function ($value) use (&$query) {
if ($value['method'] == 'paginate') {
$value['arguments'][1] = $this->getGridColumns();
} elseif ($value['method'] == 'get') {
$value['arguments'] = [$this->getGridColumns()];
}
$query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []);
});
// dd(CouponUseModel::where('system_coupon_id',16)->sum('number'));
// $u = DB::table('ims_system_coupon_user_use')->where('system_coupon_id',16)->count('number');
// dd($u);
// $list = $query->toArray();
// foreach($list as &$value){
// // 查询使用数量
// $value['use_total'] = CouponUseModel::where('system_coupon_id',16)->count('number');
// dd( $value['use_total'] );
// }
return $query;
}
}

2
app/Models/Coupon.php

@ -12,7 +12,7 @@ class Coupon extends Model
use SoftDeletes;
protected $table = 'ims_system_coupon_user';
protected $perPage = 10;
protected $appends = [
'status_text',
'type_text',

14
app/Models/CouponUse.php

@ -0,0 +1,14 @@
<?php
namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
class CouponUse extends Model
{
use HasDateTimeFormatter;
protected $table = 'ims_system_coupon_user_use';
}
Loading…
Cancel
Save