65 lines
2.4 KiB
PHP
65 lines
2.4 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: Merlin
|
|
* Date: 2020/10/9
|
|
* Time: 16:25
|
|
*/
|
|
|
|
namespace app\common\services\income;
|
|
|
|
use app\common\models\income\WithdrawIncomeDeductionLove;
|
|
use Yunshop\Love\Common\Services\LoveChangeService;
|
|
|
|
class WithdrawIncomeDeductionService
|
|
{
|
|
public static function insert($withdraw_model,$need_deduction_love_data = [],$deductionLove = 0)
|
|
{
|
|
if (!$withdraw_model->type_id) {
|
|
return true;
|
|
}
|
|
$income_ids = array_filter(explode(',',$withdraw_model->type_id));
|
|
$deductionData = [];
|
|
if ($need_deduction_love_data && $deductionLove) {
|
|
foreach ($income_ids as $income_id) {
|
|
$deductionData[] = [
|
|
'uniacid' => \YunShop::app()->uniacid,
|
|
'member_id' => $withdraw_model->member_id,
|
|
'withdraw_id' => $withdraw_model->id,
|
|
'income_id' => $income_id,
|
|
'status' => 1,//已扣除
|
|
'created_at' => time(),
|
|
'updated_at' => time(),
|
|
'need_deduction_love_rate' => $need_deduction_love_data['rate'],
|
|
'need_deduction_love_type' => $need_deduction_love_data['love_sign']
|
|
];
|
|
}
|
|
|
|
if ($deductionData) {
|
|
//扣除爱心值
|
|
(new LoveChangeService($need_deduction_love_data['love_sign']))->withdrawIncomeDeduction([
|
|
'member_id' => $withdraw_model->member_id,
|
|
'change_value' => $deductionLove,
|
|
'operator' => 0,
|
|
'operator_id' => 0,
|
|
'remark' => '收入提现扣除' . $deductionLove.',提现号:'.$withdraw_model->withdraw_sn,
|
|
'relation' => ''
|
|
]);
|
|
|
|
if (count($deductionData) > 5000) {
|
|
$listDeductionData = collect($deductionData)->chunk(5000)->toArray();
|
|
foreach ($listDeductionData as $item) {
|
|
WithdrawIncomeDeductionLove::insert($item);
|
|
}
|
|
return true;
|
|
} else {
|
|
if (WithdrawIncomeDeductionLove::insert($deductionData)) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
} |