public function get_transfer_ad($ad_id) { $me = $_SESSION['id']; $start = $_REQUEST['start']; $end = $_REQUEST['end']; $ad_service = new AD(); $channel = $ad_service->get_ad_channel_by_id($ad_id); $agreement_service = new Agreement(); $agreement = $agreement_service->get_agreement_by_adid($ad_id); $agreement_id = $agreement['id']; $filters = array('salesman' => $me, 'channel' => $channel); // 取出用户在该渠道下的所有广告 $ads = $ad_service->get_all_ad_info($filters); // 取出这段期间内有量的广告 $quote_service = new Quote(); $quote_ads = $quote_service->get_all_quote_ad($start, $end); $ids = array_unique(array_intersect(array_keys($ads), array_keys($quote_ads))); $list = array(); $invoice_service = new Invoice(); foreach ($ids as $id) { // 剔除该段时间内已经开过票的广告 $nums = $invoice_service->is_invoice($id, $start, $end); if ($nums > 0) { continue; } // 剔除没有关联合同的广告 if (!isset($ads[$id]['agreement_id'])) { continue; } $ad = array('ad_id' => $id, 'ad_name' => $ads[$id]['ad_name'], 'channel_id' => $ads[$id]['cid'], 'channel' => $agreement_id, 'alias' => $ads[$id]['channel']); $list[] = $ad; } $this->output(array('code' => 0, 'msg' => "get", 'list' => $list)); }