From 69234d6e1aead252f8d9f8e209af8ed16f3f41b0 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Wed, 29 Dec 2021 21:12:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BC=9A=E5=91=98=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/UserController.php | 12 ++++--- .../DistributionPreIncomeSimpleTable.php | 35 +++++++++++++++++++ .../Renderable/UserBalanceLogSimpleTable.php | 33 +++++++++++++++++ app/Admin/Renderable/UserFansSimpleTable.php | 34 ++++++++++++++++++ .../Renderable/UserWalletLogSimpleTable.php | 33 +++++++++++++++++ .../Controllers/Account/WalletController.php | 6 +++- app/Models/BalanceLog.php | 2 ++ app/Models/DistributionPreIncome.php | 3 ++ app/Models/UserInfo.php | 3 ++ app/Models/WalletLog.php | 2 ++ 10 files changed, 158 insertions(+), 5 deletions(-) create mode 100644 app/Admin/Renderable/DistributionPreIncomeSimpleTable.php create mode 100644 app/Admin/Renderable/UserBalanceLogSimpleTable.php create mode 100644 app/Admin/Renderable/UserFansSimpleTable.php create mode 100644 app/Admin/Renderable/UserWalletLogSimpleTable.php diff --git a/app/Admin/Controllers/UserController.php b/app/Admin/Controllers/UserController.php index 74b3ab2d..5c9f9cf0 100644 --- a/app/Admin/Controllers/UserController.php +++ b/app/Admin/Controllers/UserController.php @@ -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)); }); }; diff --git a/app/Admin/Renderable/DistributionPreIncomeSimpleTable.php b/app/Admin/Renderable/DistributionPreIncomeSimpleTable.php new file mode 100644 index 00000000..fe75be33 --- /dev/null +++ b/app/Admin/Renderable/DistributionPreIncomeSimpleTable.php @@ -0,0 +1,35 @@ +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(); + }); + } +} diff --git a/app/Admin/Renderable/UserBalanceLogSimpleTable.php b/app/Admin/Renderable/UserBalanceLogSimpleTable.php new file mode 100644 index 00000000..48241453 --- /dev/null +++ b/app/Admin/Renderable/UserBalanceLogSimpleTable.php @@ -0,0 +1,33 @@ +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(); + }); + } +} diff --git a/app/Admin/Renderable/UserFansSimpleTable.php b/app/Admin/Renderable/UserFansSimpleTable.php new file mode 100644 index 00000000..7657508f --- /dev/null +++ b/app/Admin/Renderable/UserFansSimpleTable.php @@ -0,0 +1,34 @@ +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(); + }); + } +} diff --git a/app/Admin/Renderable/UserWalletLogSimpleTable.php b/app/Admin/Renderable/UserWalletLogSimpleTable.php new file mode 100644 index 00000000..86d2a27b --- /dev/null +++ b/app/Admin/Renderable/UserWalletLogSimpleTable.php @@ -0,0 +1,33 @@ +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(); + }); + } +} diff --git a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php index 38581b08..b83c3d83 100644 --- a/app/Endpoint/Api/Http/Controllers/Account/WalletController.php +++ b/app/Endpoint/Api/Http/Controllers/Account/WalletController.php @@ -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, diff --git a/app/Models/BalanceLog.php b/app/Models/BalanceLog.php index a3f527d3..7e1769b5 100644 --- a/app/Models/BalanceLog.php +++ b/app/Models/BalanceLog.php @@ -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; diff --git a/app/Models/DistributionPreIncome.php b/app/Models/DistributionPreIncome.php index 926ad391..b59a6890 100644 --- a/app/Models/DistributionPreIncome.php +++ b/app/Models/DistributionPreIncome.php @@ -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; diff --git a/app/Models/UserInfo.php b/app/Models/UserInfo.php index 681e78eb..4dec2248 100644 --- a/app/Models/UserInfo.php +++ b/app/Models/UserInfo.php @@ -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'; // 女性 diff --git a/app/Models/WalletLog.php b/app/Models/WalletLog.php index 6727dc23..12b915d1 100644 --- a/app/Models/WalletLog.php +++ b/app/Models/WalletLog.php @@ -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;