AlipayTemplateUploadController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\admin\controllers\setting;
  8. use app\modules\admin\controllers\BaseController;
  9. use app\models\Option;
  10. use app\modules\admin\models\WechatThirdForm;
  11. class AlipayTemplateUploadController extends BaseController
  12. {
  13. private $url = 'http://chidian.we10.cn/';
  14. /**
  15. * 登录
  16. *
  17. * @return void
  18. */
  19. public function actionLogin()
  20. {
  21. set_time_limit(0);
  22. $alipay_appid = Option::get('alipay_appid', 0, 'saas')['value'] ?? '';
  23. if (empty($alipay_appid)) {
  24. return $this->asJson([
  25. 'code' => 1,
  26. 'msg' => '请先配置服务商设置应用appid',
  27. ]);
  28. }
  29. $appid = Option::get('ali_template_appid', 0, 'saas')['value'] ?? '';
  30. $ali_template_store_id = Option::get('ali_template_store_id', 0, 'saas')['value'] ?? '';
  31. $ali_template_mini_id = Option::get('ali_template_mini_id', 0, 'saas')['value'] ?? '';
  32. if (empty($appid)) {
  33. return $this->asJson([
  34. 'code' => 1,
  35. 'msg' => '请先配置三方平台支付宝模板appid',
  36. ]);
  37. }
  38. $url = $this->url . 'template/login_alipay.php';
  39. $host = str_replace(['http://', 'https://'], ['', ''], \Yii::$app->request->hostInfo);
  40. $ws_url = isset(\Yii::$app->params['ws_url']) ? \Yii::$app->params['ws_url'] : 'ws.cyyvip.com';
  41. $res = http_get($url, [
  42. 'query' => [
  43. 'store_id' => $ali_template_store_id,
  44. 'mini_id' => $ali_template_mini_id,
  45. 'appid' => $appid,
  46. 'http_url' => $host,
  47. 'version' => cyy_version(),
  48. 'ws_url' => $ws_url,
  49. 'shopId' => $alipay_appid,
  50. ]
  51. ]);
  52. if ($res->getStatusCode() != 200) {
  53. return $this->asJson([
  54. 'code' => 1,
  55. 'msg' => '请求出错!',
  56. ]);
  57. }
  58. $content = json_decode((string)$res->getBody());
  59. return $this->asJson($content);
  60. }
  61. /**
  62. * 上传小程序
  63. *
  64. * @return void
  65. */
  66. public function actionUpload()
  67. {
  68. set_time_limit(0);
  69. $appid = Option::get('ali_template_appid', 0, 'saas')['value'] ?? '';
  70. if (empty($appid)) {
  71. return $this->asJson([
  72. 'code' => 1,
  73. 'msg' => '请先配置三方平台支付宝模板appid',
  74. ]);
  75. }
  76. $url = $this->url . 'template/upload_alipay.php';
  77. $host = str_replace(['http://', 'https://'], ['', ''], \Yii::$app->request->hostInfo);
  78. $res = http_get($url, [
  79. 'query' => [
  80. 'appid' => $appid,
  81. 'http_url' => $host,
  82. 'version' => cyy_version(),
  83. ],
  84. 'timeout' => 500,
  85. ]);
  86. if ($res->getStatusCode() != 200) {
  87. return $this->asJson([
  88. 'code' => 1,
  89. 'msg' => '请求出错!',
  90. ]);
  91. }
  92. $content = json_decode((string)$res->getBody());
  93. return $this->asJson($content);
  94. }
  95. public function actionAddTemplate()
  96. {
  97. $alipay_appid = Option::get('alipay_appid', 0, 'saas')['value'] ?? '';
  98. $appid = Option::get('ali_template_appid', 0, 'saas')['value'] ?? '';
  99. $link = "https://open.alipay.com/develop/isv/sub/template/detail?appId={$alipay_appid}&templateId={$appid}&bundleId=com.alipay.alipaywallet";
  100. return $this->asJson([
  101. 'code' => 0,
  102. 'msg' => '添加成功',
  103. 'data' => [
  104. 'link' => $link,
  105. ],
  106. ]);
  107. }
  108. }