feat:dish depot

This commit is contained in:
LAPTOP-7SGDREK0\shiweijun
2025-01-14 17:04:48 +08:00
parent 99b95b76e9
commit 6b38a6b732
11 changed files with 523 additions and 0 deletions

View File

@@ -0,0 +1,114 @@
<?php
declare(strict_types=1);
namespace App\Service\Admin\Depot;
use App\Constants\Admin\DepotCode;
use App\Exception\ErrException;
use App\Model\Depot;
use App\Service\Admin\BaseService;
use Hyperf\Di\Annotation\Inject;
class DepotService extends BaseService{
/**
* @var Depot
*/
#[Inject]
protected Depot $DepotModel;
public function handle()
{
}
/**
* @return array
*/
public function depotList():array
{
$limit = (int)$this->request->input('limit', 10);
$id = (int)$this->request->input('query_id');
$kitchenId = (int)$this->request->input('query_kitchen_id');
$list = $this->DepotModel
->where('is_del',DepotCode::IS_NO_DEL)
->when($id,function ($query) use ($id) {
$query->where('id',$id);
})
->when($kitchenId,function ($query) use ($kitchenId) {
$query->where('kitchen_id',$kitchenId);
})
->paginate($limit)->toArray();
return $this->return->success('success',$list);
}
/**
* @return array
*/
public function add():array
{
$name = $this->request->input('name');
$kitchen_id = (int)$this->request->input('kitchen_id');
$info = $this->DepotModel->getInfoByName($name,$kitchen_id);
if (!empty($info)) throw new ErrException('仓库已存在');
$depot = new Depot();
$depot->name = $name;
$depot->city_id = $this->request->input('city_id');
$depot->kitchen_id = $kitchen_id;
if (!$depot->save()) throw new ErrException('仓库添加失败');
return $this->return->success();
}
/**
* @return array
*/
public function edit(): array
{
$id = (int)$this->request->input('id');
$depotName = $this->request->input('name');
$kitchen_id = (int)$this->request->input('kitchen_id');
$info = $this->DepotModel->getInfoById($id);
if (empty($info)) throw new ErrException('数据不存在');
$name = $this->DepotModel->getInfoByName($depotName,$kitchen_id);
if (!empty($name)){
if ($name->id != $info->id && $info->kitchen_id == $kitchen_id)
throw new ErrException('仓库已存在');
}
$info->name = $depotName;
$info->city_id = (int)$this->request->input('city_id');
$info->kitchen_id = $kitchen_id;
if (!$info->save()) throw new ErrException('仓库修改失败');
return $this->return->success();
}
/**
* @return array
*/
public function delete(): array
{
$id = (int)$this->request->input('id');
$info = $this->DepotModel->getInfoById($id);
if (empty($info)) throw new ErrException('仓库不存在');
$info->is_del = DepotCode::IS_DEL;
if (!$info->save()) throw new ErrException('删除失败');
return $this->return->success();
}
}

View File

@@ -0,0 +1,64 @@
<?php
declare(strict_types=1);
namespace App\Service\Admin\Good;
use App\Constants\Common\DishCode;
use App\Model\Dish;
use App\Service\Admin\BaseService;
use Hyperf\Di\Annotation\Inject;
class DishService extends BaseService
{
/**
* @var Dish
*/
#[Inject]
protected Dish $DishModel;
public function handle()
{
}
/**
* @return array
*/
public function dishList(): array
{
$limit = (int)$this->request->input('limit', 10);
$id = (int)$this->request->input('query_id');
$cityId = (int)$this->request->input('query_city_id',0);
$dishName = $this->request->input('query_dish_name');
$dateId = (int)$this->request->input('query_date_id');
$status = (int)$this->request->input('query_status');
$chefId = (int)$this->request->input('query_chef_id',0);
$list = $this->DishModel
->where('is_del',DishCode::IS_NO_DEL)
->when($id > 0, function ($query) use ($id) {
$query->where('id', $id);
})
->when($cityId > 0, function ($query) use ($cityId) {
$query->where('city_id', $cityId);
})
->when($dishName, function ($query) use ($dishName) {
$query->where('dish', 'like', "$dishName%");
})
->when($dateId, function ($query) use ($dateId) {
$query->where('cycle_id', $dateId);
})
->when($status, function ($query) use ($status) {
$query->where('status', $status);
})
->when($chefId, function ($query) use ($chefId) {
$query->where('chef_id', $chefId);
})
->paginate($limit)->toArray();
return $this->return->success('success',$list);
}
}