attributes = post_params(); $form->store_id = get_store_id(); $form->user_id = get_user_id(); return $form->submit(); } /** * 发送验证码 */ public function actionSendCode() { $form = new BookForm(); $form->mobile = post_params('mobile'); $form->store_id = get_store_id(); return $form->sendCode(); } /** * 预约配置 * @return array */ public function actionConfig() { $store_id = get_store_id(); $user_id = get_user_id(); // 商户信息 $store_info = Store::findOne(['id' => $store_id, 'is_delete' => 0]); $food_config = Option::getFoodBookConfig(); $store = [ 'name' => $food_config['name'], 'address' => $food_config['address'], 'phone' => $food_config['phone'], 'logo' => $food_config['logo'], 'open_time' => $food_config['open_time'], 'latitude' => explode(',', $store_info['coordinate'])[0] ?: '', 'longitude' => explode(',', $store_info['coordinate'])[1] ?: '' ]; $book = FoodBook::find()->where(['store_id' => $store_id, 'user_id' => $user_id, 'status' => FoodBook::BOOK_WAIT]) ->orderBy('id desc')->limit(1)->one(); if (!empty($book)) { return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'switch' => $food_config['switch'], 'description' => $food_config['description'], 'result' => 1, 'id' => $book->id, 'store' => $store, 'order_code' => BookForm::bookNumber($book->start_time), 'order_time' => date('Y-m-d H:i', $book->start_time) . '-' . date('H:i', $book->end_time) ] ]; } // 预约配置 if (empty($food_config)) { return [ 'code' => 1, 'msg' => '配置信息有误' ]; } if ($food_config['switch'] == 0) { return [ 'code' => 1, 'msg' => '店铺未开启预约' ]; } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'description' => $food_config['description'], 'result' => 0, 'time' => $food_config['time'], 'person' => $food_config['person'] ] ]; } /** * 预约取消 */ public function actionCancel() { $book = FoodBook::findOne(['id' => post_params('id'), ['in', 'status', [FoodBook::BOOK_WAIT, FoodBook::BOOK_CONFIRM]]]); if (!$book) { return [ 'code' => 1, 'msg' => '未找到该预约记录' ]; } $book->status = FoodBook::BOOK_NOT_EXIST; if ($book->save()) { return [ 'code' => 0, 'msg' => '取消成功' ]; } else{ return [ 'code' => 1, 'msg' => $book->errors[0] ]; } } }