GoodsController.php 3.13 KB
<?php

namespace app\ht\modules\shop\controllers;

use Yii;
use yii\data\Pagination;
use app\ht\controllers\BaseController;
use domain\shop\ShopItemRepository;
use domain\shop\ShopItem;

/**
 * 商品管理
 * Class GoodsController
 * @package app\ht\modules\shop\controllers
 */
class GoodsController extends BaseController
{
    /**
     * 商品列表
     */
    public function actionIndex()
    {
        $params = $this->dataList(1);
        /**
         * 渲染模板
         */
        return $this->render('index', $params);
    }

    /**
     * 查询数据列表
     */
    protected function dataList($type = '')
    {
        $request     = Yii::$app->request;
        $creatTime   = $request->get('creatTime');
        $endTime     = $request->get('endTime');
        $name =  $request->get('name');

        $gets = [
            'creatTime'  => $creatTime,
            'endTime'    => $endTime,
            'name'   => $name,
        ];

        $where = ['and'];
        if ($name) {
            $where[] = ['like', 'si.name', $name];
        }
        if ($creatTime) {
            $creatTime = strtotime($creatTime);
            $where[] = ['>=', 'si.created_at', $creatTime];
        }
        if ($endTime) {
            $endTime = strtotime($endTime) + 86400;
            $where[] = ['<=', 'si.created_at', $endTime];
        }
        if ($type == 0) {
            $pageList = ShopItemRepository::getAllList($where);
            $pages = null;
        } else {
            $pageSize = 20;
            $pages = new Pagination(['totalCount' => ShopItemRepository::getPageCount($where), 'pageSize' => $pageSize]);
            $pageList = ShopItemRepository::getPageList($where, $pages->offset, $pages->limit);
        }

        /**
         * 数据整理
         */
        return [
            'listdata'   => $pageList,
            'pages'      => $pages,
            'gets'       => $gets
        ];
    }


    /**
     * 删除商品
     * @return string
     * @throws \Exception
     */
    public function actionDoDel()
    {
        $request = Yii::$app->request;
        $itemId = $request->post("data_id");
        $msg = array();

        // 删除对应的商品
        if (ShopItem::delete($itemId)) {
            $msg['status'] = 1;
            $msg['msg'] = "操作成功";
        } else {
            $msg['status'] = 0;
            $msg['msg'] = "操作失败";
        }

        return $this->renderJson($msg);
    }

    /**
     * 审核商品
     * @return string
     * @throws \Exception
     */
    public function actionDoAuth()
    {
        $request = Yii::$app->request;
        $itemId = $request->post("data_id");
        $auth_type = $request->post("auth_type");
        $msg = array();

        // 审核对应的商品
        if ($auth_type == "auth_fail") {
            $result = ShopItem::auth($itemId, false);
        } else {
            $result = ShopItem::auth($itemId, true);
        }

        if ($result) {
            $msg['status'] = 1;
            $msg['msg'] = "操作成功";
        } else {
            $msg['status'] = 0;
            $msg['msg'] = "操作失败";
        }

        return $this->renderJson($msg);
    }

}