赠送会员积分的原理

赠送会员积分的原理

请问在会员账户明细里面 给会员赠送消费积分 那个功能是怎么样实现的啊?能说详细一点吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
guly 2017-07-08 21:19:05

你好,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计算。 如果解决了您的问题,请采纳,祝学习愉快!


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师