完善会员管理
parent
eaa3bd791e
commit
69234d6e1a
|
|
@ -9,6 +9,10 @@ use App\Admin\Actions\Show\UserDisableBonus;
|
|||
use App\Admin\Actions\Show\UserEditBank;
|
||||
use App\Admin\Actions\Show\UserEditPhone;
|
||||
use App\Admin\Actions\Show\UserEnableBonus;
|
||||
use App\Admin\Renderable\DistributionPreIncomeSimpleTable;
|
||||
use App\Admin\Renderable\UserBalanceLogSimpleTable;
|
||||
use App\Admin\Renderable\UserFansSimpleTable;
|
||||
use App\Admin\Renderable\UserWalletLogSimpleTable;
|
||||
use App\Admin\Repositories\User;
|
||||
use Dcat\Admin\Admin;
|
||||
use Dcat\Admin\Form;
|
||||
|
|
@ -162,13 +166,13 @@ class UserController extends AdminController
|
|||
$row->column(7, function ($column) use ($id) {
|
||||
$tab = Tab::make();
|
||||
// todo_粉丝列表
|
||||
$tab->add('粉丝列表', 'html1');
|
||||
$tab->add('粉丝列表', UserFansSimpleTable::make(['id'=>$id]));
|
||||
// todo-预收益明细
|
||||
$tab->add('预收益明细', 'html2');
|
||||
$tab->add('预收益明细', DistributionPreIncomeSimpleTable::make(['id'=>$id]));
|
||||
// todo-可提明细
|
||||
$tab->add('可提明细', 'html3');
|
||||
$tab->add('可提明细', UserWalletLogSimpleTable::make(['id'=>$id]));
|
||||
// todo-余额明细
|
||||
$tab->add('余额明细', 'html4');
|
||||
$tab->add('余额明细', UserBalanceLogSimpleTable::make(['id'=>$id]));
|
||||
$column->row(Box::make('用户记录', $tab));
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Renderable;
|
||||
|
||||
use App\Models\DistributionPreIncome;
|
||||
use Dcat\Admin\Grid;
|
||||
use Dcat\Admin\Grid\LazyRenderable;
|
||||
|
||||
class DistributionPreIncomeSimpleTable extends LazyRenderable
|
||||
{
|
||||
public function grid(): Grid
|
||||
{
|
||||
$userId = $this->payload['id']??0;
|
||||
$builder = DistributionPreIncome::query();
|
||||
$builder->with('logs')->where('user_id', $userId);
|
||||
return Grid::make($builder, function (Grid $grid) {
|
||||
$grid->column('remarks', '备注');
|
||||
$grid->column('status', '状态')->using([
|
||||
0=>'未结算',
|
||||
1=>'结算中',
|
||||
2=>'已结算',
|
||||
])->dot([
|
||||
0=>'danger',
|
||||
1=>'danger',
|
||||
2=>'success',
|
||||
]);
|
||||
$grid->column('total_revenue', '收益');
|
||||
$grid->column('created_at', '创建时间');
|
||||
// $grid->withBorder();
|
||||
$grid->model()->orderBy('created_at', 'desc');
|
||||
$grid->disableRefreshButton();
|
||||
$grid->disableActions();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Renderable;
|
||||
|
||||
use App\Models\BalanceLog;
|
||||
use Dcat\Admin\Grid;
|
||||
use Dcat\Admin\Grid\LazyRenderable;
|
||||
|
||||
class UserBalanceLogSimpleTable extends LazyRenderable
|
||||
{
|
||||
public function grid(): Grid
|
||||
{
|
||||
$userId = $this->payload['id']??0;
|
||||
$builder = BalanceLog::query();
|
||||
$builder->where('user_id', $userId);
|
||||
return Grid::make($builder, function (Grid $grid) {
|
||||
$grid->column('remarks', '备注');
|
||||
$grid->column('change_balance', '变动金额(元)')->display(function ($value) {
|
||||
$value = bcdiv($value, 100, 2);
|
||||
return $value;
|
||||
});
|
||||
$grid->column('before_balance', '变动前(元)')->display(function ($value) {
|
||||
$value = bcdiv($value, 100, 2);
|
||||
return $value;
|
||||
});
|
||||
$grid->column('created_at', '变动时间');
|
||||
// $grid->withBorder();
|
||||
$grid->model()->orderBy('created_at', 'desc');
|
||||
$grid->disableRefreshButton();
|
||||
$grid->disableActions();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Renderable;
|
||||
|
||||
use App\Models\UserInfo;
|
||||
use Dcat\Admin\Grid;
|
||||
use Dcat\Admin\Grid\LazyRenderable;
|
||||
|
||||
class UserFansSimpleTable extends LazyRenderable
|
||||
{
|
||||
public function grid(): Grid
|
||||
{
|
||||
$userId = $this->payload['id']??0;
|
||||
$builder = UserInfo::query();
|
||||
$builder->with('user')->where('inviter_id', $userId);
|
||||
return Grid::make($builder, function (Grid $grid) {
|
||||
$grid->column('user.phone', '手机号')->link(function ($value) {
|
||||
return admin_url('users/'.$this->user_id);
|
||||
});
|
||||
$grid->column('agent_level', '管理级别')->display(function ($value) {
|
||||
return $this->agent_level_name??'未知';
|
||||
})->label();
|
||||
|
||||
$grid->column('growth_value', '消费值');
|
||||
$grid->column('group_sales_value', '业绩');
|
||||
|
||||
$grid->column('created_at', '注册时间');
|
||||
// $grid->withBorder();
|
||||
$grid->model()->orderBy('created_at', 'desc');
|
||||
$grid->disableRefreshButton();
|
||||
$grid->disableActions();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Renderable;
|
||||
|
||||
use App\Models\WalletLog;
|
||||
use Dcat\Admin\Grid;
|
||||
use Dcat\Admin\Grid\LazyRenderable;
|
||||
|
||||
class UserWalletLogSimpleTable extends LazyRenderable
|
||||
{
|
||||
public function grid(): Grid
|
||||
{
|
||||
$userId = $this->payload['id']??0;
|
||||
$builder = WalletLog::query();
|
||||
$builder->where('user_id', $userId);
|
||||
return Grid::make($builder, function (Grid $grid) {
|
||||
$grid->column('remarks', '备注');
|
||||
$grid->column('change_balance', '变动金额(元)')->display(function ($value) {
|
||||
$value = bcdiv($value, 100, 2);
|
||||
return $value;
|
||||
});
|
||||
$grid->column('before_balance', '变动前(元)')->display(function ($value) {
|
||||
$value = bcdiv($value, 100, 2);
|
||||
return $value;
|
||||
});
|
||||
$grid->column('created_at', '变动时间');
|
||||
// $grid->withBorder();
|
||||
$grid->model()->orderBy('created_at', 'desc');
|
||||
$grid->disableRefreshButton();
|
||||
$grid->disableActions();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -202,7 +202,11 @@ class WalletController extends Controller
|
|||
$rate = app_settings('withdraw.rate', '0.00');//手续费率
|
||||
|
||||
//计算手续费(四舍五入)
|
||||
$serviceAmount = round($rate*$amount);
|
||||
$serviceAmount = round(bcdiv($rate, 100, 4)*$amount);
|
||||
// //最少1分手续费
|
||||
// if ($serviceAmount == 0) {
|
||||
// $serviceAmount = 1;
|
||||
// }
|
||||
//生成提现记录
|
||||
$log = WalletToBankLog::create([
|
||||
'user_id' =>$user->id,
|
||||
|
|
|
|||
|
|
@ -2,12 +2,14 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
||||
use EloquentFilter\Filterable;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class BalanceLog extends Model
|
||||
{
|
||||
use Filterable;
|
||||
use HasDateTimeFormatter;
|
||||
|
||||
public const ACTION_ORDER_PAID = 1;
|
||||
public const ACTION_ORDER_CANCELLED = 2;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,13 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class DistributionPreIncome extends Model
|
||||
{
|
||||
use HasDateTimeFormatter;
|
||||
|
||||
public const STATUS_PENDING = 0;
|
||||
public const STATUS_PROCESSING = 1;
|
||||
public const STATUS_PROCESSED = 2;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,14 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class UserInfo extends Model
|
||||
{
|
||||
use HasDateTimeFormatter;
|
||||
|
||||
public const GENDER_UNKNOWN = 'unknown'; // 未知
|
||||
public const GENDER_MALE = 'male'; // 男性
|
||||
public const GENDER_FEMALE = 'female'; // 女性
|
||||
|
|
|
|||
|
|
@ -2,12 +2,14 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
||||
use EloquentFilter\Filterable;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class WalletLog extends Model
|
||||
{
|
||||
use Filterable;
|
||||
use HasDateTimeFormatter;
|
||||
|
||||
public const ACTION_ORDER_PAID = 1;
|
||||
public const ACTION_ORDER_CANCELLED = 2;
|
||||
|
|
|
|||
Loading…
Reference in New Issue