/** * 移除/移入 仓库数据到商店 * @return \Illuminate\Http\JsonResponse * @throws DeepInException * @throws \Exception */ public function select() { $id = \Input::get("packageid"); if (!$id) { throw new DeepInException("参数不完整"); } //判断用户是否在应用里面 $app = ShopApps::whereRaw("packageid=:packageid", array(":packageid" => $id))->first(); if (!$app instanceof ShopApps) { //不存在在应用商店里面,属于新增一行数据到应用商店里面 //拉取仓库里面的数据,部分数据是需要冗余的 $responseValue = OpenApi::metadataInfo($id); if ($responseValue->getStatusCode() != 0) { throw new DeepInException("拉取仓库数据失败~!", $responseValue->getStatusMessage()); } $data = $responseValue->getData(); $app = new ShopApps(); $app->packageId($id); $app->appName($id); //$data["name"] if ($app->save() == false) { throw new DeepInException("数据移进商店失败~!"); } $appId = $app->appId(); //创建两行宣传语的数据[默认新增两行] $inserted = ShopAppsTranslation::insert(array(array("appid" => $appId, "lang" => "zh_CN"), array("appid" => $appId, "lang" => "en_US"))); if ($inserted == false) { throw new DeepInException("翻译数据新增失败~!"); } } return $this->successJSON(); // else { // //应用在商店里面,需要判断该应用是否被栏目或者专题选用,如果被选用,则无法从商店里面remove掉该应用 // // //// $this->checkAppReferred($app->appId()); //// if ($app->inuse() == 1) { //// throw new DeepInException("数据属于上架状态,无法移除商店~!"); //// } // $applocalList = ShopAppsLocal::whereRaw("appid=:appid", array(":appid" => $appId))->get(); // if (count($applocalList) > 0) { // throw new DeepInException("数据属于上架状态,无法移除商店~!"); // } // // //删掉shop-app里面的数据 // if ($app->delete() == false) { // throw new DeepInException("移除数据错误~!"); // } // // //宣传语的翻译也要删掉 // // //对应的区域数据也要删掉 // // // return $this->successJSON(); // } }
/** * 选择应用 * @return \Illuminate\View\View * @throws DeepInException */ public function select() { $id = \Input::get("packageid"); if (!$id) { throw new DeepInException("参数不完整"); } //判断用户是否在应用里面 $app = ShopApps::whereRaw("packageid=:packageid", array(":packageid" => $id))->first(); if (!$app instanceof ShopApps) { //不存在在应用商店里面,属于新增一行数据到应用商店里面 //拉取仓库里面的数据,部分数据是需要冗余的 $responseValue = OpenApi::metadataInfo($id); if ($responseValue->getStatusCode() != 0) { throw new DeepInException("拉取仓库数据失败~!", $responseValue->getStatusMessage()); } $data = $responseValue->getData(); $app = new ShopApps(); $app->packageId($id); $app->appName($id); //$data["name"] if ($app->save() == false) { throw new DeepInException("数据移进商店失败~!"); } $appId = $app->appId(); //创建两行宣传语的数据[默认新增两行] $inserted = ShopAppsTranslation::insert(array(array("appid" => $appId, "lang" => "zh_CN"), array("appid" => $appId, "lang" => "en_US"))); if ($inserted == false) { throw new DeepInException("翻译数据新增失败~!"); } return $this->successJSON(); } }
/** * 获取截图 * @param $packageId * @return \Illuminate\Http\JsonResponse * @throws DeepInException */ public function getScreenshots($packageId) { $lang = \Input::get("lang", null); if (empty($lang)) { throw new DeepInException("地区不能为空~!"); } try { $resp = OpenApi::metadataInfo($packageId); $data = $resp->getData(); if (isset($data["locales"]) == false) { throw new DeepInException("API返回错误:没有locales字段~!"); } $locals = $data["locales"]; $info = array(); if (isset($locals[$lang])) { foreach ($locals[$lang]['screenshots'] as $v) { $info[] = $v["src"]; } } } catch (\Exception $e) { $info = array(); } return $this->successJSON($info); }