getColumn([ ['order_id', '=', $data['order_id']] ],'id'); $where[] = ['join_id', 'in', $joinIds]; } // 流水列表 $list = model('commission_account')->getList($where,'id,sum(account_data) as total_account_data,member_id','','a',[],'member_id'); // 获取用户已经持有信息 $memberIds = array_column($list, 'member_id'); $userList = Db::name('member') ->field('commission_money,member_id') ->whereIn('member_id', $memberIds) ->select() ->toArray(); $userList = array_column($userList, null, 'member_id'); // 循环流水列表 结算信息 foreach($list as $singleInfo){ $userList[$singleInfo['member_id']]['commission_money'] += $singleInfo['total_account_data']; } // 修改 $newBaseModel = (new NewBaseModel(['table_name' => 'member', 'pk' => 'member_id'])); $userList = array_values($userList); $newBaseModel->saveAll($userList); // 已结算 model('commission_account')->update(['status'=>1],[ ['id', 'in', array_column($list, 'id')] ]); Db::commit(); } catch(\Exception $e){ $data['error_msg'] = $e->getMessage(); trace($data, '平台抽成 - 流水结算到账 - 失败'); Db::rollback(); } $job->delete(); } public function failed($data){ trace($data, '平台抽成 - 流水结算到账 - 失败(failed)'); } }