Example #1
0
 public static function BuyOne($order)
 {
     $order = Table::FetchForce('order', $order['id']);
     $team = Table::FetchForce('team', $order['team_id']);
     $plus = $team['conduser'] == 'Y' ? 1 : $order['quantity'];
     $team['now_number'] += $plus;
     if ($team['max_number'] > 0 && $team['now_number'] >= $team['max_number']) {
         $team['close_time'] = time();
     }
     Table::UpdateCache('team', $team['id'], array('close_time' => $team['close_time'], 'now_number' => array("`now_number` + {$plus}")));
     /* cash flow */
     ZFlow::CreateFromOrder($order);
     /* order : send coupon ? */
     ZCoupon::CheckOrder($order);
     /* order : invite buy */
     ZInvite::CheckInvite($order);
 }
Example #2
0
	static public function BuyOne($order) {
		$order = Table::FetchForce('order', $order['id']);
		$order_id = abs(intval($order['id']));
		$team_id = abs(intval($order['team_id']));
		$team = Table::FetchForce('team', $order['team_id']);
		$plus = $team['conduser']=='Y' ? 1 : $order['quantity'];
		$team['now_number'] += $plus;

		/* close time */
		if ( $team['max_number']>0 
				&& $team['now_number'] >= $team['max_number'] ) {
			$team['close_time'] = time();
		}

		/* reach time */
		if ( $team['now_number']>=$team['min_number']
			&& $team['reach_time'] == 0 ) {
			$team['reach_time'] = time();
		}

		Table::UpdateCache('team', $team['id'], array(
			'close_time' => $team['close_time'],
			'reach_time' => $team['reach_time'],
			'now_number' => array( "`now_number` + {$plus}", ),
		));
		
		//UPDATE buy_id
		$SQL = "UPDATE `order` o,(SELECT max(buy_id)+1 AS c FROM `order` WHERE state = 'pay' and team_id = '{$team_id}') AS c SET o.buy_id = c.c, o.luky_id = 100000 + floor(rand()*100000) WHERE o.id = '{$order_id}' AND buy_id = 0;";
		DB::Query($SQL);
		/* send sms Immediately  */
		if(option_yes('buycouponsms')) sms_buy($order);
		/* cash flow */
		ZFlow::CreateFromOrder($order);
		/* order : send coupon ? */
		ZCoupon::CheckOrder($order);
		/* order : send voucher ? */
		ZVoucher::CheckOrder($order);
        /* order : send express sms ? */
		ZExpress::CheckOrder($order);
		/* order : invite buy */
		ZInvite::CheckInvite($order);
		
		ZCredit::UpdateFromOrder($order);
	}
Example #3
0
 public static function BuyOne($order)
 {
     $order = Table::FetchForce('order', $order['id']);
     $team = Table::FetchForce('team', $order['team_id']);
     $team['now_number'] += $order['quantity'];
     if ($team['max_number'] > 0 && $team['now_number'] >= $team['max_number']) {
         $team['state'] = 'soldout';
         $team['close_time'] = time();
     }
     $table = new Table('team', $team);
     $table->update(array('end_time', 'state', 'now_number'));
     ZFlow::CreateFromOrder($order);
     ZCoupon::CheckOrder($order);
     ZInvite::CheckInvite($order);
     $partner = Table::Fetch('partner', $team['partner_id']);
     $city = Table::Fetch('category', $team['city_id']);
     $user = Table::Fetch('user', $order['user_id']);
     mail_purchase($city, $team, $partner, $order, $user);
 }
