コード例 #1
0
 public function get_list()
 {
     $pagesize = isset($_REQUEST['pagesize']) ? (int) $_REQUEST['pagesize'] : 100;
     $page = isset($_REQUEST['page']) ? $_REQUEST['page'] : 0;
     $page_start = $page * $pagesize;
     $filters = array('keyword' => $_REQUEST['keyword']);
     if ($_REQUEST['today']) {
         $filters['today'] = $_REQUEST['today'];
     }
     $service = new Agreement();
     $admin = new Admin();
     $me = $_SESSION['id'];
     $relative = array();
     $relative_sales = $admin->get_sales_by_me($me);
     if ($relative_sales) {
         foreach ($relative_sales as $id => $value) {
             $relative[] = array('key' => $id, 'value' => $value);
         }
     }
     $agreement_list = $service->get_my_agreement($filters, $page_start, $pagesize);
     $total = $service->get_my_agreement_total();
     $this->output(array('code' => 0, 'msg' => 'get', 'list' => $agreement_list, 'total' => $total, 'options' => array('relativeSales' => $relative_sales, 'types' => Agreement::$TYPE)));
 }
コード例 #2
0
 /**
  * 取新建广告的表单项,修改广告时当前内容
  * @author Meathill
  * @since 0.1.0
  * @param $id
  */
 public function init($id)
 {
     $CM = $this->get_cm();
     $service = new AD();
     $admin = new Admin();
     $labels = $service->get_all_labels();
     $permissions = $service->get_all_permissions();
     $me = $_SESSION['id'];
     $im_cp = $_SESSION['role'] == Auth::$CP_PERMISSION;
     $init = array('ad_app_type' => $im_cp ? 2 : 1, 'ad_type' => 0, 'cate' => 1, 'cpc_cpa' => 'cpa', 'put_level' => 3, 'imsi' => 0, 'put_net' => 0, 'net_type' => 0, 'put_jb' => 0, 'put_ipad' => 0, 'salt' => substr(md5(time()), 0, 8), 'url_type' => '', 'province_type' => 0, 'share_text' => '', 'down_type' => 0);
     $options = array('cates' => array('试用', '注册'), 'net_types' => array('全部', '移动', '联通', '电信'), 'channel_types' => ChannelModel::$TYPE, 'ad_types' => $labels, 'permissions' => $permissions, 'provinces' => $CM->provinces, 'sales' => false, 'cp' => $im_cp);
     $agreement = new Agreement();
     if (!$im_cp) {
         $init = array_merge($init, array('ratio' => 1, 'feedback' => 0, 'cycle' => 0));
         $relative_sales = $options['sales'] = $admin->get_sales_by_me($me);
         if ($relative_sales) {
             $relative = array();
             foreach ($relative_sales as $key => $value) {
                 $relative[] = array('key' => $key, 'value' => $value);
             }
             $options["relativeSales"] = $relative;
         }
         $options['agreements'] = $agreement->get_my_agreement(['today' => date('Y-m-d')]);
     }
     if ($id === 'init') {
         $this->output(array('code' => 0, 'msg' => 'init', 'ad' => $init, 'options' => $options));
     }
     // 广告内容
     if (!$service->check_ad_owner($id)) {
         $this->exit_with_error(20, '您无法查询此广告的详细信息', 401);
     }
     $res = $service->get_ad_info(array('id' => $id), 0, 1);
     $res['id'] = $id;
     $ad_shoot = preg_replace('/^,|,$/', '', $res['ad_shoot']);
     $ad_shoots = preg_split('/,+/', $ad_shoot);
     if (is_array($ad_shoots)) {
         foreach ($ad_shoots as $key => $ad_shoot) {
             $ad_shoots[$key] = $this->createCompletePath($ad_shoot);
         }
         $res['ad_shoot'] = $ad_shoots;
     }
     $res['ad_url'] = $this->createCompletePath($res['ad_url']);
     $res['pic_path'] = $this->createCompletePath($res['pic_path']);
     // 取计划任务,得投放量
     $job_service = new Job();
     $job = $job_service->get_ad_daily_job($id);
     $job = (array) $job[$id];
     // 省份
     if ($res['province_type'] == 1) {
         $location = new Location();
         $provinces = $location->get_provinces_by_ad($id);
         $res['put_provinces'] = array_values(array_unique($provinces));
     }
     // 被据广告读原因
     if ($res['status'] == 4) {
         $op_log = new ADOperationLogger();
         $log = $op_log->get_log(array('adid' => $id, 'type' => 'ad', 'action' => 'decline'));
         $res['decline'] = $log;
     }
     // 点评
     $res['comments'] = $service->get_comments(array('ad_id' => $id));
     // 今天的投放情况
     $stat = new Stat();
     $today = date('Y-m-d');
     $filter = [':ad_id' => $id, ':date' => $today];
     $clicks = $stat->get_ad_click_by_hour($filter);
     $transfer = $stat->get_ad_transfer_by_hour($filter);
     $today_stat = [];
     for ($hour = 0; $hour < 24; $hour++) {
         $item = array('hour' => $today . ' ' . $hour);
         if (isset($clicks[$hour])) {
             $item['click'] = (int) $clicks[$hour];
         }
         if (isset($transfer[$hour])) {
             $item['transfer'] = (int) $transfer[$hour];
         }
         $today_stat[] = $item;
     }
     if (in_array($res['status'], array(0, 1))) {
         // 备注
         $comments = $service->get_ad_comments(array($id));
         $res = array_merge($res, array('cm_others' => $comments[$id]));
     }
     $result = array_merge($init, $res, $job);
     $result['today_stat'] = $today_stat;
     $this->output(array('code' => 0, 'msg' => 'fetched', 'ad' => $result, 'options' => $options));
 }