'ID', 'spec_time' => 'spec标题', 'start' => '开始时间点', 'end' => '结束时间点', 'reserve_time_id' => '商城id', 'reserve_sku_id' => '预约商品SKU', 'checked' => '是否选中', 'is_next' => '结束时间[0当日 1次日]', 'stock' => '库存', 'price' => '售价', 'original_price' => '原价(划线价仅展示)', 'cost_price' => '成本价', 'reserve_max_buy' => '每天最大预约数量', 'created_at' => '创建时间', 'updated_at' => '修改时间', ]; } // 设置sku的可预约时间 public static function setTimeSpec($reserveTime, $timeSpecs,&$totalStock) { try { array_map(function ($val) use (&$reserveTime,&$totalStock) { $model = new self(); $model->loadDefaultValues(); $attributes = [ 'spec_time' => $val['spec_time'], 'start' => $val['start'], 'end' => $val['end'], 'reserve_time_id' => $reserveTime['id'], 'price' => $val['price'] ?? 0, 'original_price' => $val['original_price'] ?? 0, 'cost_price' => $val['cost_price'] ?? 0, 'reserve_max_buy' => $val['reserve_max_buy'] ?? 0, 'reserve_sku_id' => $reserveTime['reserve_sku_id'] ?? 0, 'stock' => $val['reserve_max_buy'] ?? 0, 'checked' => $val['checked'], 'is_next' => strpos($val['is_next'], "次日") !== false ? StatusEnum::ENABLED : StatusEnum::DISABLED, ]; Yii::error("setTimeSpec -> " . var_export($attributes, true)); $totalStock += $val['reserve_max_buy']; if (!$model->load($attributes, '') || !$model->save()) { throw new Exception($model->getErrorMessage()); } }, $timeSpecs); } catch (Exception $e) { if (isset($trans)) $trans->rollback(); self::$static_error = $e->getMessage(); return false; } } }