canyin-project/ybcy/controllers/channel/AttributeController.php

114 lines
4.3 KiB
PHP
Raw Normal View History

2024-11-01 16:07:54 +08:00
<?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,'网络异常,请稍后再试');
}
}
}
}