GetPaymentGlobal.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. namespace common\globals;
  3. use common\globals\BaseGlobal;
  4. use common\globals\GlobalInvoke;
  5. use common\models\common\AddonsInvoker;
  6. class GetPaymentGlobal extends BaseGlobal
  7. {
  8. ##########################################################################################################
  9. # 提现条件,配置格式
  10. # [
  11. # [
  12. # 'id' => 1,
  13. # 'addons_name' => 'Agent',
  14. # 'render_setting' => [
  15. # 'text' => '个人经销佣金满____元',
  16. # 'setting' => [
  17. # ['type' => 'text', 'name' => 'personal_agent_commission', 'default_val' => 0],
  18. # ],
  19. # 'tips' => ''
  20. # ],
  21. # 'validate_invoke' => [
  22. # 'class' => 'addons\Agent\common\globalFunc\withdrawal\Withdrawal',
  23. # 'method' => 'checkWithdrawLimit1'
  24. # ]
  25. # ],
  26. # [
  27. # 'id' => 2,
  28. # 'addons_name' => 'Agent',
  29. # 'render_setting' => [
  30. # 'text' => '个人经销佣金小于____元',
  31. # 'setting' => [
  32. # ['type' => 'text', 'name' => 'personal_agent_lt__commission', 'default_val' => 0],
  33. # ],
  34. # 'tips' => ''
  35. # ],
  36. # 'validate_invoke' => [
  37. # 'class' => 'addons\Agent\common\globalFunc\withdrawal\Withdrawal',
  38. # 'method' => 'checkWithdrawLimit2'
  39. # ]
  40. # ]
  41. # ];
  42. ##########################################################################################################
  43. /**
  44. * 获取支付方式
  45. * @param [type] $invokes
  46. * @param array $params
  47. * @return array
  48. */
  49. public function getPaymentList($invokes, $params = [])
  50. {
  51. $payment_list = [];
  52. foreach ($invokes as $invoke) {
  53. try {
  54. // 获取条件
  55. $list = $this->invoke($invoke['class'], $invoke['method'], $params);
  56. $is_success = $this->validateInvokeReturn($params['invoke_id'], $list);
  57. // 全局调用获取提现条件
  58. if ($is_success) {
  59. $payment_list = array_merge(array_values($payment_list), array_values($list));
  60. } else {
  61. throw new \Exception('结果数据格式校验未通过');
  62. }
  63. } catch (\Exception $e) {
  64. \Yii::error('全局调用(INVOKE_GET_WITHDRAW_COND)出错:' . $invoke['class'] . '->' . $invoke['method'] . 'msg:' . $e->getMessage());
  65. continue;
  66. }
  67. }
  68. return $payment_list;
  69. }
  70. /**
  71. * 获取支付方式
  72. * @param [type] $invokes
  73. * @param array $params
  74. * @return array
  75. */
  76. public function getPaymentType($invokes, $params = [])
  77. {
  78. $payment_list = [];
  79. foreach ($invokes as $invoke) {
  80. try {
  81. // 获取条件
  82. $list = $this->invoke($invoke['class'], $invoke['method'], $params);
  83. $is_success = $this->validateInvokeReturn($params['invoke_id'], $list);
  84. // 全局调用获取提现条件
  85. if ($is_success) {
  86. $payment_list = array_merge(array_values($payment_list), array_values($list));
  87. } else {
  88. throw new \Exception('结果数据格式校验未通过');
  89. }
  90. } catch (\Exception $e) {
  91. \Yii::error('全局调用(INVOKE_GET_WITHDRAW_COND)出错:' . $invoke['class'] . '->' . $invoke['method'] . 'msg:' . $e->getMessage());
  92. continue;
  93. }
  94. }
  95. return $payment_list;
  96. }
  97. /**
  98. * 验证调用结果
  99. * @param [type] $return
  100. * @return boolean
  101. */
  102. protected function validateGetPayment($return = null) : bool
  103. {
  104. return true;
  105. }
  106. }