Withdrawal.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace addons\Agent\common\global_func\withdrawal;
  3. use addons\Agent\common\models\Agent;
  4. use common\enums\StatusEnum;
  5. class Withdrawal
  6. {
  7. public static function checkWithdrawLimit1(array $params): bool
  8. {
  9. if (empty($params['user_id'])) return false;
  10. if (empty($params['personal_agent_commission'])) return true;
  11. $agent = Agent::findOne(['user_id' => $params['user_id'], 'status' => StatusEnum::ENABLED]);
  12. if (empty($agent)) return false;
  13. if ($agent['total_commission'] < $params['personal_agent_commission']) return false;
  14. return true;
  15. }
  16. public static function checkWithdrawLimit2(array $params): bool
  17. {
  18. if (empty($params['user_id'])) return false;
  19. if (empty($params['personal_agent_commission'])) return true;
  20. $agent = Agent::findOne(['user_id' => $params['user_id'], 'status' => StatusEnum::ENABLED]);
  21. if (empty($agent)) return false;
  22. if ($agent['total_commission'] >= $params['personal_agent_commission']) return false;
  23. return true;
  24. }
  25. public function show()
  26. {
  27. return [
  28. [
  29. 'id' => 1,
  30. 'addons_name' => 'Agent',
  31. 'render_setting' => [
  32. 'text' => '个人经销佣金满____元',
  33. 'setting' => [
  34. ['type' => 'text', 'name' => 'personal_agent_commission', 'default_val' => 0],
  35. ],
  36. 'tips' => ''
  37. ],
  38. 'validate_invoke' => [
  39. 'class' => 'addons\Agent\common\globalFunc\withdrawal\Withdrawal',
  40. 'method' => 'checkWithdrawLimit1'
  41. ]
  42. ],
  43. [
  44. 'id' => 2,
  45. 'addons_name' => 'Agent',
  46. 'render_setting' => [
  47. 'text' => '个人经销佣金小于____元',
  48. 'setting' => [
  49. ['type' => 'text', 'name' => 'personal_agent_lt__commission', 'default_val' => 0],
  50. ],
  51. 'tips' => ''
  52. ],
  53. 'validate_invoke' => [
  54. 'class' => 'addons\Agent\common\globalFunc\withdrawal\Withdrawal',
  55. 'method' => 'checkWithdrawLimit2'
  56. ]
  57. ]
  58. ];
  59. }
  60. }