最土程序优惠卷发送机制
2011-01-13 22:32 来源:www.chinab4c.com 作者:熊斌
最近总是有很多最土朋友的使用者在询问我最土团购程序如何修改优惠卷生成机制,让所有的密码和优惠卷编码都是数字形成的。这样使用才方便。于是我就找到了最土程序include/class/ZCoupon.php文件。该文件的static public function Create($order) 就是生成最土优惠卷的程序。
我们通过使用最土团购程序二次开发,我们可以发现.最土程序的优惠卷只有在该项目完成之后,才能发送出优惠卷.那么发送优惠卷的触发有两种情况.
1:当我们在支付订单的时候,如果达到该项目最后一笔订单支付成功之后,那么优惠卷就会自动发送出去.
2:如果在后台,点该项目的最后一个交易订单支付的话,那么该动作也会引起触发该项目下所有成功的订单下会员,得到一个优惠卷。
他们两个动作,都有同一个特点。调用static public function BuyOne($order) 的方法来完成优惠卷的发送触发.该代码在调用了ZCoupon::CheckOrder($order);代码来完成发送优惠卷的动作.
我们找到最土团购程序下的这段程序.
static public function CheckOrder($order) {
$coupon_array = array('coupon', 'pickup');
$team = Table::FetchForce('team', $order['team_id']);
if (!in_array($team['delivery'], $coupon_array)) return;
if ( $team['now_number'] >= $team['min_number'] ) {
//init coupon create;
$last = ($team['conduser']=='Y') ? 1 : $order['quantity'];
$offset = max(5, $last);
if ( $team['now_number'] - $team['min_number'] < $last) {
$orders = DB::LimitQuery('order', array(
'condition' => array(
'team_id' => $order['team_id'],
'state' => 'pay',
),
));
foreach($orders AS $order) {
self::Create($order);
}
}
else{
self::Create($order);
}
}
}
这个方法主要是判断该项目下的项目是否成功,而且成功了的话。将调用self:Create($order)方式来完成最土程序优惠卷的发送。而我们可以发现,生成发送优惠卷的规则中。$id_pre = Utility::GenSecret(4, Utility::CHAR_NUM);这段代码才是最重要的。他直接影响着生成最土程序优惠卷的形式.
最近更新
常用插件
- ecshop二次开发售后维修卡
插件介绍: 本插件是用于专门从事电子,信息,软件等售后服务关键比...
- ecshop整合baidu百度开放平台
大家都知道,baidu的开放平台已经很成熟了。可以方便中小型B2C企业数据...
- ecshop注册红包插件
ecshop的红包使用是ecshop的一大特点.ecshop注册的时候,我们可以开发一...
- ecshop中如何判断是否微信
ecshop中如何判断是否微信浏览器,我们在ecshop手机版里面。有时候需要...
- ecshop2.7.2增加商品销量排序
ecshop2.7.2虽然在用户体验方面,有些提高。但是很多根本性的东西,还是...