qingjian/app/controller/manager/Desk.php

106 lines
3.2 KiB
PHP

<?php
namespace app\controller\manager;
use app\model\{Desk as MDesk, Hall, System, Log};
use app\validate\Desk as VDesk;
use think\exception\ValidateException;
/**
* 坐桌子管理
*/
class Desk extends Base
{
//列表
public function index()
{
$hallId = input('hall_id/d', 0);
$hall = Hall::getById($hallId);
if (empty($hall)) {
return $this->error("大厅不存在");
}
$keyword = input('param.keyword');
$list = MDesk::getList(20, $keyword);
$this->data['hall'] = $hall;
$this->data['hall_id'] = $hallId;
$this->data['list'] = $list;
$this->data['keyword'] = $keyword;
return $this->view();
}
//删除
public function del()
{
if ($this->request->isPost()) {
$id = input('post.id/d');
if (is_numeric($id) && $id > 0) {
$item = MDesk::getById($id);
if (!empty($item)) {
MDesk::destroy($id);
return $this->json();
}
return $this->json(3, '待删除信息不存在');
}
return $this->json(2, '参数错误,请核对之后再操作!');
}
return $this->json(1, '非法请求!');
}
//编辑
public function edit()
{
if ($this->request->isPost()) {
$item = input('post.item/a');
$id = input('post.id/d');
$desk = MDesk::getById($id);
if (empty($desk)) {
return $this->json(1, '该信息不存在!');
}
$repeat = MDesk::editRepeat($desk['id'], $desk['hall_id'], $item['number']);
if (!empty($repeat)) {
return $this->json(1, '桌号不可重复!');
}
try {
validate(VDesk::class)->check($item);
MDesk::updateById($id, $item);
return $this->json();
} catch (ValidateException $e) {
return $this->json(2, $e->getError());
}
} else {
$id = input('param.id');
$desk = MDesk::getById($id);
$this->data['desk_type'] = MDesk::$desk_type;
$this->data['item'] = $desk;
return $this->view();
}
}
//添加
public function add()
{
if ($this->request->isPost()) {
$item = input('post.item/a');
$repeat = MDesk::addRepeat($item['hall_id'], $item['number']);
if (!empty($repeat)) {
return $this->json(1, '桌号不可重复!');
}
try {
validate(VDesk::class)->check($item);
MDesk::create($item);
return $this->json();
} catch (ValidateException $e) {
return $this->json(2, $e->getError());
}
} else {
$this->data['hall_id'] = input('hall_id/d', 0);
$this->data['desk_type'] = MDesk::$desk_type;
$this->data['default_type'] = MDesk::$default_type;
return $this->view();
}
}
}