You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			133 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
namespace wstmart\admin\model;
 | 
						|
/**
 | 
						|
 * ============================================================================
 | 
						|
 * 规格业务处理
 | 
						|
 */
 | 
						|
class Attributes extends Base{
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * 新增
 | 
						|
	 */
 | 
						|
	public function add(){
 | 
						|
		$data = input('post.');
 | 
						|
		WSTUnset($data, 'attrId,dataFlag');
 | 
						|
		$data['createTime'] = date('Y-m-d H:i:s');
 | 
						|
		$data['attrVal'] = str_replace(',',',',$data['attrVal']); 
 | 
						|
		$data["dataFlag"] = 1;
 | 
						|
		$data["attrSort"] = (int)$data["attrSort"];
 | 
						|
		$goodsCats = model('GoodsCats')->getParentIs($data['goodsCatId']);
 | 
						|
		krsort($goodsCats);
 | 
						|
		if(!empty($goodsCats))$data['goodsCatPath'] = implode('_',$goodsCats)."_";
 | 
						|
		$result = $this->validate('Attributes.add')->allowField(true)->save($data);
 | 
						|
        if(false !== $result){
 | 
						|
        	return WSTReturn("新增成功", 1);
 | 
						|
        }else{
 | 
						|
        	return WSTReturn($this->getError(),-1);
 | 
						|
        }
 | 
						|
	}
 | 
						|
    /**
 | 
						|
	 * 编辑
 | 
						|
	 */
 | 
						|
	public function edit(){
 | 
						|
		$attrId = input('post.attrId/d');
 | 
						|
		$data = input('post.');
 | 
						|
		$data["attrSort"] = (int)$data["attrSort"];
 | 
						|
		WSTUnset($data, 'attrId,dataFlag,createTime');
 | 
						|
		$data['attrVal'] = str_replace(',',',',$data['attrVal']); 
 | 
						|
		$goodsCats = model('GoodsCats')->getParentIs($data['goodsCatId']);
 | 
						|
		krsort($goodsCats);
 | 
						|
		if(!empty($goodsCats))$data['goodsCatPath'] = implode('_',$goodsCats)."_";
 | 
						|
	    $result = $this->validate('Attributes.edit')->allowField(true)->save($data,['attrId'=>$attrId]);
 | 
						|
        if(false !== $result){
 | 
						|
        	return WSTReturn("编辑成功", 1);
 | 
						|
        }else{
 | 
						|
        	return WSTReturn($this->getError(),-1);
 | 
						|
        }
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	 * 删除
 | 
						|
	 */
 | 
						|
    public function del(){
 | 
						|
	    $attrId = input('post.attrId/d');
 | 
						|
	    $data["dataFlag"] = -1;
 | 
						|
	  	$result = $this->save($data,['attrId'=>$attrId]);
 | 
						|
        if(false !== $result){
 | 
						|
        	return WSTReturn("删除成功", 1);
 | 
						|
        }else{
 | 
						|
        	return WSTReturn($this->getError(),-1);
 | 
						|
        }
 | 
						|
	}
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * 
 | 
						|
	 * 根据ID获取
 | 
						|
	 */
 | 
						|
	public function getById($attrId){
 | 
						|
		$obj = null;
 | 
						|
		if($attrId>0){
 | 
						|
			$obj = $this->get(['attrId'=>$attrId,'dataFlag'=>1]);
 | 
						|
		}else{
 | 
						|
			$obj = self::getEModel("attributes");
 | 
						|
		}
 | 
						|
		return $obj;
 | 
						|
	}
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * 显示隐藏
 | 
						|
	 */
 | 
						|
	public function setToggle(){
 | 
						|
		$attrId = input('post.attrId/d');
 | 
						|
		$isShow = input('post.isShow/d');
 | 
						|
		$result = $this->where(['attrId'=>$attrId,"dataFlag"=>1])->setField("isShow", $isShow);
 | 
						|
		if(false !== $result){
 | 
						|
			return WSTReturn("设置成功", 1);
 | 
						|
		}else{
 | 
						|
			return WSTReturn($this->getError(),-1);
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * 分页
 | 
						|
	 */
 | 
						|
	public function pageQuery(){
 | 
						|
		$keyName = input('keyName');
 | 
						|
		$goodsCatPath = input('goodsCatPath');
 | 
						|
		$dbo = $this->field(true);
 | 
						|
		$map = array();
 | 
						|
		$map['dataFlag']  = 1;
 | 
						|
		if($keyName!="")$map['attrName']  = ["like","%".$keyName."%"];
 | 
						|
		if($goodsCatPath!='')$map['goodsCatPath']  = ["like",$goodsCatPath."_%"];
 | 
						|
		$page = $dbo->field(true)->where($map)->paginate(input('limit/d'))->toArray();
 | 
						|
	    if(count($page['Rows'])>0){
 | 
						|
			$keyCats = model('GoodsCats')->listKeyAll();
 | 
						|
			foreach ($page['Rows'] as $key => $v){
 | 
						|
				$goodsCatPath = $page['Rows'][$key]['goodsCatPath'];
 | 
						|
				$page['Rows'][$key]['goodsCatNames'] = self::getGoodsCatNames($goodsCatPath,$keyCats);
 | 
						|
				$page['Rows'][$key]['children'] = [];
 | 
						|
				$page['Rows'][$key]['isextend'] = false;
 | 
						|
			}
 | 
						|
		}
 | 
						|
		return $page;
 | 
						|
	}
 | 
						|
	
 | 
						|
    public function getGoodsCatNames($goodsCatPath, $keyCats){
 | 
						|
		$catIds = explode("_",$goodsCatPath);
 | 
						|
		$catNames = array();
 | 
						|
		for($i=0,$k=count($catIds);$i<$k;$i++){
 | 
						|
			if($catIds[$i]=='')continue;
 | 
						|
			if(isset($keyCats[$catIds[$i]]))$catNames[] = $keyCats[$catIds[$i]];
 | 
						|
		}
 | 
						|
		return implode("→",$catNames);
 | 
						|
	}
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * 列表
 | 
						|
	 */
 | 
						|
	public function listQuery(){
 | 
						|
		$catId = input("post.catId/d");
 | 
						|
		$rs = $this->field("attrId id, attrId, catId, attrName name,  '' goodsCatNames")->where(["dataFlag"=>1,"catId"=>$catId])->sort('attrSort asc,attrId asc')->select();
 | 
						|
		return $rs;
 | 
						|
	}
 | 
						|
}
 |