distri
parent
c65385a21c
commit
c959b718a0
|
|
@ -18,3 +18,4 @@
|
|||
- 自动取消未支付的订单: `php artisan order:close-expired`
|
||||
- 自动完成待收货的订单: `php artisan order:complete`
|
||||
- 生成订单的提成记录: `php artisan order:distribute`
|
||||
- 发放优惠券: `php artisan admin-work:send-coupon`
|
||||
|
|
|
|||
|
|
@ -213,9 +213,11 @@ class UserController extends AdminController
|
|||
// 余额明细
|
||||
// $tab->add('余额明细', UserBalanceLogSimpleTable::make(['id'=>$id]));
|
||||
// 下级列表
|
||||
$tab->add('下级列表', UserFansSimpleTable::make(['id'=>$id]));
|
||||
$tab->add('直属下级', $this->gridFans($id));
|
||||
// 上级列表
|
||||
$tab->add('上级列表', UserInviterSimpleTable::make(['id'=>$id]));
|
||||
$tab->add('上级列表', $this->gridInviter($id));
|
||||
|
||||
// $tab->add('成长值流水', $this->gridValues($id));
|
||||
$column->row(Box::make('用户记录', $tab));
|
||||
});
|
||||
};
|
||||
|
|
@ -291,4 +293,74 @@ class UserController extends AdminController
|
|||
|
||||
return response()->json($query->get());
|
||||
}
|
||||
|
||||
protected function gridValues($id)
|
||||
{
|
||||
$grid = new Grid(\App\Models\SalesValueLog::with(['order']));
|
||||
|
||||
$grid->model()->where('user_id', $id)->latest('created_at');
|
||||
|
||||
$grid->paginate(1);
|
||||
|
||||
$grid->setKeyName('values');
|
||||
|
||||
$grid->disableActions();
|
||||
$grid->column('order.sn', '订单号');
|
||||
$grid->column('change_sales_value', '成长值');
|
||||
$grid->column('remarks', '备注');
|
||||
$grid->column('created_at', '时间');
|
||||
|
||||
return $grid;
|
||||
}
|
||||
|
||||
protected function gridInviter($id)
|
||||
{
|
||||
$userInfo = UserInfo::where('user_id', $id)->first();
|
||||
$builder = UserInfo::query();
|
||||
$builder->with(['user.agent'])->whereIn('user_id', $userInfo->parent_ids)->latest('depth');
|
||||
return Grid::make($builder, function (Grid $grid) {
|
||||
$grid->model()->orderBy('created_at', 'desc');
|
||||
|
||||
$grid->column('user_id', 'ID');
|
||||
$grid->column('user.phone', '手机号')->link(function ($value) {
|
||||
return admin_url('users/'.$this->user_id);
|
||||
});
|
||||
|
||||
$grid->column('user.agent.name', '代理');
|
||||
$grid->column('user.agent.ratio', '提成比例')->display(function ($v) {
|
||||
return $v ? $v.'%' : '';
|
||||
});
|
||||
$grid->column('growth_value', '成长值');
|
||||
$grid->column('created_at', '注册时间');
|
||||
|
||||
|
||||
$grid->disableRefreshButton();
|
||||
$grid->disableActions();
|
||||
$grid->disablePagination();
|
||||
});
|
||||
}
|
||||
|
||||
protected function gridFans($id)
|
||||
{
|
||||
$builder = UserInfo::query();
|
||||
$builder->with(['user.agent'])->where('inviter_id', $id);
|
||||
return Grid::make($builder, function (Grid $grid) {
|
||||
$grid->model()->orderBy('created_at', 'desc');
|
||||
|
||||
$grid->column('user_id', 'ID');
|
||||
$grid->column('user.phone', '手机号')->link(function ($value) {
|
||||
return admin_url('users/'.$this->user_id);
|
||||
});
|
||||
$grid->column('user.agent.name', '代理');
|
||||
$grid->column('user.agent.ratio', '提成比例')->display(function ($v) {
|
||||
return $v ? $v.'%' : '';
|
||||
});
|
||||
$grid->column('growth_value', '成长值');
|
||||
$grid->column('created_at', '注册时间');
|
||||
|
||||
$grid->disableRefreshButton();
|
||||
$grid->disableActions();
|
||||
$grid->disablePagination();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ Route::group([
|
|||
$router->get('shipping-after-sales', 'AfterSaleController@index')->name('after_sales.shippings');
|
||||
$router->get('finance-after-sales', 'AfterSaleController@index')->name('after_sales.finances');
|
||||
|
||||
$router->get('sales-value-logs', 'SalesValueLogController@index')->name('sales_value_logs');
|
||||
$router->resource('users', 'UserController');
|
||||
|
||||
$router->resource('messages', 'MessageController')->only([
|
||||
|
|
@ -150,8 +151,6 @@ Route::group([
|
|||
|
||||
$router->get('import-job-logs', 'ImportJobLogController@index')->name('import_job_logs.index');
|
||||
|
||||
$router->resource('sales-value-logs', 'SalesValueLogController')->only(['index'])->names('sales_value_logs');
|
||||
|
||||
//商城端-砍价活动
|
||||
$router->resource('bargain-activities', 'BargainActivityController')->names('bargain_activities');
|
||||
$router->resource('bargain-orders', 'BargainOrderController')->only(['index', 'show'])->names('bargain_orders');
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class OrderDistribute extends Command
|
|||
while (true) {
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
$query = Order::completable();
|
||||
$query = Order::where('status', Order::STATUS_COMPLETED);
|
||||
if ($id = $this->argument('order')) {
|
||||
$query->whereIn('id', explode(',', $id));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,18 +107,21 @@ class DistributeService
|
|||
{
|
||||
// 订单已取消, 换货后生成的新订单
|
||||
if ($order->isCancelled() || $order->is_change) {
|
||||
logger(0);
|
||||
return false;
|
||||
}
|
||||
// 订单确认收货
|
||||
if (!$order->isCompleted()) {
|
||||
logger(1);
|
||||
return false;
|
||||
}
|
||||
// 已经生成过返利记录
|
||||
if ($order->profits()->exists()) {
|
||||
logger(2);
|
||||
return false;
|
||||
}
|
||||
// 订单超过售后期限
|
||||
$value = app_setting('sale_after_expire_days');
|
||||
$value = app_settings('sale_after_expire_days');
|
||||
if ($value && $order->completed_at) {
|
||||
$diff_day = $order->completed_at->diffInDays();
|
||||
return $diff_day > $value;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,8 @@ class AdminMenuSeeder extends Seeder
|
|||
'icon' => '',
|
||||
'uri' => 'users',
|
||||
],
|
||||
['title' => '代理等级', 'icon' => '', 'uri' => 'agent']
|
||||
['title' => '代理等级', 'icon' => '', 'uri' => 'agent'],
|
||||
['title' => '成长值流水', 'icon' => '', 'uri' => 'sales-value-logs']
|
||||
],
|
||||
],
|
||||
[
|
||||
|
|
|
|||
|
|
@ -93,6 +93,10 @@ class AdminPermissionSeeder extends Seeder
|
|||
'name' => '代理等级设置',
|
||||
'curd' => ['index', 'show', 'create', 'store', 'destroy'],
|
||||
],
|
||||
'sales_value_logs' => [
|
||||
'name' => '成长值流水',
|
||||
'curd' => ['index'],
|
||||
],
|
||||
'vip' => [
|
||||
'name' => '会员卡管理',
|
||||
'curd' => ['index', 'show', 'create', 'store', 'destroy'],
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 53 KiB |
|
|
@ -1,8 +1,10 @@
|
|||
<?php
|
||||
return [
|
||||
'labels' => [
|
||||
'SalesValueLog' => 'SalesValueLog',
|
||||
'sales-value-log' => 'SalesValueLog',
|
||||
'SalesValueLog' => '成长值流水',
|
||||
'salesValueLog' => '成长值流水',
|
||||
'sales-value-log' => '成长值流水',
|
||||
'sales-value-logs' => '成长值流水',
|
||||
],
|
||||
'fields' => [
|
||||
'user_id' => '用户',
|
||||
|
|
|
|||
Loading…
Reference in New Issue