114 lines
4.3 KiB
PHP
114 lines
4.3 KiB
PHP
<?php
|
|
namespace app\controllers\channel;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Yii;
|
|
use yii\web\Controller;
|
|
use app\models\common\Store;
|
|
//商品属性
|
|
class AttributeController extends CommonController{
|
|
public $enableCsrfValidation = false;
|
|
private $shop_id;
|
|
public function init(){
|
|
parent::init();
|
|
$this->shop_id=$this->storeId?:Store::getMainStore($this->wqData['uniacid'])['id'];
|
|
$this->shop_id=$this->shop_id?:0;
|
|
$request = Yii::$app->request;
|
|
if($request->isPost){
|
|
if(!$this->shop_id){
|
|
return $this->result(3,'无效的门店,请先添加商店');die;
|
|
}
|
|
}
|
|
|
|
}
|
|
public function actionGetAttrList(){
|
|
$request = Yii::$app->request;
|
|
if ($request->isGet){
|
|
$page=Yii::$app->request->get('page')?Yii::$app->request->get('page'):1;
|
|
$num=($page-1)*10;
|
|
$result=axios_request();
|
|
$storeId=$result['storeId']?:$this->shop_id;
|
|
$limit=10;
|
|
$table= (new \yii\db\Query())
|
|
->select('id, sort,name,attr_str,display')
|
|
->from('{{%ybwm_attribute}}')
|
|
->where(['deleteAt'=>0,'uniacid'=>$this->wqData['uniacid'],'storeId'=>$storeId]);
|
|
$count=$table->count();
|
|
$re=$table->orderBy('sort asc,id asc')->offset($num)
|
|
->limit($limit)
|
|
->all();
|
|
foreach ($re as $k=>$v){
|
|
$re[$k]['attr_str']=json_decode($v['attr_str'],true);
|
|
}
|
|
echo json_encode(['code'=>1,'msg'=>'成功','data'=>$re,'count'=>$count]);
|
|
}
|
|
}
|
|
public function actionAttrSave(){
|
|
$request = Yii::$app->request;
|
|
if ($request->isPost){
|
|
$shop_id=Store::getMainStore($this->wqData['uniacid'])['id'];
|
|
if(!$shop_id){
|
|
return $this->result(3,'无效的门店,请先添加商店');die;
|
|
}
|
|
$result=axios_request();
|
|
$storeId=$result['storeId']?:$this->shop_id;
|
|
$data=array(
|
|
'sort'=>$result['sort'],
|
|
'name'=>trim($result['name']),
|
|
'attr_str'=>json_encode($result['attr_str'],JSON_UNESCAPED_UNICODE),
|
|
'display'=>1,
|
|
'uniacid'=>$this->wqData['uniacid'],
|
|
'storeId'=>$storeId,
|
|
);
|
|
|
|
if($result['id']){
|
|
$res=YII::$app->db->createCommand()->update('{{%ybwm_attribute}}',$data, 'id=:id', ['id' =>$result['id']])->execute();
|
|
}else{
|
|
$data['createdAt']=time();
|
|
$row= (new \yii\db\Query())
|
|
->from('{{%ybwm_attribute}}')
|
|
->where(['uniacid'=>$this->wqData['uniacid'],'storeId'=>$storeId,'name'=>trim($result['name'])])
|
|
->one();
|
|
if($row){
|
|
return $this->result(2,'属性名已存在');
|
|
}
|
|
$res=Yii::$app->db->createCommand()->insert('{{%ybwm_attribute}}', $data)->execute();
|
|
}
|
|
if($res!==false){
|
|
return $this->result(1,'操作成功');
|
|
}else{
|
|
return $this->result(2,'网络异常,请稍后再试');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function actionChangeAttr(){
|
|
$request = Yii::$app->request;
|
|
if ($request->isPost){
|
|
$result=axios_request();
|
|
$re = YII::$app->db->createCommand()->update('{{%ybwm_attribute}}', ['display'=>$result['display']],'id=:id', ['id' =>$result['id']])->execute();
|
|
if($re){
|
|
return $this->result(1,'成功');
|
|
}else{
|
|
return $this->result(2,'网络异常,请稍后再试');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function actionAttrDel(){
|
|
$request = Yii::$app->request;
|
|
if ($request->isPost){
|
|
$result=axios_request();
|
|
if(is_array($result['id'])){
|
|
$re=YII::$app->db->createCommand()->delete('{{%ybwm_attribute}}', ['in','id',$result['id']])->execute();
|
|
}else {
|
|
$re = YII::$app->db->createCommand()->delete('{{%ybwm_attribute}}', 'id=:id', ['id' => $result['id']])->execute();
|
|
}
|
|
if($re!==false){
|
|
return $this->result(1,'成功');
|
|
}else{
|
|
return $this->result(2,'网络异常,请稍后再试');
|
|
}
|
|
}
|
|
}
|
|
}
|