6
0
Fork 0
release
panliang 2022-05-23 13:54:37 +08:00
parent c65385a21c
commit c959b718a0
10 changed files with 91 additions and 9 deletions

View File

@ -18,3 +18,4 @@
- 自动取消未支付的订单: `php artisan order:close-expired`
- 自动完成待收货的订单: `php artisan order:complete`
- 生成订单的提成记录: `php artisan order:distribute`
- 发放优惠券: `php artisan admin-work:send-coupon`

View File

@ -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();
});
}
}

View File

@ -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');

View File

@ -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));
}

View File

@ -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;

View File

@ -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']
],
],
[

View File

@ -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

View File

@ -1,8 +1,10 @@
<?php
return [
'labels' => [
'SalesValueLog' => 'SalesValueLog',
'sales-value-log' => 'SalesValueLog',
'SalesValueLog' => '成长值流水',
'salesValueLog' => '成长值流水',
'sales-value-log' => '成长值流水',
'sales-value-logs' => '成长值流水',
],
'fields' => [
'user_id' => '用户',