341 lines
5.6 KiB
PHP
Executable File
341 lines
5.6 KiB
PHP
Executable File
<?php
|
|
|
|
namespace wstmart\admin\model;
|
|
|
|
/**
|
|
|
|
* ============================================================================
|
|
|
|
* 推荐业务处理
|
|
|
|
*/
|
|
|
|
use think\Db;
|
|
|
|
class Recommends extends Base{
|
|
|
|
/**
|
|
|
|
* 获取已推荐商品
|
|
|
|
*/
|
|
|
|
public function listQueryByGoods(){
|
|
|
|
$dataType = (int)input('post.dataType');
|
|
|
|
$goodsCatId = (int)input('post.goodsCatId');
|
|
|
|
$rs = $this->alias('r')->join('__GOODS__ g','r.dataId=g.goodsId','inner')
|
|
|
|
->join('__SHOPS__ s','s.shopId=g.shopId','inner')
|
|
|
|
->where(['dataSrc'=>0,'dataType'=>$dataType,'r.goodsCatId'=>$goodsCatId])
|
|
|
|
->field('dataId,goodsName,shopName,dataSort,isSale,g.dataFlag,goodsStatus')->order('dataSort asc')->select();
|
|
|
|
$data = [];
|
|
|
|
foreach ($rs as $key => $v){
|
|
|
|
if($v['isSale']!=1 || $v['dataFlag']!=1 || $v['goodsStatus']!=1)$v['invalid'] = true;
|
|
|
|
$data[] = $v;
|
|
|
|
}
|
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 推荐商品
|
|
|
|
*/
|
|
|
|
public function editGoods(){
|
|
|
|
$ids = input('post.ids');
|
|
|
|
$dataType = (int)input('post.dataType');
|
|
|
|
$goodsCatId = (int)input('post.goodsCatId');
|
|
|
|
$ids = explode(',',$ids);
|
|
|
|
Db::startTrans();
|
|
|
|
try{
|
|
|
|
$this->where(['dataSrc'=>0,'dataType'=>$dataType,'goodsCatId'=>$goodsCatId])->delete();
|
|
|
|
if(!empty($ids)){
|
|
|
|
//查看商品是否有效
|
|
|
|
$rs = Db::name('goods')->where(['goodsStatus'=>1,'dataFlag'=>1,'goodsId'=>['in',$ids]])->field('goodsId')->select();
|
|
|
|
if(!empty($rs)){
|
|
|
|
$data = [];
|
|
|
|
foreach ($rs as $key => $v){
|
|
|
|
$tmp = [];
|
|
|
|
$tmp['goodsCatId'] = $goodsCatId;
|
|
|
|
$tmp['dataSrc'] = 0;
|
|
|
|
$tmp['dataType'] = $dataType;
|
|
|
|
$tmp['dataId'] = $v['goodsId'];
|
|
|
|
$tmp['dataSort'] = (int)input('post.ipt'.$v['goodsId']);
|
|
|
|
$data[] = $tmp;
|
|
|
|
}
|
|
|
|
$this->saveAll($data);
|
|
|
|
}
|
|
|
|
WSTClearAllCache();
|
|
|
|
}
|
|
|
|
Db::commit();
|
|
|
|
return WSTReturn("提交成功", 1);
|
|
|
|
}catch(\Exception $e) {
|
|
|
|
Db::rollback();errLog($e);
|
|
|
|
return WSTReturn('提交失败',-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取已推荐店铺
|
|
|
|
*/
|
|
|
|
public function listQueryByShops(){
|
|
|
|
$dataType = (int)input('post.dataType');
|
|
|
|
$goodsCatId = (int)input('post.goodsCatId');
|
|
|
|
$rs = $this->alias('r')->join('__SHOPS__ s','r.dataId=s.shopId','inner')
|
|
|
|
->where(['dataSrc'=>1,'dataType'=>$dataType,'r.goodsCatId'=>$goodsCatId])
|
|
|
|
->field('dataId,shopSn,shopName,dataSort,shopStatus,dataFlag')->order('dataSort asc')->select();
|
|
|
|
$data = [];
|
|
|
|
foreach ($rs as $key => $v){
|
|
|
|
if($v['dataFlag']!=1 || $v['shopStatus']!=1)$v['invalid'] = true;
|
|
|
|
$data[] = $v;
|
|
|
|
}
|
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 推荐店铺
|
|
|
|
*/
|
|
|
|
public function editShops(){
|
|
|
|
$ids = input('post.ids');
|
|
|
|
$dataType = (int)input('post.dataType');
|
|
|
|
$goodsCatId = (int)input('post.goodsCatId');
|
|
|
|
$ids = explode(',',$ids);
|
|
|
|
Db::startTrans();
|
|
|
|
try{
|
|
|
|
$this->where(['dataSrc'=>1,'dataType'=>$dataType,'goodsCatId'=>$goodsCatId])->delete();
|
|
|
|
if(!empty($ids)){
|
|
|
|
//查看商品是否有效
|
|
|
|
$rs = Db::name('shops')->where(['shopStatus'=>1,'dataFlag'=>1,'shopId'=>['in',$ids]])->field('shopId')->select();
|
|
|
|
if(!empty($rs)){
|
|
|
|
$data = [];
|
|
|
|
foreach ($rs as $key => $v){
|
|
|
|
$tmp = [];
|
|
|
|
$tmp['goodsCatId'] = $goodsCatId;
|
|
|
|
$tmp['dataSrc'] = 1;
|
|
|
|
$tmp['dataType'] = $dataType;
|
|
|
|
$tmp['dataId'] = $v['shopId'];
|
|
|
|
$tmp['dataSort'] = (int)input('post.ipt'.$v['shopId']);
|
|
|
|
$data[] = $tmp;
|
|
|
|
}
|
|
|
|
$this->saveAll($data);
|
|
|
|
}
|
|
|
|
WSTClearAllCache();
|
|
|
|
}
|
|
|
|
Db::commit();
|
|
|
|
return WSTReturn("提交成功", 1);
|
|
|
|
}catch(\Exception $e) {
|
|
|
|
Db::rollback();errLog($e);
|
|
|
|
return WSTReturn('提交失败',-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取已推荐品牌
|
|
|
|
*/
|
|
|
|
public function listQueryByBrands(){
|
|
|
|
$dataType = (int)input('post.dataType');
|
|
|
|
$goodsCatId = (int)input('post.goodsCatId');
|
|
|
|
$rs = $this->alias('r')->join('__BRANDS__ s','r.dataId=s.brandId','inner')
|
|
|
|
->where(['dataSrc'=>2,'dataType'=>$dataType,'r.goodsCatId'=>$goodsCatId])
|
|
|
|
->field('dataId,brandName,dataSort,dataFlag')->order('dataSort asc')->select();
|
|
|
|
$data = [];
|
|
|
|
foreach ($rs as $key => $v){
|
|
|
|
if($v['dataFlag']!=1)$v['invalid'] = true;
|
|
|
|
$data[] = $v;
|
|
|
|
}
|
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 推荐品牌
|
|
|
|
*/
|
|
|
|
public function editBrands(){
|
|
|
|
$ids = input('post.ids');
|
|
|
|
$dataType = (int)input('post.dataType');
|
|
|
|
$goodsCatId = (int)input('post.goodsCatId');
|
|
|
|
$ids = explode(',',$ids);
|
|
|
|
Db::startTrans();
|
|
|
|
try{
|
|
|
|
$this->where(['dataSrc'=>2,'dataType'=>$dataType,'goodsCatId'=>$goodsCatId])->delete();
|
|
|
|
if(!empty($ids)){
|
|
|
|
//查看商品是否有效
|
|
|
|
$rs = Db::name('brands')->where(['dataFlag'=>1,'brandId'=>['in',$ids]])->field('brandId')->select();
|
|
|
|
if(!empty($rs)){
|
|
|
|
$data = [];
|
|
|
|
foreach ($rs as $key => $v){
|
|
|
|
$tmp = [];
|
|
|
|
$tmp['goodsCatId'] = $goodsCatId;
|
|
|
|
$tmp['dataSrc'] = 2;
|
|
|
|
$tmp['dataType'] = $dataType;
|
|
|
|
$tmp['dataId'] = $v['brandId'];
|
|
|
|
$tmp['dataSort'] = (int)input('post.ipt'.$v['brandId']);
|
|
|
|
$data[] = $tmp;
|
|
|
|
}
|
|
|
|
$this->saveAll($data);
|
|
|
|
}
|
|
|
|
WSTClearAllCache();
|
|
|
|
}
|
|
|
|
Db::commit();
|
|
|
|
return WSTReturn("提交成功", 1);
|
|
|
|
}catch(\Exception $e) {
|
|
|
|
Db::rollback();errLog($e);
|
|
|
|
return WSTReturn('提交失败',-1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|