Ejemplo n.º 1
0
function getRebateOrderMoney($rid)
{
    global $ecs, $db;
    $back_and = '';
    if (($back_order_id = getBackOrderByRebate($rid)) != false) {
        //获取退货订单中相关订单
        $back_and = "and order_id not in(" . implode(',', $back_order_id) . ")";
    }
    $pay_id = getPayHoudaofukuan();
    //获取货到付款的id
    //获取全部订单金额
    $sql = "select (" . order_amount_field() . ") AS total_fee,pay_id,order_id from " . $ecs->table('order_info') . " where rebate_id=" . $rid . " {$back_and} and rebate_ispay=2";
    $query = $db->query($sql);
    $online = $onout = 0;
    $online_ids = $onout_ids = array();
    while ($row = $db->fetchRow($query)) {
        if ($row['pay_id'] == $pay_id) {
            //货到付款
            $onout += $row['total_fee'];
            $onout_ids[] = $row['order_id'];
        } else {
            //在线支付
            $online += $row['total_fee'];
            $online_ids[] = $row['order_id'];
        }
    }
    if (count($onout_ids) > 0) {
        //货到付款订单当中有商品发生的退货
        $sql = "select (goods_price * is_back) as price_out from " . $ecs->table('order_goods') . " where order_id in(" . implode(',', $onout_ids) . ")";
        $out_price = $db->getOne($sql);
        $onout = $onout - $out_price;
    }
    if (count($online_ids) > 0) {
        //在线支付订单当中有商品发生退货
        $sql = "select (goods_price * is_back) as price_out from " . $ecs->table('order_goods') . " where order_id in(" . implode(',', $online_ids) . ")";
        $line_price = $db->getOne($sql);
        $online = $online - $line_price;
    }
    return array('online' => $online, 'onout' => $onout);
}
Ejemplo n.º 2
0
function getRebateOrderMoney($rid)
{
    global $ecs, $db;
    $back_and = '';
    if (($back_order_id = getBackOrderByRebate($rid)) != false) {
        //获取退货订单中相关订单
        $back_and = "and order_id not in(" . implode(',', $back_order_id) . ")";
    }
    $pay_id = getPayHoudaofukuan();
    //获取货到付款的id
    $sql = "select (" . order_amount_field() . ") AS total_fee,pay_id from " . $ecs->table('order_info') . " where rebate_id=" . $rid . " {$back_and} and rebate_ispay=2";
    $query = $db->query($sql);
    $online = $onout = 0;
    while ($row = $db->fetchRow($query)) {
        if ($row['pay_id'] == $pay_id) {
            //货到付款
            $onout += $row['total_fee'];
        } else {
            //在线支付
            $online += $row['total_fee'];
        }
    }
    return array('online' => $online, 'onout' => $onout);
}
function getBackOrderMoney()
{
    global $ecs, $db;
    $rid = isset($_REQUEST['rid']) && intval($_REQUEST['rid']) > 0 ? intval($_REQUEST['rid']) : 0;
    $hpay_id = getPayHoudaofukuan();
    //货到付款支付方式id;
    $sql = "select bo.status_refund,(" . order_amount_field('oi.') . ") AS total_fee,oi.pay_id " . "from " . $ecs->table('order_info') . " as oi," . $ecs->table('back_order') . " as bo where oi.store_rebate_id=" . $rid . " and bo.back_type!=3 and bo.status_back < 5 and oi.order_id=bo.order_id";
    $query = $db->query($sql);
    $ret = array('all' => 0.0, 'finish' => 0.0, 'nofinish' => 0.0, 'online' => 0.0, 'onout' => 0.0);
    while ($row = $db->fetchRow($query)) {
        $ret['all'] += $row['total_fee'];
        if ($row['status_refund'] > 0) {
            //完成退款
            $ret['finish'] += $row['total_fee'];
        } else {
            //申请中
            $ret['nofinish'] += $row['total_fee'];
        }
        if ($row['pay_id'] != $hpay_id) {
            //在线支付
            $ret['online'] += $row['total_fee'];
        } else {
            //货到付款
            $ret['onout'] += $row['total_fee'];
        }
    }
    return $ret;
}