订单处理
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

107 lines
3.6 KiB

<?php
include_once(dirname(dirname(__FILE__))."/library/publicBase.php");
include_once(SERVER_ROOT."/model/mPage.php");
class index extends publicBase {
public function home() {
$shopinfo = $this->get_shopinfo();
$uid = $shopinfo['uid'];
$shop_id = $shopinfo['id'];
$obj = new mOrder();
$date2count = $obj->getLastThirtyDaysOrderNum($uid, $shop_id);
$this->view['json_dates'] = json_encode(array_keys($date2count));
$this->view['json_counts'] = json_encode(array_values($date2count));
$this->view['wait_deliver_goods_count'] = $obj->getOrdersCount($uid, $shop_id, ORDER_STATUS_WAIT_DELIVER_GOODS, REFUND_STATUS_NO_AFTER_SALES);
$this->view['refund_count'] = $obj->getOrdersCount($uid, $shop_id, 0, REFUND_STATUS_SUCC);
}
public function order_list() {
$url = '/index/order_list';
$shopinfo = $this->get_shopinfo();
$uid = $shopinfo['uid'];
$shop_id = $shopinfo['id'];
$order_status = $this->get('order_status')+0;
if ($order_status) $url .= '/order_status/'.$order_status;
$refund_status = $this->get('refund_status')+0;
if ($refund_status) $url .= '/refund_status/'.$refund_status;
$obj = new mOrder();
$count = $obj->getOrdersCount($uid, $shop_id, $order_status, $refund_status);
// 分页
$page = new Page();
$page->setTotalnum($count);
$page->setUrl($url.'/page/');
$curpage = $this->get('page')>0 ? $this->get('page') : 1;
$page->setPage($curpage);
$pagesize = $page->pagesize = 50;
$this->view['page_list'] = $page->getPageList();
$this->view['curpage'] = $curpage;
if ($curpage > 1) $this->view['prev_page'] = $page->url . ($curpage - 1); //上一页连接
if ($curpage < $page->totalpage) $this->view['post_page'] = $page->url . ($curpage + 1); //下一页连接
//只取出当前页显示
$list = $obj->getOrderList($uid, $shop_id, $order_status, $refund_status, $curpage, $pagesize);
$this->view['list'] = $list ? $list : array();
if (empty($list)) return true;
$goods_ids = array_unique(array_column($list, 'goods_id'));
$gobj = new mGoods();
$goods_list = $gobj->getGoodsByGoodsids($goods_ids);
if (empty($goods_list)) return true;
$goodsid2skuid2info = array();
foreach ($goods_list as $goods) {
$goodsid2skuid2info[$goods['goods_id']][$goods['sku_id']] = $goods;
}
$this->view['goodsid2skuid2info'] = $goodsid2skuid2info;
}
public function export_wait_deliver_goods_tids() {
$shopinfo = $this->get_shopinfo();
$uid = $shopinfo['uid'];
$shop_id = $shopinfo['id'];
$obj = new mOrder();
$filedir = APP_TMEPPATH_WAIT_DELIVER_GOODS_CSV;
if(!is_dir($filedir)) {
mkdir($filedir, 0755, true);
chown($filedir, 'nobody');
chgrp($filedir, 'nobody');
}
$filepath = $filedir."{$uid}_{$shop_id}_".date("YmdHis").".csv";
$file = fopen($filepath, 'w');
fwrite($file, "订单号\t\n");
fwrite($file, "order_sn\t\n");
for ($page=1;;$page++) {
$list = $obj->getOrderList($uid, $shop_id, ORDER_STATUS_WAIT_DELIVER_GOODS, REFUND_STATUS_NO_AFTER_SALES, $page, 1000);
if (empty($list)) break;
foreach ($list as $info) {
fwrite($file, $info['order_sn']."\t\n");
}
}
fclose($file);
$obj->downFileChunk($filepath, $shopinfo['name'].'_待发货订单.csv');
exit();
}
}