checkLogin(); $files = array( 'order', 'clips', 'payment', 'transaction' ); $this->load_helper($files); } /** * 检测是否可以开店 */ public function actionIndex() { // 是否已经成功开店 $sql = "SELECT id,cat_id,shop_name FROM {pre}drp_shop WHERE user_id=" . $_SESSION['user_id']; $drp = $this->db->getRow($sql); $drp_id = $drp['id']; $shop_name = $drp['shop_name']; $isbuy = $drp['isbuy']; $sql = "SELECT value FROM {pre}drp_config WHERE code='isbuy'"; $code = $this->db->getOne($sql); $sql = "SELECT cat_id FROM {pre}drp_shop WHERE user_id=" . $_SESSION['user_id']; $cat_id = $this->db->getOne($sql); if ($code == 1) { $sql = "SELECT value FROM {pre}drp_config WHERE code='buy_money'"; $value = $this->db->getOne($sql); } if (empty($drp_id) && empty($code)) { ecs_header("Location: " . U('drp/index/register')); } if (empty($drp_id) && $code != '' && $value > 0) { ecs_header("Location: " . U('drp/index/purchase')); } if (empty($drp_id) && $code != '' && empty($value)) { ecs_header("Location: " . U('drp/index/register')); } if (!empty($drp_id) && !empty($cat_id)) { ecs_header("Location: " . U('drp/user/index')); } if (!empty($drp_id) && empty($cat_id) && !empty($shop_name)) { ecs_header("Location: " . U('drp/index/category')); } if (!empty($drp_id) && empty($cat_id) && empty($shop_name)) { ecs_header("Location: " . U('drp/user/shopconfig')); } } public function actionRegister() { $sql = "SELECT id FROM {pre}drp_shop WHERE user_id=" . $_SESSION['user_id']; $drp_id = $this->db->getRow($sql); if (empty($drp_id)) { if (IS_POST) { $data = I(''); if ($data['mobile']) { $preg = preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $data['mobile']) ? true : false; if ($preg == FALSE) { show_message('手机号码格式不正确'); } } if (empty($data['shop_name'])) { show_message("店铺名称不能为空"); } if (empty($data['real_name'])) { show_message(L('真实姓名称不能为空')); } if (empty($data['mobile'])) { show_message(L('联系方式不能为空')); } $data['user_id'] = $_SESSION['user_id']; $data['create_time'] = gmtime(); if ($this->model->table('drp_shop')->data($data)->insert()) { ecs_header("Location: " . U('drp/index/category')); } else { show_message("添加失败"); } } } else { ecs_header("Location: " . U('drp/user/index')); } $this->assign('page_title', '开店流程'); $this->display('distribution_open_one'); } /** * 选择分销类别 */ public function actionCategory() { $this->checkShopName(); if (IS_POST) { $cateArr = I('post.cate'); $cat_id = ''; if (empty($cateArr)) { show_message(L('分类不能为空')); } $data['cat_id'] = $cateArr; $where['user_id'] = $_SESSION['user_id']; $this->model->table('drp_shop')->data($data)->where($where)->update(); redirect(U('drp/index/finish')); } $sql = "SELECT value FROM {pre}drp_config WHERE code='notice'"; $notic = $this->db->getOne($sql); $notice = $this->htmlout($notic); $this->assign('notice', $notice); $category = get_child_tree(); $this->assign('category', $category); $this->assign('page_title', '开店流程'); $this->display('distribution_open_two'); } /** * 开店完成提示 */ public function actionFinish() { $this->checkShopCategory(); // 设置为分销商 $sql = "SELECT value FROM {pre}drp_config WHERE code='radio'"; $audit = $this->db->getOne($sql); $data['create_time'] = gmtime(); $sql = "SELECT value FROM {pre}drp_config WHERE code='ischeck'"; $ischeck = $this->db->getOne($sql); if ($ischeck == 1) { $data['audit'] = 0; $data['status'] = 1; } if ($ischeck == '') { $data['audit'] = 1; $data['status'] = 1; } $where['user_id'] = $_SESSION['user_id']; $this->model->table('drp_shop')->data($data)->where($where)->update(); //模板消息 by wanglu $shop = $this->model->table('drp_shop')->field('shop_name, mobile, create_time')->where($where)->find(); $pushData = array( 'keyword1' => array('value' => $shop['shop_name']), 'keyword2' => array('value' => $shop['mobile']), 'keyword3' => array('value' => date('Y-m-d', $shop['create_time'])) ); $url = __HOST__ . U('drp/index/register'); pushTemplate('OPENTM207126233', $pushData, $url); $this->assign('page_title', '开店完成'); $this->display('distribution_open_end'); } /** * 购买成为分销商 */ public function actionPurchase() { $sql = "SELECT value FROM {pre}drp_config WHERE `code`='buy_money'"; $price = $this->db->getOne($sql); $this->assign('price', price_format($price)); $sql = "SELECT value FROM {pre}drp_config WHERE `code`='novice'"; $novice = $this->db->getOne($sql); $this->assign('novice', $this->htmlout($novice)); $this->assign('page_title', '购买分销申请'); $this->display('purchase'); } /** * 购买流程 */ public function actionPurchasePay() { $sql = "SELECT value FROM {pre}drp_config WHERE `code`='buy_money'"; $price = $this->db->getOne($sql); $this->assign('price', price_format($price)); $payment_list = get_online_payment_list(false); if (isset($payment_list)) { foreach ($payment_list as $key => $payment) { //pc端去除ecjia的支付方式 if (substr($payment['pay_code'], 0, 4) == 'pay_') { unset($payment_list[$key]); continue; } if ($payment['is_cod'] == '1') { $payment_list[$key]['format_pay_fee'] = '' . $payment['format_pay_fee'] . ''; } /* 如果有易宝神州行支付 如果订单金额大于300 则不显示 */ if ($payment['pay_code'] == 'yeepayszx' && $total['amount'] > 300) { unset($payment_list[$key]); } /* 如果有余额支付 */ if ($payment['pay_code'] == 'balance') { /* 如果未登录,不显示 */ if ($_SESSION['user_id'] == 0) { unset($payment_list[$key]); } else { if ($_SESSION['flow_order']['pay_id'] == $payment['pay_id']) { $this->assign('disable_surplus', 1); } } } if (!file_exists(ADDONS_PATH . 'payment/' . $payment['pay_code'] . '.php')) { unset($payment_list[$key]); } } } if (IS_AJAX) { $pay_id = I('pay_id'); //生成伪订单号, $payment = payment_info($pay_id); $order = array(); $order['order_sn'] = $_SESSION['user_id']; $order['user_name'] = $_SESSION['user_name']; $payment['pay_fee'] = pay_fee($pay_id, $price, 0); $order['order_amount'] = $price + $payment['pay_fee']; //计算此次预付款需要支付的总金额 $order['log_id'] = insert_pay_log($order['order_sn'], $order['order_amount'], $type = PAY_REGISTERED, 0); //记录支付log $order['pay_code'] = $payment['pay_code']; if ($order['order_amount'] > 0) { include_once('plugins/payment/' . $payment['pay_code'] . '.php'); $pay_obj = new $payment['pay_code']; $pay_online = $pay_obj->get_code($order, unserialize_config($payment['pay_config'])); die($pay_online); } } $this->assign('payment_list', $payment_list); $this->assign('page_title', '购买分销申请'); $this->display('purchase_pay'); } /** * 检测用户登录状态 */ private function checkLogin() { // 是否登录 $this->user_id = $_SESSION['user_id']; if (!$this->user_id) { $url = urlencode(__HOST__ . $_SERVER['REQUEST_URI']); if (IS_POST) { $url = urlencode($_SERVER['HTTP_REFERER']); } ecs_header("Location: " . U('user/login/index', array('back_act' => $url))); exit; } } /** * html代码输出 */ private function htmlOut($str) { if (function_exists('htmlspecialchars_decode')) { $str = htmlspecialchars_decode($str); } else { $str = html_entity_decode($str); } $str = stripslashes($str); return $str; } /** * 验证店铺名是否已有店铺名 */ private function checkShopName() { $sql = "SELECT shop_name FROM {pre}drp_shop WHERE user_id=" . $_SESSION['user_id']; $shop_name = $this->db->getOne($sql); if (empty($shop_name)) { ecs_header("Location:" . U('drp/index/register')); } } /** * 验证店铺名是否已有店铺商品分类 */ private function checkShopCategory() { $sql = "SELECT cat_id FROM {pre}drp_shop WHERE user_id=" . $_SESSION['user_id']; $cat_id = $this->db->getOne($sql); if (empty($cat_id)) { ecs_header("Location:" . U('drp/index/category')); } } /** * 商品详情页通知页面 */ public function actionShopNotice() { $sql = "SELECT value FROM {pre}drp_config WHERE `code`='notice'"; $novice = $this->db->getOne($sql); $this->assign('novice', $this->htmlout($novice)); $this->display('shop_notice'); } }