App.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php namespace Api\Lib;
  2. use Dever;
  3. class App
  4. {
  5. public function update($db, $data)
  6. {
  7. $func = Dever::db('api/app_func_work')->select(['app_func_id' => $data['id']]);
  8. if ($func) {
  9. $platform = [];
  10. Dever::db('api/app_platform')->delete(['app_id' => $data['app_id']]);
  11. foreach ($func as $k => $v) {
  12. $api = Dever::db('api/api')->find($v['api_id']);
  13. if ($api) {
  14. $platform[$api['platform_id']] = $api['platform_id'];
  15. }
  16. }
  17. foreach ($platform as $k => $v) {
  18. Dever::db('api/app_platform')->insert(['app_id' => $data['app_id'], 'platform_id' => $v]);
  19. }
  20. }
  21. }
  22. public function updateApi($db, $data)
  23. {
  24. if (isset($data['notify']) && $data['notify'] == 2) {
  25. Dever::db('api/api_notify')->delete(['api_id' => $data['id']]);
  26. }
  27. }
  28. public function getPlatform($app)
  29. {
  30. $set['join'] = [
  31. [
  32. 'table' => 'api_platform',
  33. 'type' => 'left join',
  34. 'on' => 't0.id=main.platform_id',
  35. ],
  36. ];
  37. $set['col'] = 't0.id as id,t0.name as name';
  38. $platform = Dever::db('api/app_platform')->select(['app_id' => $app], $set);
  39. return $platform;
  40. }
  41. public function getSetting($platform_id)
  42. {
  43. return Dever::db('api/platform_setting')->select(['platform_id' => $platform_id]);
  44. }
  45. public function getCert($account_id, $project = 'api')
  46. {
  47. if ($project) {
  48. $account = Dever::db($project . '/account')->find($account_id);
  49. if ($account) {
  50. $account = Dever::db('api/account')->find(['key' => $account['key']]);
  51. }
  52. } else {
  53. $account = Dever::db('api/account')->find($account_id);
  54. }
  55. return Dever::db('api/platform_cert')->select(['platform_id' => $account['platform_id']]);
  56. }
  57. public function getCertName($id)
  58. {
  59. $info = Dever::db('api/platform_cert')->find($id);
  60. return $info['name'];
  61. }
  62. public function getApi($func_id, $env = 1)
  63. {
  64. $set['join'] = [
  65. # t0
  66. [
  67. 'table' => 'api_api',
  68. 'type' => 'left join',
  69. 'on' => 't0.id=main.api_id',
  70. ],
  71. ];
  72. $set['col'] = 't0.*';
  73. $set['order'] = 'main.sort asc,t0.id desc';
  74. $where['main.app_func_id'] = $func_id;
  75. if ($env) {
  76. $where['t0.env'] = $env;
  77. }
  78. return Dever::db('api/app_func_work')->select($where, $set);
  79. }
  80. public function getAppPlatform($app_id, $platform_id)
  81. {
  82. $app = Dever::db('api/app')->find($app_id);
  83. $platform = Dever::db('api/platform')->find($platform_id);
  84. return $app['name'] . '-' . $platform['name'];
  85. }
  86. }