public function addB2cCate()
 {
     $seller_cate_mode = D('seller_cate');
     $miao_api = miao_client($this->setting['miao_appkey'], $this->setting['miao_appsecret']);
     //初始化api接口
     $allcate = $this->getShopCats($miao_api);
     $status = 1;
     $sort = 10;
     foreach ($allcate as $value) {
         $cid = $value['cid'];
         $name = $value['name'];
         $count = $value['count'];
         $_updateData = array('cid' => $cid, 'name' => $name, 'count' => $count, 'status' => $status, 'sort' => $sort);
         $_where = array();
         $data = '';
         $data = $seller_cate_mode->where("cid={$cid}")->find();
         if (count($data) > 0) {
             $seller_cate_mode->where("cid={$cid}")->save($_updateData);
         } else {
             $seller_cate_mode->add($_updateData);
         }
     }
     $this->success(L('operation_success'));
 }
예제 #2
0
 public function addB2cData()
 {
     $miao_api = miao_client($this->setting['miao_appkey'], $this->setting['miao_appsecret']);
     //初始化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 = addslashes_set($data);
     //对数组进行转义
     if (isset($data[0])) {
         foreach ($data as $k => $v) {
             //$cid=$value['cid'];
             $sid = $v['sid'];
             $name = $v['name'];
             $net_logo = $v['logo'];
             //如果不是二维数组,转换为二维数组
             if (is_two_array($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('SellerList/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');
     }
 }