| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- namespace addons\CloudStockTwo\backend\controllers;
- use addons\CloudStockTwo\common\models\CloudStockTwoAgent;
- use addons\CloudStockTwo\common\models\CloudStockTwoGoods;
- use addons\CloudStockTwo\common\models\CloudStockTwoLevel;
- use addons\CloudStockTwo\common\models\CloudStockTwoUpgradeBag;
- use common\enums\StatusEnum;
- use common\models\goods\Goods;
- use Yii;
- /**
- * 默认控制器
- *
- * Class DefaultController
- * @package addons\CloudStockTwo\backend\controllers
- */
- class GiftBagController extends BaseController
- {
- public $enableCsrfValidation = false;
- public function actionIndex()
- {
- if (\Yii::$app->request->isAjax) {
- $where[] = ['=', 'mall_id', $this->mall_id];
- $where[] = ['in', 'status', [StatusEnum::DISABLED, StatusEnum::ENABLED]];
- $params = [
- 'where' => $where, 'order' => 'id desc'
- ];
- $page_data = CloudStockTwoUpgradeBag::listPage($params,false,true);
- if(!empty($page_data['list'])){
- $goods_id_arr = array_column($page_data['list'],'goods_id');
- $give_goods_id_arr = array_column($page_data['list'],'give_goods_id');
- $level_arr = array_column($page_data['list'],'level');
- $goods_arr = Goods::lists(['where'=>[['id'=>$goods_id_arr]],'index'=>'id']);
- $give_goods_arr = Goods::lists(['where'=>[['id'=>$give_goods_id_arr]],'index'=>'id']);
- $level_list = CloudStockTwoLevel::lists(['where'=>[['mall_id'=>$this->mall_id],['level'=>$level_arr],['status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]]],'index'=>'level']);
- foreach ($page_data['list'] as &$item){
- $item['level_name'] = '';
- $item['goods_name'] = $item['cover_pic'] = '';
- $item['give_goods_name'] = $item['give_cover_pic'] = '';
- if($goods_arr[$item['goods_id']]){
- $item['goods_name'] = $goods_arr[$item['goods_id']]['goods_name'];
- $item['cover_pic'] = $goods_arr[$item['goods_id']]['cover_pic'];
- }
- if($give_goods_arr[$item['give_goods_id']]){
- $item['give_goods_name'] = $give_goods_arr[$item['give_goods_id']]['goods_name'];
- $item['give_cover_pic'] = $give_goods_arr[$item['give_goods_id']]['cover_pic'];
- }
- if($level_list[$item['level']]){
- $item['level_name'] = $level_list[$item['level']]['name'];
- }
- $item['give_goods_info'] = json_decode($item['give_goods_info'],true) ?? [];
- if(!empty($item['give_goods_info'])){
- foreach($item['give_goods_info'] as &$info){
- $goods = Goods::findOne(['id'=>$info['goods_id']]);
- if($goods){
- $info['goods_name'] = $goods['goods_name'];
- $info['cover_pic'] = $goods['cover_pic'];
- }else{
- $info['goods_name'] = '';
- $info['cover_pic'] = '';
- }
- }
- }
- }
- }
- return $this->success('操作成功', $page_data);
- }
- return $this->render($this->action->id, []);
- }
- public function actionEdit()
- {
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $data = CloudStockTwoUpgradeBag::getOne([['id'=>$id],['mall_id'=>$this->mall_id],['status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]]],true);
- $goods = Goods::findOne(['id'=>$data['goods_id']]);
- // $give_goods = Goods::findOne(['id'=>$data['give_goods_id']]);
- $data['goods_name'] = $goods['goods_name'];
- $data['cover_pic'] = $goods['cover_pic'];
- // $data['give_goods_name'] = $give_goods['goods_name']??'';
- // $data['give_cover_pic'] = $give_goods['cover_pic']??'';
- $data['give_goods_info'] = json_decode($data['give_goods_info'],true) ?? [];
- if(!empty($data['give_goods_info'])){
- foreach($data['give_goods_info'] as &$give_goods_info){
- $goods = Goods::findOne(['id'=>$give_goods_info['goods_id']]);
- if($goods){
- $give_goods_info['goods_name'] = $goods['goods_name'];
- $give_goods_info['cover_pic'] = $goods['cover_pic'];
- }else{
- $give_goods_info['goods_name'] = '';
- $give_goods_info['cover_pic'] = '';
- }
- }
- }
- return $this->success('操作成功', $data);
- }
- if ($request->isPost) {
- $params = Yii::$app->request->post();
- $params['mall_id'] = $this->mall_id;
- if(!empty($params['give_goods_info'])){
- foreach($params['give_goods_info'] as &$give_goods_info){
- unset($give_goods_info['goods_name'],$give_goods_info['cover_pic']);
- }
- }
- $params['give_goods_info'] = json_encode($params['give_goods_info']);
- $res = CloudStockTwoUpgradeBag::setData($params);
- if ($res === false) return $this->error(CloudStockTwoAgent::getStaticError());
- return $this->success('操作成功');
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- return $this->render('edit');
- }
- public function actionUpdateStatus(){
- $params = Yii::$app->request->post();
- $params['mall_id'] = $this->mall_id;
- $res = CloudStockTwoUpgradeBag::setData($params);
- if ($res === false) return $this->error(CloudStockTwoLevel::getStaticError());
- return $this->success('操作成功');
- }
- public function actionDel(){
- $params = Yii::$app->request->get();
- $params['mall_id'] = $this->mall_id;
- $params['status'] = StatusEnum::DELETE;
- $res = CloudStockTwoUpgradeBag::setData($params);
- if ($res === false) return $this->error(CloudStockTwoLevel::getStaticError());
- return $this->success('操作成功');
- }
- //不用验证权限
- public function actionGetCloudStockTwoGoodsList(){
- $where[] = ['=', 'mall_id', $this->mall_id];
- $where[] = ['in', 'status', [StatusEnum::DISABLED, StatusEnum::ENABLED]];
- $params = [
- 'where' => $where, 'order' => 'id desc','select'=>'id,goods_id'
- ];
- $page_data = CloudStockTwoGoods::listPage($params,false,true);
- if(!empty($page_data['list'])){
- $goods_id_arr = array_column($page_data['list'],'goods_id');
- $goods_arr = Goods::lists(['where'=>[['id'=>$goods_id_arr]],'index'=>'id']);
- foreach ($page_data['list'] as &$item){
- $item['goods_name'] = $item['cover_pic'] = '';
- if(!empty($goods_arr[$item['goods_id']])){
- $item['goods_name'] = $goods_arr[$item['goods_id']]['goods_name'];
- $item['cover_pic'] = $goods_arr[$item['goods_id']]['cover_pic'];
- }
- }
- }
- return $this->success('操作成功', $page_data);
- }
- }
|