cloud_goods_id; $store_id = $this->store_id; $attr = $this->attr; $attr_id_list = $this->attr_id_list; $goods_name = $this->goods_name; $param = [ 'id' => $cloud_goods_id ]; //请求接口 $domain = (new OptionSetting)->getCloudDomainName(); $goodsInfo = cloud_post($domain.$goods_url,$param); $goodsInfo = json_decode($goodsInfo, true); // debug_log($goodsInfo ,'ptOrderLog.log'); $goodsInfo = $goodsInfo['data']; //如果没有上架或审核未通过则不允许购买 if ((int)$goodsInfo['status'] === 0 || (int)$goodsInfo['is_audit'] !== 2) { //商品下架 Goods::updateAll(['status' => 0, 'store_id' => $store_id],['cloud_goods_id' => $cloud_goods_id]); } //如果使用规格 if (!empty($goodsInfo['use_attr']) && (int)$goodsInfo['use_attr'] === 1) { $goods_2 = new Goods(); $goods_2->attr = $attr; $res_attr = $goods_2->getAttrGroupList(); if ($res_attr) { foreach ($res_attr as &$attr_item) { unset($attr_item->attr_group_id); foreach ($attr_item->attr_list as &$list_item) { unset($list_item->attr_id); } } } //判断规格名称是否一致 $res_attr = json_decode(json_encode($res_attr), true); if ($res_attr != $goodsInfo['AttrGroupList']) { //商品下架 Goods::updateAll(['status' => 0, 'store_id' => $store_id],['cloud_goods_id' => $cloud_goods_id]); } $attrs = json_decode($goodsInfo['attrs'], true); foreach ($attrs as $attr_item) { //如果供货商的商品规格包含购买的 if (in_array($attr_item['attr_id'], $attr_id_list)) { //判断库存无 或者 供货商库存小于购买的商品数量 if ((int)$attr_item['num'] <= 0) { //商品下架 Goods::updateAll(['status' => 0, 'store_id' => $store_id],['cloud_goods_id' => $cloud_goods_id]); } } } } else { //如果不使用规格 if ((int)$goodsInfo['num'] <= 0 || $goodsInfo['name'] != $goods_name) { Goods::updateAll(['status' => 0, 'store_id' => $store_id],['cloud_goods_id' => $cloud_goods_id]); } } } catch (\Exception $e) { debug_log('云仓规格:' . $e->getMessage() . $e->getLine() . $e->getFile(),'ptOrderLog.log'); } } }