getList([ ['id', 'in', $cycleIds] ],'id,start_time,end_time'); $cycleList = array_column($cycleList, null, 'id'); // 获取结算记录信息 $list = model('commission_partner')->getList([ ['cycle_id', 'in', $cycleIds], ['is_settlement', '=', 0], ],'id,member_id,cycle_id,money,site_id'); if(count($list) > 0){ $insertData = []; foreach($list as $singleInfo){ $cycleInfo = $cycleList[$singleInfo['cycle_id']] ?? []; $timePeriod = date("Y-m-d H:i:s",$cycleInfo['start_time']) . ' ~ ' . date("Y-m-d H:i:s",$cycleInfo['end_time']); $insertData[] = [ 'site_id' => $singleInfo['site_id'], 'member_id' => $singleInfo['member_id'], 'join_id' => $singleInfo['id'], 'account_type' => 'partner', 'account_type_name' => '合伙人佣金', 'account_data' => $singleInfo['money'], 'remark' => $timePeriod . "权重值收入", ]; } // 记录信息 if(count($insertData) > 0) model('commission_account')->addList($insertData); // 修改结算状态 $ids = array_column($list,'id'); model('commission_partner')->update([ 'is_settlement' => 1],[ ['id', 'in', $ids] ]); // 结算当前订单的 招商员佣金、推广员佣金 Queue::push(AccountSettlementJob::class,[ 'account_type' => 'partner', ]); } Db::commit(); } catch(\Exception $e){ Db::rollback(); $data['error_msg'] = $e->getMessage(); trace($data, '平台抽成 - 合伙人佣金结算 - 失败'); } $job->delete(); } public function failed($data){ trace($data, '平台抽成 - 合伙人佣金结算 - 失败(failed)'); } }