113 lines
2.7 KiB
PHP
113 lines
2.7 KiB
PHP
|
<?php
|
|||
|
|
|||
|
namespace app\controller\manager;
|
|||
|
|
|||
|
use app\model\Log;
|
|||
|
use app\repository\OrderRepository;
|
|||
|
|
|||
|
use think\db\exception\DataNotFoundException;
|
|||
|
use think\db\exception\DbException;
|
|||
|
use think\db\exception\ModelNotFoundException;
|
|||
|
use think\exception\ValidateException;
|
|||
|
use think\response\Json;
|
|||
|
use think\response\View;
|
|||
|
|
|||
|
/**
|
|||
|
* 快递公司
|
|||
|
*
|
|||
|
* Class Express
|
|||
|
* @package app\controller\manager
|
|||
|
*/
|
|||
|
class Express extends Base
|
|||
|
{
|
|||
|
/**
|
|||
|
* 删除
|
|||
|
*
|
|||
|
* @return Json
|
|||
|
*/
|
|||
|
public function del()
|
|||
|
{
|
|||
|
if ($this->request->isPost()) {
|
|||
|
$ids = input('post.ids/a', []);
|
|||
|
if (empty($ids)) {
|
|||
|
$ids[] = input('post.id/d');
|
|||
|
}
|
|||
|
$where[] = ['id', 'in', $ids];
|
|||
|
OrderRepository::getInstance()->delExpress($where);
|
|||
|
Log::write('express del', 'del', '删除了快递,涉及到的ID为:'.implode(',', $ids));
|
|||
|
return $this->json();
|
|||
|
}
|
|||
|
return $this->json(4001, '非法请求!');
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 添加
|
|||
|
*
|
|||
|
* @return Json|View
|
|||
|
* @throws DataNotFoundException
|
|||
|
* @throws DbException
|
|||
|
* @throws ModelNotFoundException
|
|||
|
*/
|
|||
|
public function edit()
|
|||
|
{
|
|||
|
$id = input('id/d', 0);
|
|||
|
|
|||
|
if (!$info = OrderRepository::getInstance()->expressInfo($id)) {
|
|||
|
return $this->json(4001, '数据不存在');
|
|||
|
}
|
|||
|
|
|||
|
if ($this->request->isPost()) {
|
|||
|
$item = input('post.item/a');
|
|||
|
try {
|
|||
|
unset($item['id']);
|
|||
|
OrderRepository::getInstance()->editExpress($item, ['id' => $id]);
|
|||
|
return $this->json();
|
|||
|
} catch (ValidateException $e) {
|
|||
|
return $this->json(4001, $e->getError());
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$this->data['item'] = $info;
|
|||
|
$this->data['id'] = $id;
|
|||
|
|
|||
|
return $this->view();
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 添加
|
|||
|
*
|
|||
|
* @return Json|View
|
|||
|
*/
|
|||
|
public function add()
|
|||
|
{
|
|||
|
if ($this->request->isPost()) {
|
|||
|
$item = input('post.item/a');
|
|||
|
try {
|
|||
|
OrderRepository::getInstance()->addExpress($item);
|
|||
|
return $this->json();
|
|||
|
} catch (ValidateException $e) {
|
|||
|
return $this->json(4001, $e->getError());
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return $this->view();
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 快递列表
|
|||
|
*
|
|||
|
* @return View
|
|||
|
* @throws DbException
|
|||
|
*/
|
|||
|
public function index(): View
|
|||
|
{
|
|||
|
$size = input('size/d', 20);
|
|||
|
$urlQuery = input('get.');
|
|||
|
$where = [];
|
|||
|
|
|||
|
$where['size'] = $size;
|
|||
|
|
|||
|
$this->data['items'] = OrderRepository::getInstance()->express($where, $urlQuery);
|
|||
|
return $this->view();
|
|||
|
}
|
|||
|
}
|