...
|
...
|
@@ -3,6 +3,8 @@ |
|
|
namespace home;
|
|
|
|
|
|
use LibModels\Wap\Home\OrderData;
|
|
|
use Plugin\Helpers;
|
|
|
use Configs\CacheConfig;
|
|
|
|
|
|
/*
|
|
|
* To change this license header, choose License Headers in Project Properties.
|
...
|
...
|
@@ -21,25 +23,57 @@ class OrderModel |
|
|
* 订单相关数据处理
|
|
|
*/
|
|
|
public function getOrder($type = 1, $page = 1, $limit, $gender, $yh_channel, $uid) {
|
|
|
|
|
|
$data = OrderData::getOrderData($type, $page, $limit, $gender, $yh_channel, $uid);
|
|
|
$result = array();
|
|
|
if($data['code'] == 200 && isset($data['data'])){
|
|
|
foreach($data['data']['order_list'] as $key => $vo){
|
|
|
if (USE_CACHE) {
|
|
|
$key = CacheConfig::KEY_ACTION_HOME_ORDER_ORDER;
|
|
|
// 先尝试获取一级缓存(master), 有数据则直接返回.
|
|
|
$result = Cache::get($key, 'master');
|
|
|
if (!empty($result)) {
|
|
|
return $result;
|
|
|
}
|
|
|
}
|
|
|
//调用接口获得数据
|
|
|
$data = OrderData::getOrderData($type, $page, $limit, $gender, $yh_channel, $uid);
|
|
|
//检查数据返回是否正常,正常则处理数据
|
|
|
if ($data['code'] == 200 && isset($data['data'])) {
|
|
|
foreach ($data['data']['order_list'] as $key => $vo) {
|
|
|
//订单号,支付状态,订单商品数量,订单总价格
|
|
|
$result[$key]['orderNum'] = $vo['order_code'];
|
|
|
$result[$key]['tradingStatus'] = $vo['status_str'];
|
|
|
$result[$key]['count'] = count($vo['order_goods']);
|
|
|
$result[$key]['sumCost'] = $vo['amount'] + $vo['shipping_cost'];
|
|
|
if($vo['payment_type'] != 2){
|
|
|
//订单商品列表数据
|
|
|
$result[$key]['goods'] = self::formatOrderGoods($vo['order_goods']);
|
|
|
//订单status判断订单处于什么状态。
|
|
|
do {
|
|
|
//订单取消状态
|
|
|
if ($vo['is_cancel'] === 'Y') {
|
|
|
$result[$key]['canceled'] = true;
|
|
|
break;
|
|
|
}
|
|
|
//支付方式不是货到付款时,计算订单状态
|
|
|
if ($vo['payment_type'] != 2) {
|
|
|
switch ($vo['status']) {
|
|
|
case 0:
|
|
|
$result[$key]['unpaid'] = true;
|
|
|
break;
|
|
|
case 1 || 2 || 3:
|
|
|
$result[$key]['unshipped'] = true;
|
|
|
case 1 || 2 || 3 || 4 || 5:
|
|
|
$result[$key]['unreceived'] = true;
|
|
|
$resault[$key]['logisticsUrl'] = "暂无logisticsUrl数据";
|
|
|
break;
|
|
|
case 6:
|
|
|
$result[$key]['completed'] = true;
|
|
|
break;
|
|
|
case 4 || 5:
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
} elseif ($vo['payment_type'] == 2) {
|
|
|
//订单为货到付款订单时,订单没有未支付状态
|
|
|
switch ($vo['status']) {
|
|
|
case 0 || 1 || 2 || 3 || 4 || 5:
|
|
|
$result[$key]['unreceived'] = true;
|
|
|
//此处备注,接口没有返回logisticsUrl数据
|
|
|
$resault[$key]['logisticsUrl'] = "备注:暂无logisticsUrl数据";
|
|
|
break;
|
|
|
case 6:
|
|
|
$result[$key]['completed'] = true;
|
...
|
...
|
@@ -47,28 +81,41 @@ class OrderModel |
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}else{
|
|
|
// switch ($vo['status']) {
|
|
|
// case 0:
|
|
|
// $result[$key]['unpaid'] = true;
|
|
|
// break;
|
|
|
// case 1 || 2 || 3:
|
|
|
// $result[$key]['unshipped'] = true;
|
|
|
// break;
|
|
|
// case 4 || 5:
|
|
|
// $result[$key]['unreceived'] = true;
|
|
|
// break;
|
|
|
// case 6:
|
|
|
// $result[$key]['completed'] = true;
|
|
|
// break;
|
|
|
// default:
|
|
|
// break;
|
|
|
// }
|
|
|
}
|
|
|
} while (false);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (USE_CACHE) {
|
|
|
// 接口调用异常时, 不害怕,从我们的二级缓存(slave)里再取数据.
|
|
|
if (empty($result)) {
|
|
|
$result = Cache::get($key, 'slave');
|
|
|
}
|
|
|
// 接口调用正常,数据封装完成, 则设置一级(master)和二级(slave)数据缓存
|
|
|
else {
|
|
|
Cache::set($key, $result);
|
|
|
}
|
|
|
}
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//格式化订单商品
|
|
|
static function formatOrderGoods($orderGoods) {
|
|
|
$arr = array();
|
|
|
foreach ($orderGoods as $key => $vo) {
|
|
|
$arr[$key]['thumb'] = Helpers::getImageUrl($vo['goods_image'], 90, 120);
|
|
|
$arr[$key]['name'] = $vo['product_name'];
|
|
|
$arr[$key]['color'] = $vo['color_name'];
|
|
|
$arr[$key]['size'] = $vo['size_name'];
|
|
|
$arr[$key]['price'] = $vo['goods_price'];
|
|
|
$arr[$key]['count'] = $vo['buy_number'];
|
|
|
if ($vo['goods_type'] == 'gift') {
|
|
|
$arr[$key]['gift'] = true;
|
|
|
} elseif ($vo['goods_type'] == 'price_gift') {
|
|
|
$arr[$key]['advanceBuy'] = true;
|
|
|
}
|
|
|
}
|
|
|
//return $result;
|
|
|
return $data;
|
|
|
return $arr;
|
|
|
}
|
|
|
|
|
|
} |
...
|
...
|
|