一、用戶申請開店流程
個人、企業申請入駐:實名認證->Paycenter認證通過->申請入駐->平臺審核通過
自營店鋪:平臺后臺添加自營店鋪
1.申請商家入駐
**實名認證:**
控制器:paycenter/controllers/InfoCtl.php -> certification();
視圖:paycenter/views/default/InfoCtl/certification.php
~~~
//認證表單提交
$('#form').validator({
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
//驗證
......
},
fields : {
'user_realname':'required;',
'user_identity_card':'required;identity_type',
'user_identity_start_time':'required;',
'user_identity_end_time':'times;',
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form").serialize(),
success:function(a){
if(a.status == 200)
{
Public.tips.success("<?=_('操作成功')?>");
var from = $('#page_from').val();
if(from == 'bt'){
location.href= "<?= Yf_Registry::get('url');?>?ctl=Info&met=btinfo";
}else{
location.href= "<?= Yf_Registry::get('url');?>?ctl=Info&met=account";
}
}
else
{
if(typeof(a.msg) != 'undefined'){
Public.tips.error(a.msg);
}else{
Public.tips.error("<?=_('操作失敗')?>");
}
return false;
}
}
});
}
});
~~~
方法:editCertification()
~~~
$User_InfoModel = new User_InfoModel();
$flag = $User_InfoModel->editInfo($user_id,$edit);
~~~
**實名認證以后,需要在平臺Paycenter后臺認證審核:**
控制器:paycenter_admin/admin/controllers/paycen/PayInfoCtl.php
視圖:paycenter_admin/admin/views/default/paycen/PayInfoCtl/index.php
(1)個人申請商家入駐(URL參數:apply=1)
控制器:shop/controllers/Seller/Shop/SettledCtl.php -> index();
模型:shop/models/Shop/BaseModel.php、shop/models/Shop/CompanyModel.php
* 簽訂入駐協議:shop/views/default/Seller/Shop/SettledCtl/step1.php(視圖)
* 個人實名信息:shop/views/default/Seller/Shop/SettledCtl/step2.php(視圖)
~~~
$('#form_company_info').validator({
//驗證、ajax
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
tel:[/^[1][0-9]{10}$/,'<?=__('請輸入正確的手機號碼')?>'],
zjtel:[/(^0\d{2,3}[-]?\d{5,9}$)|(^[1][0-9]{10}$)/,'<?=__('請輸入正確的電話號碼')?>'],
daima:[/^[a-zA-Z0-9]{8}-[a-zA-Z0-9]$/,'<?=__('請輸入正確的組織機構代碼')?>'],
times:function(element, params){
var start_time = $('#start_time').val();
var end_time = $('#end_time').val();
if(start_time>end_time && end_time){
return '<?=__('不能小于起始時間')?>';
}
}
},
fields: {
//驗證規則
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form_company_info").serialize(),
success:function(a){
if(a.status == 200)
{
location.href="./index.php?ctl=Seller_Shop_Settled&met=index&op=step3";
}
else
{
if(typeof(a.msg) == 'undefined' || !a.msg){
Public.tips.error("<?=__('操作失敗')?>");
}else{
Public.tips.error(a.msg);
}
return false;
}
}
});
}
});
})
$('#btn_apply_company_next').click(function() {
$("#form_company_info").submit();
});
~~~
方法:addShopCompany()
~~~
if (!$shop_info){
$flag = $this->shopCompanyModel->addCompany($shop_company, TRUE);
$shop_base['shop_id'] = $flag;
$flag1 = $this->shopBaseModel->addBase($shop_base);
if ($flag1 && $flag && $this->messageModel->sql->commitDb())
{
$status = 200;
$msg = __('success');
}
else
{
$this->messageModel->sql->rollBackDb();
$status = 250;
$msg = __('failure1');
}
}else{
//編輯
$flag = $this->shopCompanyModel->editCompany($shop_info['shop_id'], $shop_company);
$flag1 = $this->shopBaseModel->editBase($shop_info['shop_id'], $shop_base);
$rs_rows = array();
check_rs($flag, $rs_rows);
check_rs($flag1, $rs_rows);
if (is_ok($rs_rows) && $this->messageModel->sql->commitDb()){
$status = 200;
$msg = __('success');
}else{
$this->messageModel->sql->rollBackDb();
$status = 250;
$msg = __('failure2');
}
}
~~~
* 財務資質信息:shop/views/default/Seller/Shop/SettledCtl/step3.php(視圖)
~~~
$('#form_company_info').validator({
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
yh:[/^(\d{16}|\d{19})$/,"<?=__('請填寫正確的銀行賬號')?>"],
},
fields: {
//驗證規則
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form_company_info").serialize(),
success:function(a){
if(a.status == 200)
{
location.href="./index.php?ctl=Seller_Shop_Settled&met=index&op=step4&apply=<?=$apply?>";
}
else
{
alert("<?=__('操作失敗!')?>");
}
}
});
}
});
$('#btn_apply_company_next').click(function() {
$("#form_company_info").submit();
});
~~~
方法:editShopCompany()
~~~
$flag = $this->shopCompanyModel->editCompany($shop_id, $shop_company);
$flag1 = $this->shopBaseModel->editBase($shop_id, array('shop_status'=>9));
~~~
* 店鋪經營信息:shop/views/default/Seller/Shop/SettledCtl/step4.php(視圖)
~~~
$('#form_company_info').validator({
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
},
fields: {
'shop_name': 'required;',
'shop_grade_id':'required;',
'joinin_year':'required;',
'shop_class_id':'required;',
'shop_class_bind_id':'required;',
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form_company_info").serialize(),
success:function(a){
if(a.status == 200)
{
location.href="./index.php?ctl=Seller_Shop_Settled&met=index&op=step5&apply=<?=$apply?>";
}
else
{
alert("<?=__('操作失敗!')?>");
}
}
});
}
});
$('#btn_apply_company_next').click(function() {
$("#form_company_info").submit();
});
~~~
方法:editShopBase()
~~~
$shopClassBind = $this->shopClassBindModel->listByWhere(array('shop_id'=>$shop_id));
if($shopClassBind['items']){
$calss_id = array();
foreach ($shopClassBind['items'] as $val){
$calss_id[] = $val['shop_class_bind_id'];
}
$this->shopClassBindModel->removeClassBind($calss_id);
}
foreach ($product_class_id as $key => $value)
{
$shop_class['product_class_id'] = $value;
$shop_class['commission_rate'] = $commission_rate[$key];
$shop_class['shop_class_bind_enable'] = 2;
$shop_class['shop_id'] = $shop_id;
$flag1 = $this->shopClassBindModel->addClassBind($shop_class);
}
~~~
(2)企業申請商家入駐(URL參數:apply=2)
控制器:shop/controllers/Seller/Shop/SettledCtl.php -> index();
模型:shop/models/Shop/BaseModel.php、shop/models/Shop/CompanyModel.php
* 簽訂入駐協議:shop/views/default/Seller/Shop/SettledCtl/step1.php(視圖)
* 公司資質信息:shop/views/default/Seller/Shop/SettledCtl/step2.php(視圖)
~~~
$('#form_company_info').validator({
//驗證、ajax
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
tel:[/^[1][0-9]{10}$/,'<?=__('請輸入正確的手機號碼')?>'],
zjtel:[/(^0\d{2,3}[-]?\d{5,9}$)|(^[1][0-9]{10}$)/,'<?=__('請輸入正確的電話號碼')?>'],
daima:[/^[a-zA-Z0-9]{8}-[a-zA-Z0-9]$/,'<?=__('請輸入正確的組織機構代碼')?>'],
times:function(element, params){
var start_time = $('#start_time').val();
var end_time = $('#end_time').val();
if(start_time>end_time && end_time){
return '<?=__('不能小于起始時間')?>';
}
}
},
fields: {
//驗證規則
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form_company_info").serialize(),
success:function(a){
if(a.status == 200)
{
location.href="./index.php?ctl=Seller_Shop_Settled&met=index&op=step3";
}
else
{
if(typeof(a.msg) == 'undefined' || !a.msg){
Public.tips.error("<?=__('操作失敗')?>");
}else{
Public.tips.error(a.msg);
}
return false;
}
}
});
}
});
})
$('#btn_apply_company_next').click(function() {
$("#form_company_info").submit();
});
~~~
方法:addShopCompany()
~~~
if (!$shop_info){
$flag = $this->shopCompanyModel->addCompany($shop_company, TRUE);
$shop_base['shop_id'] = $flag;
$flag1 = $this->shopBaseModel->addBase($shop_base);
if ($flag1 && $flag && $this->messageModel->sql->commitDb())
{
$status = 200;
$msg = __('success');
}
else
{
$this->messageModel->sql->rollBackDb();
$status = 250;
$msg = __('failure1');
}
}else{
//編輯
$flag = $this->shopCompanyModel->editCompany($shop_info['shop_id'], $shop_company);
$flag1 = $this->shopBaseModel->editBase($shop_info['shop_id'], $shop_base);
$rs_rows = array();
check_rs($flag, $rs_rows);
check_rs($flag1, $rs_rows);
if (is_ok($rs_rows) && $this->messageModel->sql->commitDb()){
$status = 200;
$msg = __('success');
}else{
$this->messageModel->sql->rollBackDb();
$status = 250;
$msg = __('failure2');
}
}
~~~
* 財務資質信息:shop/views/default/Seller/Shop/SettledCtl/step3.php(視圖)
~~~
$('#form_company_info').validator({
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
yh:[/^(\d{16}|\d{19})$/,"<?=__('請填寫正確的銀行賬號')?>"],
},
fields: {
//驗證規則
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form_company_info").serialize(),
success:function(a){
if(a.status == 200)
{
location.href="./index.php?ctl=Seller_Shop_Settled&met=index&op=step4&apply=<?=$apply?>";
}
else
{
alert("<?=__('操作失敗!')?>");
}
}
});
}
});
$('#btn_apply_company_next').click(function() {
$("#form_company_info").submit();
});
~~~
方法:editShopCompany()
~~~
$flag = $this->shopCompanyModel->editCompany($shop_id, $shop_company);
$flag1 = $this->shopBaseModel->editBase($shop_id, array('shop_status'=>9));
~~~
* 店鋪經營信息:shop/views/default/Seller/Shop/SettledCtl/step4.php(視圖)
~~~
$('#form_company_info').validator({
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
},
fields: {
'shop_name': 'required;',
'shop_grade_id':'required;',
'joinin_year':'required;',
'shop_class_id':'required;',
'shop_class_bind_id':'required;',
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form_company_info").serialize(),
success:function(a){
if(a.status == 200)
{
location.href="./index.php?ctl=Seller_Shop_Settled&met=index&op=step5&apply=<?=$apply?>";
}
else
{
alert("<?=__('操作失敗!')?>");
}
}
});
}
});
$('#btn_apply_company_next').click(function() {
$("#form_company_info").submit();
});
~~~
方法:editShopBase()
~~~
$shopClassBind = $this->shopClassBindModel->listByWhere(array('shop_id'=>$shop_id));
if($shopClassBind['items']){
$calss_id = array();
foreach ($shopClassBind['items'] as $val){
$calss_id[] = $val['shop_class_bind_id'];
}
$this->shopClassBindModel->removeClassBind($calss_id);
}
foreach ($product_class_id as $key => $value)
{
$shop_class['product_class_id'] = $value;
$shop_class['commission_rate'] = $commission_rate[$key];
$shop_class['shop_class_bind_enable'] = 2;
$shop_class['shop_id'] = $shop_id;
$flag1 = $this->shopClassBindModel->addClassBind($shop_class);
}
~~~
**提交申請,平臺審核**
平臺審核控制器:shop/controllers/Api/Shop/ManageCtl.php
平臺審核視圖:shop_admin/views/default/Shop/ManageCtl/getShoplist.php
JS:shop_admin/static/default/js/controllers/shop/join/shop_join_list.js
**簽訂合同**
控制器:shop/controllers/Seller/Shop/SettledCtl.php
簽訂合同及繳費:shop/views/default/Seller/Shop/SettledCtl/step5.php(視圖)
~~~
$('#form').validator({
ignore: ':hidden',
theme: 'yellow_right',
timely: 1,
stopOnError: false,
rules: {
},
fields: {
'payment_voucher': 'required;',
'payment_voucher_explain':'required;',
},
valid:function(form){
//表單驗證通過,提交表單
$.ajax({
url: ajax_url,
data:$("#form").serialize(),
success:function(a){
if(a.status == 200)
{
location.href="./index.php?ctl=Seller_Shop_Settled&met=index&op=step5&apply=<?=$apply?>";
}
else
{
alert("<?=__('操作失敗')?>");
}
}
});
}
});
$('#btn_apply_company_next').click(function() {
$("#form").submit();
});
~~~
方法:shopPaystatus()
~~~
//添加賣家
$check_seller = $SellerBaseModel->getByWhere(array('shop_id'=>$shop_id));
if(!$check_seller){
$seller_base['shop_id'] = $shop_id;
$seller_base['user_id'] = Perm::$userId;
$seller_base['seller_name'] = Perm::$row['user_account'];
$seller_base['seller_is_admin'] = 1;
$seller_add = $SellerBaseModel->addBase($seller_base);
}else{
$seller_add = true;
}
~~~
**申請店鋪返回上一步**
方法:_getRpStep()
~~~
switch ($shop_step_info['rp']){
case 'step0':
//1.沒有入駐信息,2.支持所有的入駐
case 'step1':
//沒有入駐信息,僅支持單方面入駐,如果支持所有入駐,就退到step0
if($shop_step_info['shop_status'] == '-1'){
if(Web_ConfigModel::value('join_type') == 3){
$op = 'step0';
}else{
$op = 'step1';
}
}else{
$status = false;
}
break;
case 'step2':
//1. 企業入駐 2. shop_status in 4,5,6,7,8,9
case 'pstep2':
//1. 個人入駐 2. shop_status in 4,5,6,7,8,9
if(in_array($shop_step_info['shop_status'],array(4,5,6,7,8,9))){
if($shop_step_info['shop_business'] == 1){
$op = 'step2';
}else{
$op = 'pstep2';
}
}else{
$status = false;
}
break;
case 'step3':
//1. 企業入駐 2. shop_status in 4,5,6,7,8,9
case 'pstep3':
//1. 個人入駐 2. shop_status in 4,5,6,7,8,9
if(in_array($shop_step_info['shop_status'],array(4,5,6,7,8,9))){
if($shop_step_info['shop_business'] == 1){
$op = 'step3';
}else{
$op = 'pstep3';
}
}else{
$status = false;
}
break;
case 'step4':
//1. shop_status in 4,5,6,7,8,9
if(in_array($shop_step_info['shop_status'],array(4,5,6,7,9))){
$op = 'step4';
}else{
$status = false;
}
break;
case 'step5':
//1. shop_status == 7
if($shop_step_info['shop_status'] == 7){
$op = 'step5';
}else{
$status = false;
}
break;
default :
$status = false;
break;
}
~~~
**平臺審核店鋪**
平臺審核控制器:shop/controllers/Api/Shop/ManageCtl.php
平臺審核視圖:shop_admin/views/default/Shop/ManageCtl/pay.php
JS:shop_admin/static/default/js/controllers/shop/join/shop_Pay_list.js
2.平臺自營店鋪
平臺添加店鋪:
控制器:shop/controllers/Api/Shop/SelfsupportCtl.php
視圖:shop_admin/views/default/Shop/SelfsupportCtl/getShopAddRow.php
3.店鋪狀態
模型:shop/models/shop/BaseModel.php
參數:shop_status
0:關閉
1:待審核資料
2:待審核付款
3:開店成功
4:審核未通過
~~~
public static $shop_status = array(
"0" => "關閉",
"1" => "待審核信息",
"2" => "待審核付款",
"3" => "開店成功",
"4" => "審核未通過"
);
~~~
- 序言
- 系統要求
- 版本更新日志
- 遠豐商城技術對接說明
- 開發指導
- 系統架構
- 負載集群
- 云存儲
- 框架內容
- 基礎
- 開發規范
- 目錄結構
- 架構
- 架構總覽
- 數據庫
- 數據庫連接
- 基本使用
- 緩存
- 配置
- 路由
- 數據字典
- ucenter
- shop
- paycenter
- ucenter_admin
- shop_admin
- paycenter_admin
- shop1
- shop2
- shop3
- 通訊內容
- 商家中心
- 頂部導航欄
- 店鋪信息欄
- 店鋪及商品提示欄
- 交易提示欄
- 銷售情況統計欄
- 集群架構圖
- 單品銷量排行欄
- 店鋪運營推廣欄
- 平臺聯系方式欄
- 訂單物流
- 商品
- 商品列表
- 商品詳情
- 商品發布與編輯
- 分銷商品
- 關聯版式
- 商品規格
- 圖片空間
- 淘寶導入
- 訂單流程
- 交易訂單
- 訂單退款/退貨
- 促銷
- 團購管理
- 加價購
- 限時折扣
- 滿即送
- 代金券管理
- 分銷
- 店鋪
- 店鋪設置
- 自銷產品供應商
- 實體店鋪
- 品牌申請
- 店鋪信息
- 消費者保障服務
- 門店賬號
- 分銷商--產品供應商
- 分銷明細
- 批發市場
- 商家微信公眾號
- 售后服務
- 咨詢管理
- 投訴管理
- 退款管理
- 退貨管理
- 雜項
- 遠程上傳圖片
- 接口(廢棄,參考最外層接口項)
- 接口說明
- 品牌
- 商品規格
- 商品類型
- 商品分類
- 商品
- 訂單
- 商品/店鋪收藏
- 足跡
- 退款及退貨
- 商家店鋪
- 會員
- 入駐協議
- 訂單接口
- 商品接口
- 訂單物流接口
- 商家中心接口
- 促銷接口
- 快遞鳥物流接口
- 代金券接口
- 首頁版塊
- 團購
- 平臺紅包
- 限時折扣接口
- 拼團接口
- wap首頁模板
- JS
- 銀聯支付
- 多語言
- 商品評分
- 圖片加載
- 買家申請退款退貨
- 商家退款退貨
- 平臺退款退貨
- 添加發票
- 提交訂單
- 確認訂單
- 運費銷售區域
- 獲取會員地址
- 充值
- 導出XLS
- 商城系統集成
- 多語言實現
- 三級分銷推廣鏈接發展推廣員
- app.ini.php
- 去分銷
- 版本更新
- 物流支持
- 運營人員建議
- 業務邏輯
- 統計結算
- 客服消息
- 賬號
- 三級分銷
- IM
- 配置
- 平臺帳號
- 活動數據表說明
- 接口
- 數據庫中間鍵
- MyCat的優勢
- 概念說明
- Mycat的下載及安裝
- 參數配置案列
- Mycat讀寫分離
- 基本命令
- 常見錯誤