修复:文创空间 - 文创豆提现计算到账余额错误,未修改实时费率的问题
This commit is contained in:
parent
e46419cd13
commit
4e84c3064f
|
|
@ -16,6 +16,7 @@ use Illuminate\Support\Facades\DB;
|
|||
use Yunshop\Commission\models\CommissionOrder;
|
||||
use Yunshop\CulturalSpace\models\ContributionBonusLog;
|
||||
use Yunshop\CulturalSpace\models\ContributionLog;
|
||||
use Yunshop\CulturalSpace\models\CulturalFund;
|
||||
use Yunshop\CulturalSpace\models\CulturalOrderFundLog;
|
||||
use Yunshop\CulturalSpace\models\CulturalSpace;
|
||||
use Yunshop\ShareholderDividend\models\ShareholderDividendModel;
|
||||
|
|
@ -288,24 +289,33 @@ class IndexController extends ApiController{
|
|||
DB::beginTransaction();
|
||||
try{
|
||||
// 计算手续费和减少金额
|
||||
$realityMoney = $withdrawalNumber;// 实际到账余额数量 默认为提现数量
|
||||
$realityMoney = $withdrawalNumber;// 实际到账文创豆数量 默认为提现数量
|
||||
$commission = (int)0;// 默认手续费
|
||||
$commissionRate = (int)20;// 手续费比例
|
||||
if($commissionRate > 0){
|
||||
$commission = (float)sprintf("%.2f", $withdrawalNumber * (float)$commissionRate / 100);// 手续费
|
||||
$realityMoney = (float)sprintf("%.2f",$realityMoney - $commission);// 实际到账余额数量
|
||||
$realityMoney = (float)sprintf("%.2f",$realityMoney - $commission);// 实际到账文创豆数量
|
||||
}
|
||||
// 减少当前用户持有文创豆
|
||||
$recordId = (new CulturalOrderFundLog())->transferHandle((int)$uid,(float)$withdrawalNumber,1,"提现到余额,手续费{$commission}",2);
|
||||
$recordId = (new CulturalOrderFundLog())->transferHandle((int)$uid,(float)$withdrawalNumber,1,"提现到余额,手续费{$commission}个豆",2);
|
||||
// 计算获得的实际余额
|
||||
$culturalFund = CulturalFund::uniacid()->first();
|
||||
$realityBalance = (float)sprintf("%.2f",$realityMoney * $culturalFund->current_fee);// 实际到账余额
|
||||
|
||||
$culturalFund->fund_money = $culturalFund->fund_money - $realityBalance;// 减少基金总数 实际到账数量
|
||||
$culturalFund->voucher_number = $culturalFund->voucher_number - $withdrawalNumber;// 减少文创豆总数 提现数量(包括手续费)
|
||||
$culturalFund->last_fee = $culturalFund->current_fee;// 当前费率 成为 上一次费率
|
||||
$culturalFund->current_fee = $culturalFund->fund_money / $culturalFund->voucher_number;// 重新计算费率
|
||||
$culturalFund->save();
|
||||
// 增加用户余额
|
||||
$data = [
|
||||
'member_id' => $uid,
|
||||
'remark' => "文创豆提现{$withdrawalNumber},手续费{$commission},实际到账{$realityMoney}",
|
||||
'remark' => "文创豆提现{$withdrawalNumber},手续费{$commission}个豆,实际到账{$realityBalance}",
|
||||
'source' => ConstService::CULTURAL_SPACE_LEGUMES,
|
||||
'relation' => '',
|
||||
'operator' => ConstService::OPERATOR_MEMBER,
|
||||
'operator_id' => $recordId,
|
||||
'change_value' => $realityMoney
|
||||
'change_value' => $realityBalance
|
||||
];
|
||||
$result = (new BalanceChange())->income($data);
|
||||
if ($result !== true) throw new ShopException("提现失败:{$result}");
|
||||
|
|
|
|||
Loading…
Reference in New Issue