You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			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);
 | |
| 
 | |
|         }
 | |
| 
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 |