getTradeConfig($site_id, 'shop')['data']['value']; $is_community = isset($trade_config['is_community']) ? $trade_config['is_community'] : 0; } if ($store_id > 0 && !$is_community) { $site_id = $data['site_id']; //还需要判断配送方式(平台运营模式如果是 同城 门店自提的话 才有可能传入store_id) $delivery_array = $data['delivery'] ?? []; $delivery_type = $delivery_array['delivery_type'] ?? 'express'; $store_config_model = new \addon\store\model\Config(); $store_config = $store_config_model->getStoreBusinessConfig($site_id)['data']['value'] ?? []; if ($store_config['store_business'] == 'shop' && !in_array($delivery_type, ['local', 'store'])) { return null; } elseif (!isset($store_config['open_store']) || !$store_config['open_store']) { return null; } $goods_id = $data['goods_id']; $goods_info = model('goods')->getInfo([['goods_id', '=', $goods_id]], 'sale_store'); $sale_store = $goods_info['sale_store'] ?? 'all'; if ($sale_store != 'all') { $sale_store_ids = explode(',', $sale_store); if (!in_array($store_id, $sale_store_ids)) { $error = array( 'message' => '当前门店暂未销售此项商品' ); $data['error'] = $error; return (new CashierOrderPay())->success($data); } } $sku_id = $data['sku_id']; $store_sku_condition = array( ['sku_id', '=', $sku_id], ['store_id', '=', $store_id] ); $store_sku_info = model('store_goods_sku')->getInfo($store_sku_condition); if (!empty($store_sku_info)) { $data['price'] = $store_sku_info['price']; $data['stock'] = numberFormat($store_sku_info['stock']); if ($store_sku_info['status'] != 1) { $error = array( 'message' => '当前门店产品已下架' ); } } else { $error = array( 'message' => '当前门店暂未销售此项商品' ); } if (!empty($error)) { $data['error'] = $error; } return (new CashierOrderPay())->success($data); } } }