<?php

namespace app\admin\controller;
use think\Db;

class ShopDay extends Auth {
    public function index() {
        if (request()->isAjax()) {
            //分页参数
            $length = input('rows', 10, 'intval');   //每页条数
            $page = input('page', 1, 'intval');      //第几页
            $start = ($page - 1) * $length;     //分页开始位置
            //排序
            $sortRow = input('sidx', 'id', 'trim');      //排序列
            $sort = input('sord', 'asc', 'trim');        //排序方式
            $order = $sortRow . ' ' . $sort;
            $day = input('day', '', 'trim');
            if ($day != '') {
                $map[] = ['day', '=', $day];
            }
            $cate = input('cate', '', 'trim');
            if ($cate != '') {
                $map[] = ['cate', '=', $cate];
            }
            $map[] = ['org_id', '=', $this->orgId];
            $map = empty($map) ? true : $map;
            //数据查询
            $lists = Db::name('shop_day')
                ->where($map)->limit($start, $length)
                ->order($order)->select();
            foreach ($lists as $k => $v) {
                $lists[$k]['goods_name'] = '';
                $ids = $v['goods'] ? explode(',', $v['goods']) : [];
                if ($ids) {
                    $goodsName = Db::name('shop_goods')
                        ->where('id', 'in', $ids)->where('del', 0)->column('title');
                    $lists[$k]['goods_name'] = $goodsName ? implode(',', $goodsName) : '';
                }
            }
            //数据返回
            $totalCount = Db::name('shop_day')->where($map)->count();
            $totalPage = ceil($totalCount / $length);
            $result['page'] = $page;
            $result['total'] = $totalPage;
            $result['records'] = $totalCount;
            $result['rows'] = $lists;
            return json($result);
        }
        else {
            $this->assign('meta_title', '开业时间段列表');
            return $this->fetch();
        }
    }
    /**
     * 新增/编辑
     */
    public function add($id = 0) {
        if (request()->isPost()) {
            $model = new \app\common\model\ShopDay();
            $res = $model->updates();
            if ($res) {
                $this->success('操作成功', url('index'));
            }
            else {
                $this->error($model->getError());
            }
        }
        else {
            $meta_title = '新增时间段';
            if ($id) {
                $info = Db::name('shop_day')->where('id', $id)->find();
                $info['time'] = $info['start'] . ',' . $info['end'];
                $this->assign('info', $info);
                $meta_title = '编辑时间段';
            }
            //获取分类
            $map['org_id'] = $this->orgId;
            $map['del'] = 0;
            $map['enable'] = 1;
            $goods = Db::name('shop_goods')->field('id,title')
                ->where($map)->select();
            $this->assign('goods', $goods);
            $this->assign('meta_title', $meta_title);
            return $this->fetch();
        }
    }
    /**
     * 删除记录
     * @param int $id
     */
    public function del($id = 0) {
        if (!$id) {
            $this->error('参数错误');
        }
        $res = Db::name('shop_day')->delete($id);
        if ($res) {
            $this->success('删除成功');
        }
        else {
            $this->error('删除失败');
        }
    }
}