$shopId], true); if (empty($ext)) { util::stop('没有找到门店相信息81'); } $shop = ShopClass::getById($shopId, true); if (empty($shop)) { util::stop('没有找到门店82'); } $mainId = $shop->mainId ?? 0; $sjId = $shop->sjId ?? 0; $config = dict::getDict('mtConfig'); $app = new Application($config); $accessToken = mtUtil::getAccessToken($ext); $params = ['app_poi_code' => $shopId, 'access_token' => $accessToken]; $json = $app->retail->retailList($params); $arr = json_decode($json, true); if (isset($arr['data']) == false || empty($arr['data'])) { util::stop('没有商品'); } $mtCategory = CategoryClass::getByCondition(['mainId' => $mainId, 'style' => 1], true); if (empty($mtCategory)) { $mtCategory = CategoryClass::add(['style' => 1, 'categoryName' => '美团', 'mainId' => $mainId, 'sjId' => $sjId], true); } $catId = $mtCategory->id ?? 0; if (empty($catId)) { util::stop('没有找到美团的商品分类'); } $goodsList = $arr['data']; foreach ($goodsList as $key => $val) { $picture = $val['picture'] ?? ''; $price = $val['price'] ?? 0; $name = $val['name'] ?? ''; $description = $val['description'] ?? ''; $appSpuCode = $val['app_spu_code'] ?? ''; if (!empty($appSpuCode)) { $current = GoodsClass::getByCondition(['mainId' => $mainId, 'spu' => $appSpuCode], true); if (!empty($current)) { continue; } } $sh = strstr($description, '【鲜花】') !== false ? 1 : 0; $imgArr = explode(',', $picture); $shopImg = []; foreach ($imgArr as $imgUrl) { $shortUrl = httpUtil::downloadRemoteImg($sjId, $shopId, $imgUrl); $shopImg[] = $shortUrl; } $cover = $shopImg[0]; $catIds = [$catId]; $addData = [ 'name' => $name, 'flower' => 1, 'property' => 0, 'price' => $price, 'sjId' => $sjId, 'mainId' => $mainId, 'shopId' => $shopId, 'status' => 0, 'delStatus' => 0, 'shopImg' => $shopImg, 'catIds' => $catIds, 'cover' => $cover, 'spu' => $appSpuCode, 'sh' => $sh, ]; $goods = GoodsClass::addGoods($addData); $goodsId = $goods->id ?? 0; if (empty($appSpuCode)) { $newSpuCode = 'hzg_' . $mainId . '_' . $goodsId; $end_category_code = $val['category_code'] ?? ''; if (isset($val['secondary_category_code']) && !empty($val['secondary_category_code'])) { $end_category_code = $val['secondary_category_code']; } $name = $val['name'] ?? ''; $params = ['app_poi_code' => $shopId, 'access_token' => $accessToken, 'name' => $name, 'category_code' => $end_category_code, 'app_spu_code' => $newSpuCode]; $json = $app->retail->updateAppFoodCodeByNameAndSpec($params); $arr = json_decode($json, true); if (isset($arr['data']) == false || $arr['data'] != 'ok') { noticeUtil::push("同步商品 {$name} 到系统时,app_spu_code 没有生成,请确认", '15280215347'); continue; } $goods->spu = $newSpuCode; $goods->save(); } } } }