Example #4
0
$return = array();
if (!empty($coupons)) {
    foreach ($coupons as $tcoupon) {
        //$tarray = explode('@', $tcoupon);
        $coupon = Table::Fetch('coupon', $tcoupon);
        $partner = Table::Fetch('partner', $coupon['partner_id']);
        $team = Table::Fetch('team', $coupon['team_id']);
        if (!$coupon) {
            //	不存在此券
            $return[$tcoupon]['result'] = 0;
        } elseif ($team_id && $team_id != $coupon['team_id']) {
            //	不是该项目的券
            $return[$tcoupon]['result'] = -1;
        } else {
            if ($coupon['expire_time'] < strtotime(date('Y-m-d'))) {
                //	过期了
                $return[$tcoupon]['result'] = -2;
            } else {
                if ($coupon['consume'] == 'Y') {
                    //	已经验证
                    $return[$tcoupon]['result'] = 2;
                } else {
                    ZCoupon::Consume($coupon, $store_id, $partner_id);
                    $return[$tcoupon]['result'] = 1;
                }
            }
        }
        $return[$tcoupon]['coupon'] = Table::FetchForce('coupon', $tcoupon);
    }
}
echo json_encode($return);
Example #5
0
     $all_order_ids = array_unique($all_order_ids);
     /* all coupon id */
     $coupon_sql = "SELECT order_id, count(1) AS count FROM coupon WHERE team_id = '{$id}' GROUP BY order_id";
     $coupon_res = DB::GetQueryResult($coupon_sql, false);
     $coupon_order_ids = Utility::GetColumn($coupon_res, 'order_id');
     $coupon_order_ids = array_unique($coupon_order_ids);
     /* miss id */
     $miss_ids = array_diff($all_order_ids, $coupon_order_ids);
     foreach ($coupon_res as $one) {
         if ($one['count'] < $all_orders[$one['order_id']]['quantity']) {
             $miss_ids[] = $one['order_id'];
         }
     }
     $orders = Table::Fetch('order', $miss_ids);
     foreach ($orders as $order) {
         ZCoupon::Create($order);
     }
     json('发券成功', 'alert');
 } elseif ($action == 'partnerhead') {
     $partner = Table::Fetch('partner', $id);
     $head = $partner['head'] == 0 ? time() : 0;
     Table::UpdateCache('partner', $id, array('head' => $head));
     $tip = $head ? '设置商户置顶成功' : '取消商户置顶成功';
     Session::Set('notice', $tip);
     json(null, 'refresh');
 } elseif ('cacheclear' == $action) {
     need_auth('admin');
     $root = DIR_COMPILED;
     $handle = opendir($root);
     $templatelist = array('default' => 'default');
     $clear = $unclear = 0;
Example #6
0
File: bm.php Project: noikiy/mdwp
        if (!$store) {
            $data = "#{$coupon_code}&nbsp;请选择一个有效分店";
        } else {
            if (strpos($team['store_ids'], '@' . $store_id . '@') === false) {
                $data = "#{$coupon_code}&nbsp;很抱歉,该分店并未进行此项目";
            } else {
                if ($coupon['expire_time'] < strtotime(date('Y-m-d'))) {
                    $data .= "#{$coupon_code}&nbsp;已过期<br/>";
                    $data .= '过期时间:' . date('Y-m-d', $coupon['expire_time']) . '<br/>';
                    $data = '本次消费失败';
                } else {
                    if ($coupon['consume'] == 'Y') {
                        $data = "很抱歉,此验证码之前已经消费过!<br/><strong>#{$coupon_code}</strong>&nbsp;已消费<br/>";
                        $data .= '消费于:' . date('Y-m-d H:i:s', $coupon['consume_time']) . '<br/>';
                    } else {
                        ZCoupon::Consume($coupon, $store_id, $partner_mobile_id, 1);
                        $data = $team['product'] . '<br/>';
                        $data .= '电子码有效,消费成功!<br/>消费时间:' . date('Y-m-d H:i:s', time());
                    }
                }
            }
        }
    }
    $json = array('done' => true, 'data' => $data);
    echo formatJSON($json);
} elseif ($action == 'getcouponnum') {
    $team_id = $_GET['tid'];
    $date = $_GET['dat'];
    $begin_time = strtotime($date);
    $end_time = $begin_time + 86400;
    if ($mobile_login_partner['fid'] == 0) {
Example #7
0
     } else {
         if ($coupon['secret'] != $sec) {
             $v[] = $INI['system']['couponname'] . '编号密码不正确';
             $v[] = '本次消费失败';
         } else {
             if ($coupon['expire_time'] < strtotime(date('Y-m-d'))) {
                 $v[] = "#{$cid}&nbsp;已过期";
                 $v[] = '过期时间:' . date('Y-m-d', $coupon['consume_time']);
                 $v[] = '本次消费失败';
             } else {
                 if ($coupon['consume'] == 'Y') {
                     $v[] = "#{$cid}&nbsp;已消费";
                     $v[] = '消费于:' . date('Y-m-d H:i:s', $coupon['consume_time']);
                     $v[] = '本次消费失败';
                 } else {
                     ZCoupon::Consume($coupon);
                     //credit to user'money'
                     $tip = $coupon['credit'] > 0 ? " 返利{$coupon['credit']}元" : '';
                     $v[] = $INI['system']['couponname'] . '有效';
                     $v[] = '消费时间:' . date('Y-m-d H:i:s', time());
                     $v[] = '本次消费成功' . $tip;
                 }
             }
         }
     }
     $v = join('<br/>', $v);
     $d = array('html' => $v, 'id' => 'coupon-dialog-display-id');
     json($d, 'updater');
 } else {
     if ($action == 'sms') {
         $coupon = Table::Fetch('coupon', $sid);