where([ 'is_delete' => 0, 'store_id' => get_store_id(), ]); if ($num) { $query->andWhere(['num' => $num]); } $pagination = pagination_make($query); $list = $pagination['list']; return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $list, 'pageNo' => $pagination['pageNo'], 'totalCount' => $pagination['totalCount'], ], ]; } public function actionAdd() { $store_id = post_params('storeId', get_store_id()); $params = [ 'num' => post_params('num', ''), 'remark' => post_params('remark'), ]; $is = FoodTableNumber::find()->where([ 'store_id' => $store_id, 'num' => $params['num'], 'is_delete' => 0, ])->one(); if ($is) { return [ 'code' => 1, 'msg' => '桌号已经存在!' ]; } $form = new FoodTableNumber(); $form->store_id = $store_id; $form->num = $params['num']; $form->remark = $params['remark']; if ($form->save()) { return [ 'code' => 0, 'msg' => '创建成功!' ]; } return [ 'code' => 1, 'msg' => '创建失败!' ]; } public function actionEdit() { $store_id = post_params('storeId', get_store_id()); $params = [ 'id' => post_params('id'), 'num' => post_params('num', ''), 'remark' => post_params('remark'), ]; $is = FoodTableNumber::find()->where([ 'store_id' => $store_id, 'num' => $params['num'], 'is_delete' => 0, ])->andWhere(['<>', 'id', $params['id']])->one(); if ($is) { return [ 'code' => 1, 'msg' => '桌号已经存在!' ]; } $form = FoodTableNumber::findOne($params['id']); if (!$form) { return [ 'code' => 1, 'msg' => '记录不存在!' ]; } $form->num = $params['num']; $form->remark = $params['remark']; if ($form->save()) { return [ 'code' => 0, 'msg' => '创建成功!' ]; } return [ 'code' => 1, 'msg' => '创建失败!' ]; } public function actionDel() { $id = post_params('id'); $form = FoodTableNumber::findOne($id); if (!$form) { return [ 'code' => 1, 'msg' => '记录不存在!' ]; } $form->is_delete = FoodTableNumber::DELETE_STATUS_TRUE; if ($form->save()) { return [ 'code' => 0, 'msg' => '删除成功!' ]; } return [ 'code' => 1, 'msg' => '删除失败!' ]; } public function actionDownQr() { $num = get_params('num', 0); $store_id = get_store_id(); $filename = md5($store_id . '-' . $num); $path = \Yii::$app->runtimePath . '/image/' . $filename . '.jpg'; $pic_url = str_replace('http://', 'https://', \Yii::$app->request->hostInfo . '/runtime/image/' . $filename . '.jpg'); if (file_exists($path)) { return [ 'code' => 0, 'data' => [ 'qr_url' => $pic_url, ] ]; } $text = str_replace('http://', 'https://', \Yii::$app->request->hostInfo . '/food/' . $store_id . '?table_num=' . $num); QrCode::image($text, 500, false, 'L', 'JPEG', 0, ['255,255,255', '0,0,0'], 1, false, $path); $goods_qrcode = new \claviska\SimpleImage($path); $bgPath = \Yii::$app->basePath . '/web/v1/statics/images/alipay-bg.png'; $bg = new \claviska\SimpleImage($bgPath); $bg->overlay($goods_qrcode, 'top left', 1, 200, 350); $bg->toFile($path, 'image/jpeg', 85); return [ 'code' => 0, 'data' => [ 'qr_url' => $pic_url, ] ]; } }