AlipayMiniController.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * 支付宝小程序
  4. * User: zmz
  5. * Date: 2022/12/19
  6. * Time: 14:01
  7. */
  8. namespace backend\modules\mall\controllers;
  9. use backend\controllers\MallController;
  10. use common\helpers\CurlHelper;
  11. use Yii;
  12. use yii\db\Exception;
  13. class AlipayMiniController extends MallController
  14. {
  15. /**
  16. * 设置
  17. * @return mixed|string|void
  18. * @throws Exception
  19. */
  20. public function actionEdit()
  21. {
  22. $code = 'alipay_mini';
  23. $request = Yii::$app->request;
  24. if ($request->isAjax) {
  25. if ($request->isGet) {
  26. $mini_program = Yii::$app->services->setting->mall->get($this->mall_id, $code);
  27. if(!isset($mini_program['version'])) $mini_program['version'] = '';
  28. if(!isset($mini_program['desc'])) $mini_program['desc'] = '';
  29. if(!isset($mini_program['secret_key_file'])) $mini_program['secret_key_file'] = '';
  30. $this->success('获取成功', compact('mini_program'));
  31. } else {
  32. $params = Yii::$app->request->post('form');
  33. $res = Yii::$app->services->validate->validate($params, [
  34. [['app_id', 'merchantPrivateKey', 'name', 'mch_id'], 'required'],
  35. [['is_use_cert'], 'integer'],
  36. [['merchantCertPath', 'alipayPublicKey', 'alipayRootCertPath','alipayCertPath','merchantPrivateKey','encryptKey'], 'string'],
  37. [['can_auth_phone'],'integer']
  38. ]);
  39. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  40. // 保存数据
  41. $trans = Yii::$app->db->beginTransaction();
  42. $res = Yii::$app->services->setting->mall->set($this->mall_id, [$code => $params]);
  43. $trans->commit();
  44. if ($res === false) $this->error('保存失败');
  45. $this->success('保存成功');
  46. }
  47. }
  48. return $this->render($this->action->id);
  49. }
  50. }