DefaultController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace addons\HuifuPay\api\modules\v1\controllers;
  3. use common\enums\AddonsEnum;
  4. use common\models\common\PaymentTrade;
  5. use addons\HuifuPay\common\service\PayService;
  6. use yii\db\Exception;
  7. /**
  8. * 默认控制器
  9. *
  10. * Class DefaultController
  11. * @package addons\HuifuPay\api\modules\v1\controllers
  12. */
  13. class DefaultController extends BaseController
  14. {
  15. public $modelClass = '';
  16. /**
  17. * 不用进行登录验证的方法
  18. *
  19. * 例如: ['index', 'update', 'create', 'view', 'delete']
  20. * 默认全部需要验证
  21. *
  22. * @var array
  23. */
  24. protected $authOptional = ['index','get-trade-info'];
  25. /**
  26. * 首页
  27. *
  28. * @return string
  29. */
  30. public function actionIndex()
  31. {
  32. return 'Hello world';
  33. }
  34. /**
  35. * 作者:zengfanhua
  36. * 创建时间:2023/12/28 12:05:37
  37. * 获取交易订单
  38. */
  39. public function actionGetTradeInfo()
  40. {
  41. $params = \Yii::$app->request->get();
  42. $res = \Yii::$app->services->validate->validate($params, [
  43. [['trade_no'], 'required'],
  44. ]);
  45. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  46. $tradeInfo=PaymentTrade::findOne(['out_trade_no'=>$params['trade_no']]);
  47. if(!$tradeInfo)
  48. {
  49. return $this->error("未找到支付单信息");
  50. }
  51. return $this->success('查询成功', $tradeInfo);
  52. }
  53. public function actionBigPay()
  54. {
  55. $params = \Yii::$app->request->post();
  56. $res = \Yii::$app->services->validate->validate($params, [
  57. [['trade_no','card_id'], 'required'],
  58. ]);
  59. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  60. $trade=PaymentTrade::findOne(['out_trade_no'=>$params['trade_no']]);
  61. if(!$trade)
  62. {
  63. return $this->error("未找到支付单信息");
  64. }
  65. $service=new PayService($trade->mall_id);
  66. try {
  67. $result=$service->bigPay($trade,$params['card_id']);
  68. } catch (\Exception $e) {
  69. //throw new Exception($e->getMessage());
  70. return $this->error($e->getMessage());
  71. }
  72. return $this->success('操作成功', $result);
  73. }
  74. }