|
|
@@ -10,6 +10,7 @@
|
|
|
// +----------------------------------------------------------------------
|
|
|
namespace app\controller\api\v1\user;
|
|
|
|
|
|
+use app\model\user\UserExtract;
|
|
|
use app\Request;
|
|
|
use app\services\user\UserExtractServices;
|
|
|
use crmeb\services\WithdrawService;
|
|
|
@@ -44,6 +45,35 @@ class UserExtractController
|
|
|
return app('json')->successful($this->services->bank($uid));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public function cash_calculator(Request $request)
|
|
|
+ {
|
|
|
+ $fee = sys_data('withdraw_fee');
|
|
|
+ $fees = [];
|
|
|
+ foreach ($fee as $v) {
|
|
|
+ $fees[$v['month_number']] = (string)$v['fee'];
|
|
|
+ }
|
|
|
+ krsort($fees, SORT_DESC);
|
|
|
+ $sum_money = UserExtract::where('uid', $request->uid())
|
|
|
+ ->whereTime('add_time', 'month')
|
|
|
+ ->where('extract_type', '<>', 'balance')
|
|
|
+ ->where('status', 1)->sum('extract_price');
|
|
|
+ $money = $request->post('money');
|
|
|
+ $extract_fee = 0;
|
|
|
+ $max = PHP_INT_MAX;
|
|
|
+ foreach ($fees as $k => $v) {
|
|
|
+ if ($sum_money > $max) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ $max = $k;
|
|
|
+ if ($sum_money + $money > $k) {
|
|
|
+ $extract_fee = bcadd($extract_fee, bcmul((string)($sum_money + $money - ($sum_money > $k ? $sum_money : $k)), bcdiv($v, '100', 4), 2));
|
|
|
+ $money = $money - ($sum_money + $money - $k);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return app('json')->success('ok', ['fee' => $extract_fee]);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 提现申请
|
|
|
* @param Request $request
|