ecshop推荐分成实现原理(1)
2009-11-18 11:29 来源:www.chinab4c.com 作者:ecshop专家
最近在和朋友一起研究一个项目,项目的主题就是ECSHOP的分成,ECSHOP的推荐分成,具有递归性,如果A他推荐了B,B推荐了C。那么C购买了商品之后,B,A都能得到一定的推荐分成金额。
1:ECSHOP分成处理步骤
后台->推荐管理->分成管理
2:ECSHOP分成原理
在ecshop的users表中,parent_id就是用来处理EC推荐分成中推荐人的会员ID的。通过分成等级。可以循环出EC某会员下所有的推荐人.
$num = count($affiliate['item']);//推荐等级
for ($i=0; $i < $num; $i++)
{
$affiliate['item'][$i]['level_point'] = (float)$affiliate['item'][$i]['level_point'];
$affiliate['item'][$i]['level_money'] = (float)$affiliate['item'][$i]['level_money'];
if ($affiliate['item'][$i]['level_point'])
{
$affiliate['item'][$i]['level_point'] /= 100;
}
if ($affiliate['item'][$i]['level_money'])
{
$affiliate['item'][$i]['level_money'] /= 100;
}
$setmoney = round($money * $affiliate['item'][$i]['level_money'], 2);
$setpoint = round($point * $affiliate['item'][$i]['level_point'], 0);
$row = $db->getRow("SELECT o.parent_id as user_id,u.user_name FROM " . $GLOBALS['ecs']->table('users') . " o" .
" LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.parent_id = u.user_id".
" WHERE o.user_id = '$row[user_id]'"
);
$up_uid = $row['user_id'];
if (empty($up_uid) || empty($row['user_name']))
{
break;
}
else
{
$info = sprintf($_LANG['separate_info'], $order_sn, $up_uid, $row['user_name'], $setmoney, $setpoint);
log_account_change($up_uid, $setmoney, 0, 0, $setpoint, $info);
write_affiliate_log($oid, $up_uid, $row['user_name'], $setmoney, $setpoint, $separate_by);
}
}
而这里的"SELECT o.parent_id as user_id,u.user_name FROM " . $GLOBALS['ecs']->table('users') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.parent_id = u.user_id"." WHERE o.user_id = '$row[user_id]'";就是用来寻找上一级推荐人的帐户信息。通过循环,而进行分成。然后写入对应的日志。
相关文章:
来源:中国B4C电子商务
最近更新
常用插件
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...