public function index()
 {
     $keywords = isset($_REQUEST['keywords']) && trim($_REQUEST['keywords']) ? trim($_REQUEST['keywords']) : '';
     $keywords = strip_tags(urldecode($keywords));
     $cid = isset($_REQUEST['cid']) ? intval($_REQUEST['cid']) : '';
     $sid = isset($_REQUEST['sid']) ? intval($_REQUEST['sid']) : '';
     $miao_api = $this->miao_client();
     //获取59秒api设置信息
     $page_size = 40;
     if (isset($_GET['p'])) {
         $p = $_GET['p'];
     }
     if (!$p || is_null($p)) {
         $p = 1;
     }
     $data = $miao_api->ListItemsSearch('', $keywords, $cid, $sid, $p, 40);
     $total_results = $data['total_results'];
     //总记录
     $search_list = $data['items_search']['items']['item'];
     if (IsTwoArray($search_list) && count($search_list) > 0) {
         $search_list = array($search_list);
     }
     $item_categories = $data['items_search']['item_categories']['item_category'];
     $search_arr = array();
     if (is_array($search_list)) {
         foreach ($search_list as $val) {
             $val['click_url'] = base64_encode(urlencode($val['click_url']));
             $val['seller_url'] = base64_encode(urlencode($val['seller_url']));
             $val['pic_url'] = str_replace('.jpg', '_210x1000.jpg', $val['pic_url']);
             $search_arr[] = $val;
         }
     }
     //print_r($search_arr);
     import("ORG.Util.Page");
     if ($total_results > 99 * 40) {
         $count = 99 * 40;
     } else {
         $count = $total_results;
     }
     if (count($search_arr) == 0) {
         $search_arr = '';
     }
     $p = new Page($count, $page_size);
     $page = $p->show_1();
     $this->assign('keywords', $keywords);
     $this->assign('page', $page);
     $this->assign('items_list', $search_arr);
     $this->assign('cid', $cid);
     $this->assign('sid', $sid);
     //搜索数据分类
     if (IsTwoArray($item_categories)) {
         $item_categories = array($item_categories);
     }
     $this->assign('item_categories', $item_categories);
     $this->display();
 }
 public function addb2cdata()
 {
     $miao_api = $this->miao_client();
     //初始化api接口
     $seller_list = D('seller_list');
     //商家列表
     $seller_cate = D('seller_cate');
     //商家列表
     $seller_list_cate = D('seller_list_cate');
     //商家对应分类
     $page_size = 20;
     $page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1;
     //当前页
     $date = isset($_GET['date']) && intval($_GET['date']) ? intval($_GET['date']) : date('Ymd', time());
     //当前更新的时间
     //调取数据入库
     $data = $this->ShopListGet($miao_api, $page, $page_size);
     //获取api商家数据
     $data = setFormString($data);
     //对数组进行转义
     if (isset($data[0])) {
         foreach ($data as $k => $v) {
             //$cid=$value['cid'];
             $sid = $v['sid'];
             $name = $v['name'];
             $net_logo = $v['logo'];
             //如果不是二维数组,转换为二维数组
             if (IsTwoArray($v['sellercats']['sellercat'])) {
                 $v['sellercats']['sellercat'] = array($v['sellercats']['sellercat']);
             }
             $cid = '';
             $_where = "sid={$sid}";
             $has_data = '';
             $has_data = $seller_list->where($_where)->find();
             //print_r($v['sellercats']['sellercat']);
             if (empty($has_data)) {
                 //判断数据是否存在如果存在则不插入数据库
                 if (count($v['sellercats']['sellercat']) > 0) {
                     foreach ($v['sellercats']['sellercat'] as $value) {
                         $Auto_increment_id = $seller_list->query('SHOW TABLE STATUS LIKE \'' . C('DB_PREFIX') . 'seller_list\'');
                         $cate_id = $seller_cate->where("cid='{$value['cid']}'")->field('id')->find();
                         //分类id
                         $list_cate_data = array('list_id' => $Auto_increment_id[0]['Auto_increment'], 'cate_id' => $cate_id['id']);
                         $seller_list_cate->add($list_cate_data);
                     }
                 }
             }
             $click_url = $v['click_url'];
             $sort = 10;
             $desc = $v['desc'];
             if (is_array($desc)) {
                 $desc = $name;
             }
             $status = 1;
             //是否免费送货
             if ($v['freeshipment'] == 'False') {
                 $freeshipment = 0;
             } else {
                 $freeshipment = 1;
             }
             //是否支持分期付款
             if ($v['installment'] == 'False') {
                 $installment = 0;
             } else {
                 $installment = 1;
             }
             //是否有发票
             if ($v['has_invoice'] == 'False') {
                 $has_invoice = 0;
             } else {
                 $has_invoice = 1;
             }
             $cash_back_rate = $v['cashbacks']['cashback']['scope'];
             $_updateData = array('sid' => $sid, 'name' => $name, 'net_logo' => $net_logo, 'click_url' => $click_url, 'status' => $status, 'sort' => $sort, 'description' => $desc, 'freeshipment' => $freeshipment, 'installment' => $installment, 'has_invoice' => $has_invoice, 'cash_back_rate' => $cash_back_rate, 'update_time' => $date);
             if (count($has_data) > 0) {
                 //如果有数据执行更新操作操作
                 $seller_list->where($_where)->save($_updateData);
             } else {
                 //如果有数据执行增加操作
                 $seller_list->where($_where)->add($_updateData);
             }
         }
         $this->collect_success('正在采集第 <em class="blue">' . $page . '</em> 页,请稍后', U('seller_list/addb2cdata', array('page' => $page + 1, 'date' => $date)));
     } else {
         //采集完成删除下架商家
         $seller_list_mod = D('seller_list');
         $seller_list_cate_mod = D('seller_list_cate');
         $rel = $seller_list_mod->where("update_time!='{$date}'")->select();
         $ids = '';
         foreach ($rel as $value) {
             $ids .= $value['id'] . ',';
             $seller_list_cate_mod->where("list_id='{$value['id']}'")->delete();
             //删除商家信息
         }
         $ids = substr($ids, 0, -1);
         $result = $seller_list_mod->delete($ids);
         $this->collect_success('数据同步完成', '', 'addb2cdata');
     }
 }
 public function getorder_jump()
 {
     $order_mod = D('miao_order');
     $star_data = isset($_GET['star_data']) ? trim($_GET['star_data']) : '';
     $end_data = isset($_GET['end_data']) ? trim($_GET['end_data']) : '';
     if (empty($star_data) || empty($end_data)) {
         $this->collect_error('开始日期或者结束日期不能为空', U('miao_order/getorder'), 'getorder');
     }
     $star_ymd_data = date('Ymd', strtotime($end_data));
     $end_ymd_data = date('Ymd', strtotime($star_data));
     $tmp = '';
     if ($star_ymd_data > $end_ymd_data) {
         $tmp = $end_ymd_data;
         $end_ymd_data = $star_ymd_data;
         $star_ymd_data = $tmp;
     }
     //获取总共有多少条数据
     $pages = get_diff_date($star_data, $end_data);
     $p = isset($_GET['p']) && intval($_GET['p']) ? intval($_GET['p']) : 1;
     //当前页
     $now_date = date('Ymd', strtotime("{$star_ymd_data} +{$p} day"));
     //要获取的当前日期
     $miao_api = $this->miao_client();
     //获取59秒api设置信息
     $order_report = $miao_api->ListOrderReport($now_date);
     $order_report_data = $order_report['orders']['order'];
     if (!empty($order_report_data)) {
         if (IsTwoArray($order_report_data)) {
             $order_report_data = array($order_report_data);
         }
     }
     $add_num = 0;
     $update_num = 0;
     if (count($order_report_data) > 0) {
         foreach ($order_report_data as $item) {
             $cashbac = cashback($item['commission'], $this->setting['cashback_rate'], $this->setting['integralback_rate']);
             //获取用户名
             if (is_array($item['outer_code'])) {
                 //如果outcode为空的话,从服务器获取的内容是一个数组
                 $item['outer_code'] = 0;
             }
             $user_info_data = $this->user_mode->where("id='{$item['outer_code']}'")->find();
             $data = array('uid' => $user_info_data['id'], 'username' => $user_info_data['name'], 'order_id' => $item['order_id'], 'order_code' => $item['order_code'], 'seller_name' => $item['seller_name'], 'order_time' => $item['created'], 'item_price' => $item['order_amount'], 'commission' => $item['commission'], 'cash_back' => $cashbac['cacheback'], 'status' => $item['status'], 'item_count' => 1);
             $one_rel = $order_mod->where("order_id='{$item['order_id']}' and order_code='{$item['order_code']}'")->find();
             //如果此数据存在则执行更新操作
             if (count($one_rel) > 0) {
                 //查看看该订单是否已经确认 并更新完毕
                 if ($data['status'] == '有效') {
                     if ($one_rel['is_update'] == 0) {
                         //执行 update_cash_integral 方法
                         $this->update_cash_integral($cashbac['cacheback'], $cashbac['integralback'], $data['uid']);
                         $data['is_update'] = 1;
                         //1表示此数据已经返现了,再次同步的是不将不进行返现
                     }
                 }
                 $order_mod->where("order_id='{$item['order_id']}' and order_code='{$item['order_code']}'")->save($data);
                 $update_num++;
             } else {
                 if ($data['status'] == '有效') {
                     //执行 update_cash_integral 方法
                     $this->update_cash_integral($cashbac['cacheback'], $cashbac['integralback'], $data['uid']);
                     $data['is_update'] = 1;
                     //1表示此数据已经返现了,再次同步的是不将不进行返现
                 }
                 $order_mod->add($data);
                 $add_num++;
             }
         }
     }
     if ($p >= $pages) {
         //记录采集时间
         $this->collect_success('订单获取完成', '', 'getorder');
     } else {
         $this->collect_success('第 <em class="blue">' . $p . '</em> 页采集完成,' . $now_date . '插入<em class="blue">' . $add_num . '</em>条数据,更新<em class="blue">' . $update_num . '</em>条数据,共 <em class="blue">' . $pages . '</em> 页', U('miao_order/getorder_jump', array('star_data' => $star_data, 'end_data' => $end_data, 'p' => $p + 1)));
     }
 }