最土代金券功能分析

2011-05-15 21:57 来源:www.chinab4c.com 作者:熊斌

       我们在录入最土项目的时候,我们可以选择该商品最多能使用多少代金券,比如你录入是10,商品价格是20。那么你手上有最土的代金券的话。你只需要支付10元就可以。非常方便。我们在后台可以生成代金券,具体的在最土后台代金券管理里面。

     最土后台生成代金券之后,他是存储在最土数据库card表里面。主要占据id字段。里面存储着使用期限。
 
     
   我们在购买的时候,当填写完最土的收货人信息之后,会进入支付页面,这个时候如果该商品允许使用最土代金券的话。你就可以直接输入代金券。抵消部分余额 。当我们点输入代金券的时候,将触发以下JS
   
    X.misc.cardcode = function() {
 var oid = jQuery('#cardcode-order-id').attr('value');
 var cid = jQuery('#cardcode-card-id').attr('value');

 if(oid&&cid) return !X.get(WEB_ROOT + '/ajax/order.php?action=cardcode&id='+oid+'&cid='+cid);
};
  
    该方法调用ajax/order.php来返回逻辑数据流。
   
elseif ( $action == 'cardcode') {
 $cid = strval($_GET['cid']);
 $order = Table::Fetch('order', $order_id);
 if ( !$order ) json('订单记录不存在', 'alert');
 $ret = ZCard::UseCard($order, $cid);
 if ( true === $ret ) {
  json(array(
     array('data' => "代金券使用成功", 'type'=>'alert'),
     array('data' => null, 'type'=>'refresh'),
      ), 'mix');
 }
 $error = ZCard::Explain($ret);
 json($error, 'alert');
}

    我们看到,当我们输入代金券的时候,将返回一定的提示。。他就是通过 ZCard::Explain($ret);方式来返回提示信息的。该函数代码如下。
  
    static public function Explain($errno) {
  switch($errno) {
   case self::ERR_NOCARD : return '代金券不存在';
   case self::ERR_TEAM : return '代金券不可用于本单';
   case self::ERR_CREDIT : return '代金券面额受限';
   case self::ERR_EXPIRE : return '不在有效期内';
   case self::ERR_USED : return '代金券已被使用';
   case self::ERR_ORDER: return '每单只能用一张代金券';
  }
  return '未知错误';
 }
 

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