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); }
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); }
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); }
$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);
$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;
if (!$store) { $data = "#{$coupon_code} 请选择一个有效分店"; } else { if (strpos($team['store_ids'], '@' . $store_id . '@') === false) { $data = "#{$coupon_code} 很抱歉,该分店并未进行此项目"; } else { if ($coupon['expire_time'] < strtotime(date('Y-m-d'))) { $data .= "#{$coupon_code} 已过期<br/>"; $data .= '过期时间:' . date('Y-m-d', $coupon['expire_time']) . '<br/>'; $data = '本次消费失败'; } else { if ($coupon['consume'] == 'Y') { $data = "很抱歉,此验证码之前已经消费过!<br/><strong>#{$coupon_code}</strong> 已消费<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) {
} else { if ($coupon['secret'] != $sec) { $v[] = $INI['system']['couponname'] . '编号密码不正确'; $v[] = '本次消费失败'; } else { if ($coupon['expire_time'] < strtotime(date('Y-m-d'))) { $v[] = "#{$cid} 已过期"; $v[] = '过期时间:' . date('Y-m-d', $coupon['consume_time']); $v[] = '本次消费失败'; } else { if ($coupon['consume'] == 'Y') { $v[] = "#{$cid} 已消费"; $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);