Controller.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. namespace App\Http\Controllers\V1;
  3. use App\Helper\ByteDance;
  4. use App\Helper\Kuaishou;
  5. use App\Helper\UniPlatform\Bytedance\ByteDanceAPI;
  6. use App\Helper\UniPlatform\Kuaishou\KuaishouAPI;
  7. use App\Helper\UniPlatform\Wechat\WechatAPI;
  8. use App\Helper\Wechat;
  9. use App\Models\PayConfig;
  10. use Dingo\Api\Routing\Helpers;
  11. use Illuminate\Foundation\Bus\DispatchesJobs;
  12. use Illuminate\Routing\Controller as BaseController;
  13. use Illuminate\Foundation\Validation\ValidatesRequests;
  14. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  15. use App\Services\Base\ErrorCode;
  16. class Controller extends BaseController
  17. {
  18. use AuthorizesRequests;
  19. use DispatchesJobs;
  20. use ValidatesRequests;
  21. use Helpers;
  22. public function success($data = null, $code = 0, $msg = null)
  23. {
  24. if (!$msg) {
  25. $msg = trans('api.SUCCESS');
  26. }
  27. $result = [
  28. 'code' => $code,
  29. 'message' => $msg,
  30. 'data' => $data,
  31. ];
  32. return response()->json($result);
  33. }
  34. public function error($msg = null, $code = 1, $data = null)
  35. {
  36. $result = [
  37. 'code' => $code,
  38. 'message' => $msg,
  39. 'data' => $data,
  40. ];
  41. return response()->json($result);
  42. }
  43. public function validatorError($arr, $code = 1, $message = '')
  44. {
  45. foreach ($arr as $val) {
  46. if ($val && '' == $message) {
  47. $message = $val;
  48. }
  49. }
  50. if (0 !== $code && ErrorCode::CLIENT_WRONG_PARAMS && empty($msg)) {
  51. $msg = ErrorCode::message($code);
  52. }
  53. $result = [
  54. 'code' => $code,
  55. 'message' => $msg,
  56. 'data' => $data,
  57. ];
  58. return response()->json($result);
  59. }
  60. /**
  61. * @return ByteDance|Kuaishou|Wechat
  62. */
  63. protected function getUniFactory(int $platform = 1)
  64. {
  65. if (1 == $platform) {
  66. return $this->getByteDanceFactory();
  67. } elseif (2 == $platform) {
  68. return $this->getKuishouFactory();
  69. }
  70. return $this->getWechatFactory();
  71. }
  72. protected function getByteDanceFactory(): ByteDance
  73. {
  74. $setting = PayConfig::first();
  75. return (new ByteDance(app(ByteDanceAPI::class)))->factory([
  76. 'app_id' => $setting->douyin_app_id,
  77. 'app_secret' => $setting->douyin_app_secret,
  78. 'slat' => $setting->douyin_salt,
  79. 'token' => $setting->douyin_token,
  80. ]);
  81. }
  82. protected function getKuishouFactory(): Kuaishou
  83. {
  84. $setting = PayConfig::first();
  85. return (new Kuaishou(app(KuaishouAPI::class)))->factory([
  86. 'app_id' => $setting->kuaishou_app_id,
  87. 'app_secret' => $setting->kuaishou_app_secret,
  88. ]);
  89. }
  90. protected function getWechatFactory(): Wechat
  91. {
  92. $setting = PayConfig::first();
  93. return (new Wechat(app(WechatAPI::class)))->factory([
  94. 'app_id' => $setting->mini_app_id,
  95. 'app_secret' => $setting->mini_app_key,
  96. 'mch_id' => $setting->wechat_mch_id,
  97. 'mch_key' => $setting->wechat_mch_key,
  98. 'response_type' => 'array',
  99. ]);
  100. }
  101. }