| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\utils;
- use app\models\GoodsBook;
- use app\models\Order;
- use app\models\OrderDetail;
- use yii\helpers\Json;
- class BookOrderNum
- {
- /**
- * @param Order $order
- */
- public static function bookNumReduce($order) {
- $orderDetail = OrderDetail::findOne(['order_id' => $order->id]);
- $attr = Json::decode($orderDetail->attr);
- // 酒店预约
- if ($order->order_type == 1) {
- $date_book = GoodsBook::findOne(['goods_id' => $orderDetail->goods_id]);
- $goods_book = Json::decode($date_book->date_book);
- if (!$goods_book) {
- return [
- 'code' => 1,
- 'msg' => '数据异常'
- ];
- }
- foreach ($goods_book as &$book) {
- foreach ($attr as &$value) {
- if ($book['date'] == $value['date']) {
- $book['num'] -= $orderDetail->num;
- }
- }
- }
- $date_book->date_book = Json::encode($goods_book);
- $date_book->save();
- }
- // 服务预约 动态库存
- // if ($order->order_type == 2) {
- // $service_book = GoodsBook::findOne(['goods_id' => $orderDetail->goods_id]);
- // $service_goods_book = Json::decode($service_book->service_book);
- // if (!$service_goods_book) {
- // return [
- // 'code' => 1,
- // 'msg' => '数据异常'
- // ];
- // }
- //
- // foreach ($service_goods_book['data'] as &$value) {
- // if ($value['date'] == $attr['date']) {
- // foreach ($value['time'] as &$m) {
- // foreach ($m['times'] as &$n) {
- // if ($n['time'] == $attr['time']) {
- // $n['num'] -= $orderDetail->num;
- // }
- // }
- // }
- // }
- // }
- // $service_book->service_book = Json::encode($service_goods_book);
- // $service_book->save();
- // }
- }
- /**
- * @param Order $order
- */
- public static function bookNumAdd($order) {
- $orderDetail = OrderDetail::findOne(['order_id' => $order->id]);
- $attr = Json::decode($orderDetail->attr);
- // 酒店预约
- if ($order->order_type == 1) {
- $date_book = GoodsBook::findOne(['goods_id' => $orderDetail->goods_id]);
- $goods_book = Json::decode($date_book->date_book);
- if (!$goods_book) {
- return [
- 'code' => 1,
- 'msg' => '数据异常'
- ];
- }
- foreach ($goods_book as &$book) {
- foreach ($attr as &$value) {
- if ($book['date'] == $value['date']) {
- $book['num'] += $orderDetail->num;
- }
- }
- }
- $date_book->date_book = Json::encode($goods_book);
- $date_book->save();
- }
- // 服务预约
- if ($order->order_type == 2) {
- $service_book = GoodsBook::findOne(['goods_id' => $orderDetail->goods_id]);
- $service_goods_book = Json::decode($service_book->service_book);
- if (!$service_goods_book) {
- return [
- 'code' => 1,
- 'msg' => '数据异常'
- ];
- }
- foreach ($service_goods_book['data'] as &$value) {
- if ($value['date'] == $attr['date']) {
- foreach ($value['time'] as &$m) {
- foreach ($m['times'] as &$n) {
- if ($n['time'] == $attr['time']) {
- $n['num'] += $orderDetail->num;
- }
- }
- }
- }
- }
- $service_book->service_book = Json::encode($service_goods_book);
- $service_book->save();
- }
- }
- }
|