2019-09-06 23:53:10 +08:00

562 lines
26 KiB
PHP
Executable File

<?php
namespace wstmart\home\model;
use wstmart\common\model\Shops as CShops;
use wstmart\home\validate\Shops as VShop;
use think\Db;
use think\Loader;
use think\Validate;
/**
* ============================================================================
* 门店类
*/
class Shops extends CShops{
/**
* 获取店铺的默认运费
*/
public function getShopsFreight($shopId){
return $this->where(["dataFlag"=>1,"shopId"=>$shopId])->field('freight')->find();
}
/**
* 获取店铺公告
*/
public function getNotice(){
$shopId = (int)session('WST_USER.shopId');
return model('shops')->where(['shopId'=>$shopId])->value('shopNotice');
}
/**
* 修改店铺公告
*/
public function editNotice(){
$shopId = (int)session('WST_USER.shopId');
$shopNotice = input('shopNotice');
if(strlen($shopNotice)>450){
return WSTReturn('店铺公告不能超过150字');
}
$rs = $this->where("shopId=$shopId")->setField('shopNotice',$shopNotice);
if($rs!==false)return WSTReturn('设置成功',1);
return WSTReturn('设置失败',-1);
}
/**
* 店铺街列表
*/
public function pageQuery($pagesize){
$catId = input("get.id/d");
$keyword = input("keyword");
$userId = (int)session('WST_USER.userId');
$rs = $this->alias('s');
$where = [];
$where['s.dataFlag'] = 1;
$where['s.shopStatus'] = 1;
$where['s.applyStatus'] = 2;
if($keyword!='')$where['s.shopName'] = ['like','%'.$keyword.'%'];
if($catId>0){
$rs->join('__CAT_SHOPS__ cs','cs.shopId = s.shopId','left');
$where['cs.catId'] = $catId;
}
$page = $rs->join('__SHOP_SCORES__ ss','ss.shopId = s.shopId','left')
->join('__USERS__ u','u.userId = s.userId','left')
->join('__FAVORITES__ f','f.userId = '.$userId.' and f.favoriteType=1 and f.targetId=s.shopId','left')
->where($where)
->order('s.shopId asc')
->field('s.shopId,s.shopImg,s.shopName,s.shopTel,s.shopQQ,s.shopWangWang,s.shopWangWangType,s.shopCompany,ss.totalScore,ss.totalUsers,ss.goodsScore,ss.goodsUsers,ss.serviceScore,ss.serviceUsers,ss.timeScore,ss.timeUsers,.u.loginName,f.favoriteId,s.areaIdPath')
->paginate($pagesize)->toArray();
if(empty($page['Rows']))return $page;
$shopIds = [];
$areaIds = [];
foreach ($page['Rows'] as $key =>$v){
$shopIds[] = $v['shopId'];
$tmp = explode('_',$v['areaIdPath']);
$areaIds[] = $tmp[1];
$page['Rows'][$key]['areaId'] = $tmp[1];
//总评分
$page['Rows'][$key]['totalScore'] = WSTScore($v["totalScore"], $v["totalUsers"]);
$page['Rows'][$key]['goodsScore'] = WSTScore($v['goodsScore'],$v['goodsUsers']);
$page['Rows'][$key]['serviceScore'] = WSTScore($v['serviceScore'],$v['serviceUsers']);
$page['Rows'][$key]['timeScore'] = WSTScore($v['timeScore'],$v['timeUsers']);
//商品列表
$goods = Db::name('goods')->alias('g')->join('store_recom sr','sr.goodsId=g.goodsId','left')
->where(['dataFlag'=> 1,'goodsStatus'=>1,'isSale'=>1,'sr.storeStatus'=>1,'shopId'=> $v["shopId"]])->field('g.goodsId,goodsName,shopPrice,goodsImg')->limit(10)->order('saleTime desc')->select();
if(count($goods)<=3){
$goods = Db::name('goods')->alias('g')
->where(['dataFlag'=> 1,'goodsStatus'=>1,'isSale'=>1,'shopId'=> $v["shopId"]])->field('g.goodsId,goodsName,shopPrice,goodsImg')->limit(10)->order('saleTime desc')->select();
}
$page['Rows'][$key]['goods'] = $goods;
//店铺商品总数
$page['Rows'][$key]['goodsTotal'] = count($goods);
}
$rccredMap = [];
$goodsCatMap = [];
$areaMap = [];
//认证、地址、分类
if(!empty($shopIds)){
$rccreds = Db::name('shop_accreds')->alias('sac')->join('__ACCREDS__ a','a.accredId=sac.accredId and a.dataFlag=1','left')
->where('shopId','in',$shopIds)->field('sac.shopId,accredName,accredImg')->select();
foreach ($rccreds as $v){
$rccredMap[$v['shopId']][] = $v;
}
$goodsCats = Db::name('cat_shops')->alias('cs')->join('__GOODS_CATS__ gc','cs.catId=gc.catId and gc.dataFlag=1','left')
->where('shopId','in',$shopIds)->field('cs.shopId,gc.catName')->select();
foreach ($goodsCats as $v){
$goodsCatMap[$v['shopId']][] = $v['catName'];
}
$areas = Db::name('areas')->alias('a')->join('__AREAS__ a1','a1.areaId=a.parentId','left')
->where('a.areaId','in',$areaIds)->field('a.areaId,a.areaName areaName2,a1.areaName areaName1')->select();
foreach ($areas as $v){
$areaMap[$v['areaId']] = $v;
}
}
foreach ($page['Rows'] as $key =>$v){
$page['Rows'][$key]['accreds'] = (isset($rccredMap[$v['shopId']]))?$rccredMap[$v['shopId']]:[];
$page['Rows'][$key]['catshops'] = (isset($goodsCatMap[$v['shopId']]))?implode(',',$goodsCatMap[$v['shopId']]):'';
$page['Rows'][$key]['areas']['areaName1'] = (isset($areaMap[$v['areaId']]['areaName1']))?$areaMap[$v['areaId']]['areaName1']:'';
$page['Rows'][$key]['areas']['areaName2'] = (isset($areaMap[$v['areaId']]['areaName2']))?$areaMap[$v['areaId']]['areaName2']:'';
}
return $page;
}
/**
* 获取卖家中心信息
*/
public function getShopSummary($shopId){
$shop = $this->alias('s')->join('__SHOP_SCORES__ cs','cs.shopId = s.shopId','left')
->where(['s.shopId'=>$shopId,'dataFlag'=>1])
->field('s.shopMoney,s.noSettledOrderFee,s.paymentMoney,s.shopId,shopImg,shopName,shopAddress,shopQQ,shopWangWang,shopTel,serviceStartTime,serviceEndTime,cs.*')
->find();
//评分
$scores['totalScore'] = WSTScore($shop['totalScore'],$shop['totalUsers']);
$scores['goodsScore'] = WSTScore($shop['goodsScore'],$shop['goodsUsers']);
$scores['serviceScore'] = WSTScore($shop['serviceScore'],$shop['serviceUsers']);
$scores['timeScore'] = WSTScore($shop['timeScore'],$shop['timeUsers']);
WSTUnset($shop, 'totalUsers,goodsUsers,serviceUsers,timeUsers');
$shop['scores'] = $scores;
//认证
$accreds = $this->shopAccreds($shopId);
$shop['accreds'] = $accreds;
//商家访问量
$shop['view']=db('shop_view')->where('shopId',$shopId)->field('count(shopId)view,path')->group('path')->select();
//查看商家钱包是否足够钱
$USER = session('WST_USER');
$USER['shopMoney'] = $shop['shopMoney'];
$USER['noSettledOrderFee'] = $shop['noSettledOrderFee'];
$USER['paymentMoney'] = $shop['paymentMoney'];
session('WST_USER',$USER);
$stat = array();
$date = date("Y-m-d");
$userId = session('WST_USER.userId');
/**********今日动态**********/
//待查看消息数
$stat['messageCnt'] = Db::name('messages')->where(['receiveUserId'=>$userId,'msgStatus'=>0,'dataFlag'=>1])->count();
//今日销售金额
$stat['saleMoney'] = Db::name('orders')->where(['shopId'=>$shopId,'orderStatus'=>['egt',0],'dataFlag'=>1])->whereTime('createTime', 'between', [$date.' 00:00:00', $date.' 23:59:59'])->sum("goodsMoney");
//今日订单数
$stat['orderCnt'] = Db::name('orders')->where(['shopId'=>$shopId,'orderStatus'=>['egt',0],'dataFlag'=>1])->whereTime('createTime', 'between', [$date.' 00:00:00', $date.' 23:59:59'])->count();
//待发货订单
$stat['waitDeliveryCnt'] = Db::name('orders')->where(['shopId'=>$shopId,'orderStatus'=>0,'dataFlag'=>1])->count();
//待收货订单
$stat['waitReceiveCnt'] = Db::name('orders')->where(['shopId'=>$shopId,'orderStatus'=>1,'dataFlag'=>1])->count();
//取消/拒收
$stat['cancel'] = Db::name('orders')->where(['shopId'=>$shopId,'orderStatus'=>['in',[-1,-3]],'dataFlag'=>1])->count();
//库存预警
$goodsn = Db::name('goods')->where('shopId ='.$shopId.' and dataFlag = 1 and goodsStock <= warnStock and isSpec = 0 and warnStock>0')->cache('stockWarnCnt1'.$shopId,3600)->count();
$specsn = Db::name('goods_specs')->where('shopId ='.$shopId.' and dataFlag = 1 and specStock <= warnStock and warnStock>0')->cache('stockWarnCnt2'.$shopId,3600)->count();
$stat['stockWarnCnt'] = $goodsn+$specsn;
/**********商品信息**********/
//商品总数
$stat['goodsCnt'] = Db::name('goods')->where(['shopId'=>$shopId,'dataFlag'=>1])->cache('goodsCnt'.$shopId,3600)->count();
//上架商品
$stat['onSaleCnt'] = Db::name('goods')->where(['shopId'=>$shopId,'dataFlag'=>1,'goodsStatus'=>1,'isSale'=>1])->cache('onSaleCnt'.$shopId,3600)->count();
//待审核商品
$stat['waitAuditCnt'] = Db::name('goods')->where(['shopId'=>$shopId,'dataFlag'=>1,'goodsStatus'=>0])->cache('waitAuditCnt'.$shopId,3600)->count();
//仓库中的商品
$stat['unSaleCnt'] = Db::name('goods')->where(['shopId'=>$shopId,'dataFlag'=>1,'goodsStatus'=>1,'isSale'=>0])->cache('unSaleCnt'.$shopId,3600)->count();
//违规商品
$stat['illegalCnt'] = Db::name('goods')->where(['shopId'=>$shopId,'dataFlag'=>1,'goodsStatus'=>-1])->cache('illegalCnt'.$shopId,3600)->count();
//今日新品
$stat['newGoodsCnt'] = Db::name('goods')->where(['shopId'=>$shopId,'dataFlag'=>1,'goodsStatus'=>1,'isSale'=>1,'isNew'=>1])->cache('newGoodsCnt'.$shopId,3600)->count();
/**********订单信息**********/
//待付款订单
$stat['orderNeedpayCnt'] = Db::name('orders')->where(['userId'=>$userId,'orderStatus'=>-2,'dataFlag'=>1])->count();
//待结束订单
$stat['orderWaitCloseCnt'] = Db::name('orders')->where(['userId'=>$userId,'orderStatus'=>2,'dataFlag'=>1,'isClosed'=>0])->cache('orderWaitCloseCnt'.$shopId,3600)->count();
//退货退款订单
$stat['orderRefundCnt'] = Db::name('orders')->alias('o')->join('order_refunds orf','orf.orderId=o.orderId')->where(['shopId'=>$shopId,'refundStatus'=>0,'o.dataFlag'=>1])->count();
//待评价订单
$stat['orderWaitAppraisesCnt'] = Db::name('orders')->where(['shopId'=>$shopId,'orderStatus'=>2,'dataFlag'=>1,'isAppraise'=>0])->cache('orderWaitAppraisesCnt'.$shopId,3600)->count();
// 投诉订单数
$stat['complainNum'] = Db::name('order_complains')->where(['respondTargetId'=>$shopId,'complainStatus'=>1])->count();
// 近七天销售排行
$start = date('Y-m-d H:i:s',strtotime("-7 day"));
$end = date('Y-m-d H:i:s');
$stat['goodsTop'] = $rs = Db::field('og.goodsId,g.goodsName,goodsSn,sum(og.goodsNum) goodsNum,g.goodsImg')
->name('order_goods')
->alias('og')
->join('__ORDERS__ o','og.orderId=o.orderId')
->join('__GOODS__ g','og.goodsId=g.goodsId')
->order('goodsNum desc')
->whereTime('o.createTime','between',[$start,$end])
->where('(payType=0 or (payType=1 and isPay=1)) and o.dataFlag=1 and o.shopId='.$shopId)->group('og.goodsId')
->limit(10)->select();
return ['shop'=>$shop,'stat'=>$stat];
}
/**
* 获取店铺信息
*/
public function getByView($id){
$shop = $this->alias('s')->join('__BANKS__ b','b.bankId=s.bankId','left')
->where(['s.dataFlag'=>1,'shopId'=>$id])
->field('s.*,b.bankName')->find();
$areaIds = [];
$areaMaps = [];
$tmp = explode('_',$shop['areaIdPath']);
foreach ($tmp as $vv){
if($vv=='')continue;
if(!in_array($vv,$areaIds))$areaIds[] = $vv;
}
if(!empty($areaIds)){
$areas = Db::name('areas')->where(['dataFlag'=>1,'areaId'=>['in',$areaIds]])->field('areaId,areaName')->select();
foreach ($areas as $v){
$areaMaps[$v['areaId']] = $v['areaName'];
}
$tmp = explode('_',$shop['areaIdPath']);
$areaNames = [];
foreach ($tmp as $vv){
if($vv=='')continue;
$areaNames[] = @$areaMaps[$vv];
$shop['areaName'] = implode('',$areaNames);
}
}
//获取经营范围
$goodsCats = Db::name('goods_cats')->where(['parentId'=>0,'isShow'=>1,'dataFlag'=>1])->field('catId,catName')->select();
$catshops = Db::name('cat_shops')->where('shopId',$id)->select();
$catshopMaps = [];
foreach ($goodsCats as $v){
$catshopMaps[$v['catId']] = $v['catName'];
}
$catshopNames = [];
foreach ($catshops as $key =>$v){
if(isset($catshopMaps[$v['catId']]))$catshopNames[] = $catshopMaps[$v['catId']];
}
$shop['catshopNames'] = implode('、',$catshopNames);
//获取认证类型
$shop['accreds'] =Db::name('shop_accreds')->alias('sac')->join('__ACCREDS__ a','sac.accredId=a.accredId and a.dataFlag=1','inner')
->where('sac.shopId',$id)->field('accredName,accredImg')->select();
//开卡地址
$areaNames = model('areas')->getParentNames($shop['bankAreaId']);
$shop['bankAreaName'] = implode('',$areaNames);
return $shop;
}
/**
* 获取店铺指定字段
*/
public function getFieldsById($shopId,$fields){
return $this->where(['shopId'=>$shopId,'dataFlag'=>1])->field($fields)->find();
}
/**
* 编辑店铺资料mark huang 20180312 限制银行卡信息只能修改一次
*/
public function editInfo(){
//添加旺旺类型mark by cheng 20180314
$shopId = (int)session('WST_USER.shopId');
$shop_data['shopImg'] = input('post.shopImg');
$shop_data['isInvoice'] = input('post.isInvoice');
$shop_data['invoiceRemarks'] = input('post.invoiceRemarks');
$shop_data['serviceStartTime'] = input('post.serviceStartTime');
$shop_data['serviceEndTime'] = input('post.serviceEndTime');
$shop_data['freight'] = input('post.freight');
$shop_data['shopQQ'] = input('post.shopQQ');
$shop_data['shopWangWang'] = input('post.shopWangWang');
$shop_data['shopWangWangType'] = input('post.shopWangWangType');
$result = $this->validate('Shops.editInfo')->allowField(['shopImg','isInvoice','invoiceRemarks','serviceStartTime','serviceEndTime','freight','shopQQ','shopWangWang','shopWangWangType'])->save($shop_data,['shopId'=>$shopId]);
$bank_info = Db::name('shops')->where('shopId',$shopId)->field('bankNo,changeNum')->find();
$bank_data['bankNo'] = input('post.bankNo');
$result2 = true;
if($bank_info['changeNum'] == 0 && $bank_data['bankNo'] != $bank_info['bankNo']){
$bank_data['bankUserName'] = input('post.bankUserName');
$bank_data['bankId'] = input('post.bankId');
$bank_data['changeNum'] = $bank_info['changeNum'] + 1;
$result2 = $this->allowField(['bankNo','bankUserName','shopId','bankId','changeNum'])->save($bank_data,['shopId'=>$shopId]);
}elseif($bank_info['changeNum'] > 0){
if($bank_data['bankNo'] != $bank_info['bankNo'] ){
$result2 = false;
}else{
$result2 = true;
}
}
if(false !== $result){
if(false == $result2){
$msg='银行卡修改失败!';
}else{
$msg='!';
}
return WSTReturn('店铺相关信息保存成功'.$msg,1);
}else{
return WSTReturn($this->getError());
}
}
/**
* 获取店铺提现账号
*/
public function getShopAccount(){
$shopId = (int)session('WST_USER.shopId');
$shops = Db::name('shops')->alias('s')->join('banks b','b.bankId=s.bankId','inner')->where('s.shopId',$shopId)->field('b.bankName,s.bankAreaId,bankNo,bankUserName')->find();
return $shops;
}
/**
* 保存入驻资料
*/
public function saveStep2($data = []){
$userId = (int)session('WST_USER.userId');
//判断是否存在入驻申请
$shops = $this->where('userId',$userId)->find();
//新增入驻申请
Db::startTrans();
try{
if(empty($shops)){
$vshop = new VShop();
$shop = ['userId'=>$userId,'applyStatus'=>0,'applyStep'=>2];
$this->save($shop);
WSTAllow($data,implode(',',$vshop->scene['applyStep1']));
$data['shopId'] = $this->shopId;
$result = Db::name('shop_extras')->insert($data);
$shopId = $this->shopId;
$WST_USER = session('WST_USER');
$WST_USER['tempShopId'] = $shopId;
session('WST_USER',$WST_USER);
Db::commit();
return WSTReturn('保存成功',1);
}else{
if($shops['applyStatus']>=1)return WSTReturn('请勿重复申请入驻');
if($shops->applyStep<2){
$shops->applyStep = 2;
$shops->save();
}
$vshop = new VShop();
WSTAllow($data,implode(',',$vshop->scene['applyStep1']));
$result = Db::name('shop_extras')->where('shopId',$shops['shopId'])->update($data);
if(false !== $result){
Db::commit();
return WSTReturn('保存成功',1);
}else{
return WSTReturn('保存失败');
}
}
}catch (\Exception $e) {
Db::rollback();
return WSTReturn('保存失败',-1);
}
}
public function saveStep3($data = []){
/*
legalCertificateImg
businessLicenceImg
bankAccountPermitImg
organizationCodeImg
*/
$auxiliary=explode(',',$data['shopAds']);
$shopId = (int)session('WST_USER.tempShopId');
if($shopId==0)return WSTReturn('非法的操作');
$shops = model('shops')->get($shopId);
if($shops['applyStatus']>=1)return WSTReturn('请勿重复申请入驻');
//判断是否存在入驻申请
$vshop = new VShop();
WSTAllow($data,implode(',',$vshop->scene['applyStep2']));
//获取地区
$areaIds = model('Areas')->getParentIs($data['businessAreaPath0']);
if(!empty($areaIds))$data['businessAreaPath'] = implode('_',$areaIds)."_";
$areaIds = model('Areas')->getParentIs($data['areaIdPath0']);
if(!empty($areaIds))$data['areaIdPath'] = implode('_',$areaIds)."_";
//if($data['isLongbusinessDate']==1)unset($data['businessEndDate']);
//if($data['isLonglegalCertificateDate']==1)unset($data['legalCertificateEndDate']);
//if($data['isLongOrganizationCodeDate']==1)unset($data['organizationCodeEndDate']);
Db::startTrans();
try{
if($shops->applyStep<3){
$shops->applyStep = 3;
$shops->save();
}
$validate = Loader::validate('Shops');
if(!$validate->scene('applyStep2')->check($data))return WSTReturn($validate->getError());
$seModel = model('ShopExtras');
$seModel->allowField(true)->save($data,['shopId'=>$shopId]);
$Id = $seModel->where(['shopId'=>$shopId])->value('id');// 获取主键
//启用上传图片
WSTUseImages(0, $Id, $data['legalCertificateImg'],'shopextras');
WSTUseImages(0, $Id, $data['businessLicenceImg'],'shopextras');
WSTUseImages(0, $Id, $data['bankAccountPermitImg'],'shopextras');
WSTUseImages(0, $Id, $data['organizationCodeImg'],'shopextras');
$auxiliary_data=[];
$shopAuxiliary = Db::name('shop_auxiliary')->where('shopId='.$shopId)->find();
WSTUseImages(0, $shopAuxiliary['id'], $auxiliary,'shopauxiliary');
Db::name('shop_auxiliary')->where('shopId='.$shopId)->delete();
foreach($auxiliary as $k=>$v){
$auxiliary_data[$k]['shopId']=$shopId;
$auxiliary_data[$k]['auxiliaryImg']=$v;
}
Db::name('shop_auxiliary')->insertAll($auxiliary_data);
$this->allowField(true)->save($data,['shopId'=>$shopId]);
Db::commit();
return WSTReturn('保存成功',1);
}catch (\Exception $e) {
Db::rollback();
return WSTReturn('保存失败',-1);
}
}
public function saveStep4($data = []){
/*
taxRegistrationCertificateImg
taxpayerQualificationImg
*/
$shopId = (int)session('WST_USER.tempShopId');
if($shopId==0)return WSTReturn('非法的操作');
$shops = model('shops')->get($shopId);
if($shops['applyStatus']>=1)return WSTReturn('请勿重复申请入驻');
//判断是否存在入驻申请
$vshop = new VShop();
WSTAllow($data,implode(',',$vshop->scene['applyStep3']));
$areaIds = model('Areas')->getParentIs($data['bankAreaId']);
if(!empty($areaIds))$data['bankAreaIdPath'] = implode('_',$areaIds)."_";
Db::startTrans();
try{
if($shops->applyStep<4){
$shops->applyStep = 4;
$shops->save();
}
$seModel = model('ShopExtras');
$seModel->allowField(true)->save($data,['shopId'=>$shopId]);
/*--------取消上传图片选项 mark hsf 20180104----------*/
//$Id = $seModel->where(['shopId'=>$shopId])->value('id');
//启用上传图片
//WSTUseImages(0, $Id, $data['taxRegistrationCertificateImg'],'shopextras');
// WSTUseImages(0, $Id, $data['taxpayerQualificationImg'],'shopextras');
/*-------------------------end---------------------------*/
$this->allowField(true)->save($data,['shopId'=>$shopId]);
Db::commit();
return WSTReturn('保存成功',1);
}catch (\Exception $e) {
Db::rollback();
return WSTReturn('保存失败',-1);
}
}
public function saveStep5($data = []){
$shopId = (int)session('WST_USER.tempShopId');
if($shopId==0)return WSTReturn('非法的操作');
$shops = model('shops')->get($shopId);
if($shops['applyStatus']>=1)return WSTReturn('请勿重复申请入驻');
//判断是否存在入驻申请
$vshop = new VShop();
$filters = $vshop->scene['applyStep4'];
$filters[] = 'shopQQ';
$filters[] = 'shopWangWang';
WSTAllow($data,implode(',',$filters));
$shopLicense=input('shopLicense');
if((strpos($data['goodsCatIds'],'393')!==false)||$data['goodsCatIds']=='393'){
if($shopLicense==""){
return WSTReturn('食品许可证不能为空');
}
}else{
$shopLicense='';
}
Db::startTrans();
try{
$data['applyStatus'] = 1;
$data['applyTime'] = date('Y-m-d H:i:s');
$find=$this->where('shopName',$data['shopName'])->find();
if($find) return WSTReturn('此商铺名称已存在,请重新填写');
$result = $this->allowField(true)->save($data,['shopId'=>$shopId]);
$row=db('shop_license')->insert(['shopId'=>$shopId,'shopLicense'=>$shopLicense]);
// // // 启用图片
WSTUseImages(0, $shopId, $data['shopImg'],'shops','shopImg');
//WSTUseImages(0, $shopId, $shopLicense,'shoplicense','shopLicense');
if($shops->applyStep<5){
$shops->applyStep = 5;
$shops->save();
}
if(false !== $result){
//经营范围
$goodsCats = explode(',',$data['goodsCatIds']);
foreach ($goodsCats as $v){
if((int)$v>0)Db::name('cat_shops')->insert(['shopId'=>$shopId,'catId'=>$v]);
}
Db::commit();
return WSTReturn('保存成功',1);
}else{
return WSTReturn('保存失败');
}
}catch (\Exception $e) {
Db::rollback();
return WSTReturn('保存失败',-1);
}
}
/**
* 获取商家入驻资料
*/
public function getShopApply(){
$userId = (int)session('WST_USER.userId');
$rs = $this->alias('s')
->join('__SHOP_EXTRAS__ ss','s.shopId=ss.shopId','inner')
->where('s.userId',$userId)
->find();
if(!empty($rs)){
$rs = $rs->toArray();
$goodscats = Db::name('cat_shops')->where('shopId',$rs['shopId'])->select();
$rs['catshops'] = [];
foreach ($goodscats as $v){
$rs['catshops'][$v['catId']] = true;
}
$rs['taxRegistrationCertificateImgVO'] = ($rs['taxRegistrationCertificateImg']!='')?explode(',',$rs['taxRegistrationCertificateImg']):[];
}else{
$rs = [];
$data1 = $this->getEModel('shops');
$data2 = $this->getEModel('shop_extras');
$rs = array_merge($data1,$data2);
$rs['taxRegistrationCertificateImgVO'] = [];
}
$rs['auxiliary']=db('shop_auxiliary')->where('shopId',$rs['shopId'])->select();
return $rs;
}
/**
* 判断是否申请入驻过
*/
public function checkApply(){
$userId = (int)session('WST_USER.userId');
$rs = $this->where(['userId'=>$userId])->find();
if(!empty($rs)){
$WST_USER = session('WST_USER');
$WST_USER['tempShopId'] = $rs->shopId;
session('WST_USER',$WST_USER);
session('apply_step',$rs['applyStep']);
}
return $rs;
}
/**
* 首页店铺街列表
*/
public function indexShopQuery($num=4){
/** 添加返回店铺街商店 mark hsf 20180223 */
$shop_list = model('common/Tags')->listShop(0,$num,0);
foreach ($shop_list as &$v) {
$v['shopAddress'] = Db::name('shops')->where(['shopId'=>$v['shopId']])->value('shopAddress');
$v['shopStreetImg'] = Db::name('shop_configs')->where(['shopId'=>$v['shopId']])->value('shopStreetImg');
}
return $shop_list;
/** end */
$rs = $this->alias('s')
->join('__SHOP_CONFIGS__ sc','s.shopId=sc.shopId','inner')
->field('s.shopId,s.shopName,s.shopAddress,sc.shopStreetImg')
->limit($num)
->select();
return $rs;
}
}