最土程序优惠卷发送机制

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);这段代码才是最重要的。他直接影响着生成最土程序优惠卷的形式.

 来源:http://www.chinab4c.com