OrderRefund.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace common\globals;
  3. use common\globals\BaseGlobal;
  4. /**
  5. * 订单退款全局调用
  6. * OrderRefund class
  7. * @package common\globals
  8. */
  9. class OrderRefund extends BaseGlobal
  10. {
  11. /**
  12. * 选择合适的退款插件退款
  13. * @param array $invokes
  14. * @param array $params
  15. * @return void
  16. */
  17. public function refund($invokes, $params = [])
  18. {
  19. foreach ($invokes as $invoke) {
  20. try {
  21. // 是否执行退款
  22. $res = $this->invoke($invoke['class'], $invoke['method'], $params);
  23. // 当res === false 说明不符合插件的退款
  24. // 当res为数组 说明符合插件退款 直接返回退款信息
  25. if ($res !== false) {
  26. return $res;
  27. }
  28. } catch (\Exception $e) {
  29. \Yii::error('全局调用(INVOKE_ORDER_REFUND)出错:' . $invoke['class'] . '->' . $invoke['method'] . 'msg:' . $e->getMessage());
  30. continue;
  31. }
  32. }
  33. // 没有合适的退款条件 返回false
  34. return false;
  35. }
  36. /**
  37. * 验证
  38. * @param mixed $return
  39. * @return boolean
  40. */
  41. public function validateCheck($return = null)
  42. {
  43. return true;
  44. }
  45. /**
  46. * 验证调用结果
  47. * @param mixed $return
  48. * @return boolean
  49. */
  50. protected function validateWithDrawLimitCond($return = null): bool
  51. {
  52. return true;
  53. }
  54. }