This commit is contained in:
yaooo 2023-09-28 15:04:11 +08:00
commit daa68a2856
2 changed files with 15 additions and 8 deletions

View File

@ -689,14 +689,14 @@ class MerchantRepository extends BaseRepository
public function autoMargin($income, $order, $finance, $financeSn, $index = 0) public function autoMargin($income, $order, $finance, $financeSn, $index = 0)
{ {
$merchant = Merchant::find($this->merId); $merchant = Merchant::find($this->merId);
$margin = Db::name('MerchantType')->where('mer_type_id', $merchant['type_id'])->value('margin'); $margin_type = Db::name('MerchantType')->where('mer_type_id', $merchant['type_id'])->value('margin');
//商户保证金大于支付保证金 或者forceMargin==false 直接返回 不计算保证金 //商户保证金大于支付保证金 或者forceMargin==false 直接返回 不计算保证金
if ($merchant['paid_margin']>= $margin|| ($this->forceMargin === false && $merchant['auto_margin_rate'] == 0)) { if ($merchant['paid_margin']>= $margin_type|| ($this->forceMargin === false && $merchant['auto_margin_rate'] == 0)) {
return [$income, $finance, false]; return [$income, $finance, false];
} }
$rate = $this->forceMargin ? 100 : $merchant['auto_margin_rate']; $rate = $this->forceMargin ? 100 : $merchant['auto_margin_rate'];
// //商户保证金未完全缴纳且设置了自动扣除比例 // //商户保证金未完全缴纳且设置了自动扣除比例
$margin = bcmul($income, bcdiv($rate, 100,2), 2); $margin= bcmul($income, bcdiv($rate, 100,2), 2);
// $margin = min(bcsub($margin, $merchant['paid_margin'], 2), $margin); // $margin = min(bcsub($margin, $merchant['paid_margin'], 2), $margin);
// $income = max(bcsub($income, $margin, 2), 0); // $income = max(bcsub($income, $margin, 2), 0);
// if ($margin <= 0) { // if ($margin <= 0) {
@ -714,10 +714,14 @@ class MerchantRepository extends BaseRepository
'mer_id' => $this->merId, 'mer_id' => $this->merId,
'financial_record_sn' => $financeSn . $index 'financial_record_sn' => $financeSn . $index
]; ];
if(bcadd($merchant['paid_margin'],$margin)>=$margin_type){
$is_margin=10;
}else{
$is_margin=1;
}
$orderInfo = [ $orderInfo = [
'type_id' => $merchant['type_id'], 'type_id' => $merchant['type_id'],
'is_margin' => $merchant['is_margin'], 'is_margin' => $is_margin,
'margin' => $margin, 'margin' => $margin,
]; ];
$values = [ $values = [
@ -738,7 +742,7 @@ class MerchantRepository extends BaseRepository
} }
$merchant->paid_margin = bcadd($margin, $merchant->paid_margin, 2); $merchant->paid_margin = bcadd($margin, $merchant->paid_margin, 2);
$merchant->ot_margin = $merchant->paid_margin; $merchant->ot_margin = $merchant->paid_margin;
$merchant->is_margin = MerchantRepository::PaidMargin; $merchant->is_margin = $is_margin;
if ($merchant->save() === false) { if ($merchant->save() === false) {
throw new \Exception('merchant 保存出错', 500); throw new \Exception('merchant 保存出错', 500);
} }

View File

@ -275,9 +275,12 @@ class Auth extends BaseController
public function doMargin() public function doMargin()
{ {
$user = $this->request->userInfo(); $user = $this->request->userInfo();
$merchant = Db::name('merchant')->where('uid', $user['uid'])->where('status', 1)->where('is_margin', 1)->find(); $merchant = Db::name('merchant')->where('uid', $user['uid'])->where('status', 1)->find();
if (!$merchant) { if (!$merchant) {
return app('json')->fail('用户店铺异常'); return app('json')->fail('没有店铺');
}
if($merchant['is_margin'] == 10){
return app('json')->fail('保证金已缴纳');
} }
if($merchant['margin'] == 0){ if($merchant['margin'] == 0){
$margin = Db::name('MerchantType')->where('mer_type_id', $merchant['type_id'])->value('margin'); $margin = Db::name('MerchantType')->where('mer_type_id', $merchant['type_id'])->value('margin');