Ecshop消费积分规则功能原理分析
更新时间:2016-08-26 点击量:1678
Tag关键词: 积分 ecshop模板 ecshop4.0模板 二次开发 ecshop3.6模板 ecshop小程序
优易软件为大家讲解ecshop电子商务系统赠送积分规则和功能原理,分享给大家让大家。
首先在后台录入商品的时候,可以为该商品指定赠送多少ecshop消费积分,如果填写数字,那么赠送的消费积分将按数字计算,如果默认-1,表示赠送的商品积分按照商品的同等价格来赠送。
赠送积分的时机
在ecshop的order.php中,在确认发货完成订单的时候,通过$integral = integral_to_give($order);函数来发送积分的。通过
log_account_change($order[‘user_id’], 0, 0, intval($integral[‘rank_points’]), intval($integral[‘custom_points’]), sprintf($_LANG[‘order_gift_integral’], $order[‘order_sn’]));
函数来执行。
积分计算函数
integral_to_give($order),如果不是赠送的商品,将会得到赠送积分
$sql = "SELECT SUM(og.goods_number * IF(g.give_integral > -1, g.give_integral, og.goods_price)) AS custom_points, SUM(og.goods_number * IF(g.rank_integral > -1, g.rank_integral, og.goods_price)) AS rank_points " . "FROM " . $GLOBALS['ecs']->table('order_goods') . " AS og, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE og.goods_id = g.goods_id " . "AND og.order_id = '$order[order_id]' " . "AND og.goods_id > 0 " . "AND og.parent_id = 0 " . "AND og.is_gift = 0 AND og.extension_code != 'package_buy'";
如果give_integral大于-1,那么就按照give_integral计算,如果g.give_integral存在,那么将输入该值。否则,按照og.goods_price计算。
如果文章对您有帮助,就打赏一个吧