/** * 线下抢购验证 **/ public function store_liveverifyOp() { if (uk86_chksubmit()) { //线下抢购验证 $params = array(); $params['live_order_pwd.order_pwd'] = trim($_POST['order_pwd']); $model = Model(); $order_pwd = $model->table('live_order_pwd,live_order')->field('live_order_pwd.order_id,live_order_pwd.state,live_order.mobile,live_order.item_id,live_order.item_name')->join('left')->on('live_order_pwd.order_id = live_order.order_id')->where(array('order_pwd' => $_POST['order_pwd']))->find(); if (empty($order_pwd)) { showDialog('线下抢兑换码验证失败,请核对后重新填写并再次提交验证。', '', 'error', ''); } if ($order_pwd['state'] == 2) { //2.已使用 showDialog('该线下抢兑换码已使用', '', 'error', ''); } $model_live_groupbuy = Model('live_groupbuy'); $live_groupbuy = $model_live_groupbuy->live_groupbuyInfo(array('groupbuy_id' => $order_pwd['item_id'])); if ($live_groupbuy['validity'] < time()) { //已过期 showDialog('该线下抢兑换码已过期', '', 'error', ''); } $params = array(); $params['state'] = 2; $params['use_time'] = time(); $res = $model->table('live_order_pwd')->where(array('order_pwd' => trim($_POST['order_pwd'])))->update($params); if ($res) { $order_params = array(); $order_params['use_time'] = $params['use_time']; $count = $model->table('live_order_pwd')->where(array('order_id' => $order_pwd['order_id'], 'state' => 1))->count(); if ($count == 0) { $order_params['state'] = 3; //3.已消费 $order_params['finish_time'] = time(); } $model->table('live_order')->where(array('order_id' => $order_pwd['order_id']))->update($order_params); $content = '您的抢购' . $order_pwd['item_name'] . '验证成功'; $sms = new Uk86Sms(); $sms->uk86_send($order_pwd['mobile'], $content . '【' . C('site_name') . '】'); showDialog('验证成功', '', 'succ', ''); } else { showDialog('验证失败', '', 'error', ''); } } Tpl::showpage('store_liveverify', 'null_layout'); }
/** * 发送提货码短信消息 */ public function sendPickupcode($param) { $dorder_info = Model('delivery_order')->getDeliveryOrderInfo(array('order_id' => $param['order_id']), 'reciver_mobphone'); $tpl_info = Model('mail_templates')->getTplInfo(array('code' => 'send_pickup_code')); $data = array(); $data['site_name'] = C('site_name'); $data['pickup_code'] = $param['pickup_code']; $message = uk86_ncReplaceText($tpl_info['content'], $data); $sms = new Uk86Sms(); $result = $sms->uk86_send($dorder_info['reciver_mobphone'], $message); if (!$result) { return uk86_callback(false, '发送提货码短信消息失败order_id:' . $param['order_id']); } else { return uk86_callback(true); } }
/** * 发送短消息 * @param unknown $number * @param unknown $message */ private function uk86_sendShort($number, $message) { $sms = new Uk86Sms(); $sms->uk86_send($number, $message); }
/** * 发放单个F码操作 */ public function fcode_grand_oneOp() { $goods_commonid = intval($_GET['goods_commonid']); $goods_info = Model()->table('goods')->field('goods_id, goods_storage')->where(array('goods_commonid' => $goods_commonid))->find(); $free_model = Model('free'); $owner_ids = $free_model->where(array('free_goods_id' => $goods_info['goods_id']))->field('free_owner_id, free_owner_name')->select(); //判断库存 $sum = count($owner_ids) + 1; if (intval($goods_info['goods_storage']) < $sum) { showDialog('该F码商品库存不足', '', 'error'); } //判断F码剩余数量 $fcode_num = Model('goods_fcode')->where(array('fc_fafang' => 0, 'goods_commonid' => $goods_commonid))->count(); if ($fcode_num < 1) { showDialog('该F码商品F码数量不足', '', 'error'); } $insert_array = array(); $insert_array['free_goods_id'] = intval($goods_info['goods_id']); $insert_array['free_goods_commonid'] = $goods_commonid; $insert_array['free_grand_time'] = time(); $insert_array['free_owner_id'] = intval($_GET['member_id']); $insert_array['store_id'] = intval($_SESSION['store_id']); $insert_array['get_type'] = '店铺发送'; $member_info = Model()->table('member')->where(array('member_id' => $insert_array['free_owner_id']))->field('member_name, member_mobile, member_email')->find(); $insert_array['free_owner_name'] = $member_info['member_name']; //取一条F码,并修改F码发放状态 $fcode_info = Model()->table('goods_fcode')->field('fc_id, fc_code')->where(array('fc_fafang' => 0, 'fc_state' => 0, 'goods_commonid' => $goods_commonid))->find(); Model()->table('goods_fcode')->where(array('fc_id' => $fcode_info['fc_id']))->update(array('fc_fafang' => 1)); $insert_array['fcode_id'] = intval($fcode_info['fc_id']); $insert_array['free_code'] = $fcode_info['fc_code']; //写入F码记录表 $result = Model('free')->insert($insert_array); //发送短信通知用户 if (!empty($member_info['member_mobile'])) { $sms = new Uk86Sms(); $message = '尊敬的用户,店铺' . $_SESSION['store_name'] . '于' . date('Y-m-d H:i') . '给您发送了F码,请进入商城确认。'; $sms->uk86_send($member_info['member_mobile'], $message); } //发送邮件通知 if (!empty($member_info['member_email'])) { // $model_tpl = Model('mail_templates'); // $tpl_info = $model_tpl->getTplInfo(array('code'=>'f_code_send')); // $param = array(); // $param['site_name'] = C('site_name'); // $param['user_name'] = $member_info['member_name']; // $param['site_url'] = SHOP_SITE_URL; // $param['store_name'] = $_SESSION['store_name']; // $param['date'] = date('Y-m-d H:i'); // $subject = uk86_ncReplaceText($tpl_info['title'],$param); // $message = uk86_ncReplaceText($tpl_info['content'],$param); $subject = C('site_name') . 'F码发放'; $message = '尊敬的用户,店铺' . $_SESSION['store_name'] . '于' . date('Y-m-d H:i') . '给您发送了F码,请进入商城确认。'; $email = new Uk86Email(); $email->uk86_send_sys_email($member_info['member_email'], $subject, $message); } if ($result) { uk86_showMessage('操作成功'); } else { uk86_showMessage('操作失败'); } }
/** * 修改手机号 - 发送验证码 */ public function send_modify_mobileOp() { $obj_validate = new Uk86Validate(); $obj_validate->validateparam = array(array("input" => $_GET["mobile"], "require" => "true", 'validator' => 'mobile', "message" => '请正确填写手机号码')); $error = $obj_validate->uk86_validate(); if ($error != '') { exit(json_encode(array('state' => 'false', 'msg' => $error))); } $model_member = Model('member'); $condition = array(); $condition['member_mobile'] = $_GET['mobile']; $condition['member_id'] = array('neq', $_SESSION['member_id']); $member_info = $model_member->getMemberInfo($condition, 'member_id'); if ($member_info) { exit(json_encode(array('state' => 'false', 'msg' => '该手机号已被使用,请更换其它手机号'))); } $update = $model_member->editMember(array('member_id' => $_SESSION['member_id']), array('member_mobile' => $_GET['mobile'])); if (!$update) { exit(json_encode(array('state' => 'false', 'msg' => '系统发生错误,如有疑问请与管理员联系'))); } $verify_code = rand(100, 999) . rand(100, 999); $data = array(); $data['auth_code'] = $verify_code; $data['send_acode_time'] = TIMESTAMP; $update = $model_member->editMemberCommon($data, array('member_id' => $_SESSION['member_id'])); if (!$update) { exit(json_encode(array('state' => 'false', 'msg' => '系统发生错误,如有疑问请与管理员联系'))); } $model_tpl = Model('mail_templates'); $tpl_info = $model_tpl->getTplInfo(array('code' => 'modify_mobile')); $param = array(); $param['site_name'] = C('site_name'); $param['send_time'] = date('Y-m-d H:i', TIMESTAMP); $param['verify_code'] = $verify_code; $message = uk86_ncReplaceText($tpl_info['content'], $param); $sms = new Uk86Sms(); $result = $sms->uk86_send($_GET["mobile"], $message); if ($result) { exit(json_encode(array('state' => 'true', 'msg' => '发送成功'))); } else { exit(json_encode(array('state' => 'false', 'msg' => '发送失败'))); } }
/** * 修改支付密码时发送校验码 */ public function getCodeByPaypwdOp() { $value = $_GET['value']; if ($value == '') { exit(json_encode(array('state' => false, 'msg' => '请选择校验码接收方式'))); } $member_info = Model()->table('member')->where($this->condition)->field('member_mobile, member_email')->find(); $verify_code = rand(100, 999) . rand(100, 999); //校验码存入kookie uk86_setNcCookie('pay_code_' . $_SESSION['member_id'], $verify_code, '1800'); if ($value == 'mobile') { $sms = new Uk86Sms(); $content = '【' . C('site_name') . '】您与' . date('Y-m-d H:i') . '设置支付密码校验码为:' . $verify_code . ',30分钟有效。'; $result = $sms->uk86_send(trim($member_info['member_mobile']), $content); $msg = '校验码已成功发送至您的手机,请在30分钟内完成验证'; } elseif ($value == 'email') { $email = new Uk86Email(); $subject = C('site_name') . '安全校验码'; $message = '【' . C('site_name') . '】您与' . date('Y-m-d H:i') . '设置支付密码校验码为:' . $verify_code . ',请在30分钟内完成验证。'; $result = $email->uk86_send_sys_email(trim($member_info['member_email']), $subject, $message); $msg = '校验码已成功发送至您的邮箱,请在30分钟内完成验证'; } if ($result) { exit(json_encode(array('state' => true, 'msg' => $msg))); } else { exit(json_encode(array('state' => false, 'msg' => '校验码发送失败,请联系管理员'))); } }
/** * 支付成功页面 */ public function pay_okOp() { $order_sn = $_GET['order_sn']; if (!preg_match('/^\\d{18}$/', $order_sn)) { uk86_showMessage('订单不存在', 'index.php?act=member_live&op=index', 'html', 'error'); } Uk86Language::uk86_read('common,home_layout'); Tpl::setDir('buy'); Tpl::setLayout('buy_layout'); //查询支付单信息 $model_live_order = Model('live_order'); $order_info = $model_live_order->live_orderInfo(array('order_sn' => $order_sn, 'member_id' => $_SESSION['member_id'])); if (empty($order_info)) { uk86_showMessage('订单不存在', 'index.php?act=member_live&op=index', 'html', 'error'); } Tpl::output('order_info', $order_info); //生成抢购券 $sn_str = ''; for ($i = 0; $i < $order_info['number']; $i++) { $sn = $this->_groupbuySN(); $order_pwd = $model_live_order->getLiveOrderPwd(array('order_pwd' => $sn)); if (count($order_pwd) > 0) { $i--; continue; } $params = array(); $params['order_id'] = $order_info['order_id']; $params['state'] = 1; //1.未使用 $params['order_pwd'] = $sn; $model_live_order->addLiveOrderPwd($params); $sn_str .= $sn . ','; } //发送短信 $sn_str = trim($sn_str, ','); $content = '您的抢购兑换券:' . $sn_str; $sms = new Uk86Sms(); $sms->uk86_send($order_info['mobile'], $content . '【' . C('site_name') . '】'); Tpl::output('buy_step', 'step4'); Tpl::showpage('live_groupbuy_step3'); }