| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\plugins\food\controllers;
- use app\plugins\food\models\client\BookForm;
- use app\plugins\food\models\FoodBook;
- class BookController extends BaseController
- {
- /**
- * 点餐预约列表
- * @return array
- */
- public function actionList() {
- $status = get_params('status', -1);
- $keyword = get_params('keyword');
- $start_time = get_params('start_time');
- $end_time = get_params('end_time');
- $query = FoodBook::find()->where(['store_id' => get_store_id()]);
- if (!empty($keyword)) {
- $query->andWhere([
- 'or',
- ['like', 'name', $keyword],
- ['like', 'mobile', $keyword],
- ['like', 'number', $keyword]
- ]);
- }
- if ($start_time) {
- $query->andWhere(['>=', 'created_at', $start_time]);
- }
- if ($end_time) {
- $query->andWhere(['<=', 'created_at', $end_time]);
- }
- if (in_array($status, FoodBook::$validStatus)) {
- $query->andWhere(['status' => $status]);
- }
- $query->select(['*'])->orderBy(['created_at' => SORT_DESC]);
- $list = pagination_make($query);
- foreach ($list['list'] as &$val) {
- $val['book_num'] = BookForm::bookNumber($val['start_time'], false, $val['id']);
- // $val['status'] = $val['status'] == FoodBook::BOOK_CONFIRM ? '已到店' : ($val['status'] == FoodBook::BOOK_NOT_EXIST ? '已取消或已失效' : '待到店');
- }
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'data' => [
- 'data' => $list['list'],
- 'pageNo' => $list['pageNo'],
- 'totalCount' => $list['totalCount'],
- ],
- ];
- }
- /**
- * 店铺确定预约信息
- */
- public function actionConfirm() {
- $id = post_params('id');
- $book = FoodBook::findOne(['id' => $id, 'status' => FoodBook::BOOK_WAIT]);
- if (!$book) {
- return [
- 'code' => 1,
- 'msg' => '该预约信息已确定或取消,失效'
- ];
- }
- $book->status = FoodBook::BOOK_CONFIRM;
- if ($book->save()) {
- return [
- 'code' => 0,
- 'msg' => '预约信息已更新'
- ];
- } else {
- return [
- 'code' => 1,
- 'msg' => $book->errors[0]
- ];
- }
- }
- }
|