<?php namespace Api\Lib; use Dever; class App { public function update($db, $data) { $func = Dever::db('app_func_work', 'api')->select(['app_func_id' => $data['id']]); if ($func) { $platform = []; Dever::db('app_platform', 'api')->delete(['app_id' => $data['app_id']]); foreach ($func as $k => $v) { $api = Dever::db('api', 'api')->find($v['api_id']); if ($api) { $platform[$api['platform_id']] = $api['platform_id']; } } foreach ($platform as $k => $v) { Dever::db('app_platform', 'api')->insert(['app_id' => $data['app_id'], 'platform_id' => $v]); } } } public function updateApi($db, $data) { if (isset($data['notify']) && $data['notify'] == 2) { Dever::db('api/api_notify')->delete(['api_id' => $data['id']]); } } public function getPlatform($app) { $set['join'] = [ [ 'table' => 'platform', 'type' => 'left join', 'on' => 'platform.id=app_platform.platform_id', ], ]; $set['col'] = 'platform.id as id,platform.name as name'; $platform = Dever::db('app_platform', 'api')->select(['app_id' => $app], $set); return $platform; } public function getSetting($platform_id) { return Dever::db('platform_setting', 'api')->select(['platform_id' => $platform_id]); } public function getCert($platform_id) { return Dever::db('platform_cert', 'api')->select(['platform_id' => $platform_id]); } public function getCertName($id) { $info = Dever::db('platform_cert', 'api')->find($id); return $info['name']; } public function getApi($func_id, $env = 1) { $set['join'] = [ # t0 [ 'table' => 'api_api', 'type' => 'left join', 'on' => 't0.id=main.api_id', ], ]; $set['col'] = 't0.*'; $set['order'] = 'main.sort asc,t0.id desc'; $where['main.app_func_id'] = $func_id; if ($env) { $where['t0.env'] = $env; } return Dever::db('app_func_work', 'api')->select($where, $set); } public function getAppPlatform($app_id, $platform_id) { $app = Dever::db('app', 'api')->find($app_id); $platform = Dever::db('platform', 'api')->find($platform_id); return $app['name'] . '-' . $platform['name']; } }