Memberwithdraw.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace app\api\controller;
  11. use app\model\member\Withdraw as WithdrawModel;
  12. use app\model\member\Member as MemberModel;
  13. /**
  14. * 会员提现
  15. */
  16. class Memberwithdraw extends BaseApi
  17. {
  18. /**
  19. * 会员提现信息
  20. */
  21. public function info()
  22. {
  23. $token = $this->checkToken();
  24. if ($token[ 'code' ] < 0) return $this->response($token);
  25. $member_model = new MemberModel();
  26. $member_info_result = $member_model->getMemberInfo([ [ 'member_id', '=', $token[ 'data' ][ 'member_id' ] ] ], 'site_id,balance_money,balance_withdraw_apply,balance_withdraw');
  27. $config_model = new WithdrawModel();
  28. $config_result = $config_model->getConfig($member_info_result[ 'data' ][ 'site_id' ], 'shop');
  29. $config = $config_result[ "data" ][ 'value' ];
  30. $config[ 'is_use' ] = $config_result[ "data" ][ 'is_use' ];
  31. $data = array (
  32. "member_info" => $member_info_result[ "data" ],
  33. "config" => $config
  34. );
  35. return $this->response($this->success($data));
  36. }
  37. /**
  38. * 会员提现配置
  39. */
  40. public function config()
  41. {
  42. $config_model = new WithdrawModel();
  43. $config_result = $config_model->getConfig($this->site_id, 'shop');
  44. return $this->response($config_result);
  45. }
  46. /**
  47. * 获取转账方式
  48. * @return false|string
  49. */
  50. public function transferType()
  51. {
  52. $token = $this->checkToken();
  53. if ($token[ 'code' ] < 0) return $this->response($token);
  54. $member_model = new MemberModel();
  55. $member_info = $member_model->getMemberInfo([ [ 'member_id', '=', $token[ 'data' ][ 'member_id' ] ] ], 'site_id,wx_openid,weapp_openid');
  56. $withdraw_model = new WithdrawModel();
  57. $transfer_type_list = $withdraw_model->getTransferType($member_info[ 'data' ][ 'site_id' ], 'shop');
  58. if (empty($member_info[ 'data' ][ 'wx_openid' ]) && empty($member_info[ 'data' ][ 'weapp_openid' ])) {
  59. unset($transfer_type_list[ 'wechatpay' ]);
  60. }
  61. return $this->response($this->success($transfer_type_list));
  62. }
  63. /**
  64. * 申请提现
  65. * @return mixed
  66. */
  67. public function apply()
  68. {
  69. $token = $this->checkToken();
  70. if ($token[ 'code' ] < 0) return $this->response($token);
  71. $apply_money = isset($this->params[ 'apply_money' ]) ? $this->params[ 'apply_money' ] : 0;
  72. $transfer_type = isset($this->params[ 'transfer_type' ]) ? $this->params[ 'transfer_type' ] : '';//提现方式
  73. $realname = isset($this->params[ 'realname' ]) ? $this->params[ 'realname' ] : '';//真实姓名
  74. $bank_name = isset($this->params[ 'bank_name' ]) ? $this->params[ 'bank_name' ] : '';//银行名称
  75. $account_number = isset($this->params[ 'account_number' ]) ? $this->params[ 'account_number' ] : '';//账号名称
  76. $mobile = isset($this->params[ 'mobile' ]) ? $this->params[ 'mobile' ] : '';//手机号
  77. $app_type = $this->params[ 'app_type' ];
  78. $member_model = new MemberModel();
  79. $member_info = $member_model->getMemberInfo([ [ 'member_id', '=', $token[ 'data' ][ 'member_id' ] ] ], 'site_id');
  80. $withdraw_model = new WithdrawModel();
  81. $data = array (
  82. "member_id" => $token[ 'data' ][ 'member_id' ],
  83. "transfer_type" => $transfer_type,
  84. "realname" => $realname,
  85. "bank_name" => $bank_name,
  86. "account_number" => $account_number,
  87. "apply_money" => $apply_money,
  88. "mobile" => $mobile,
  89. "app_type" => $app_type
  90. );
  91. $result = $withdraw_model->apply($data, $member_info[ 'data' ][ 'site_id' ], 'shop');
  92. return $this->response($result);
  93. }
  94. /**
  95. * 提现详情
  96. * @return mixed
  97. */
  98. public function detail()
  99. {
  100. $token = $this->checkToken();
  101. if ($token[ 'code' ] < 0) return $this->response($token);
  102. $id = isset($this->params[ 'id' ]) ? $this->params[ 'id' ] : 0;
  103. if (empty($id)) {
  104. return $this->response($this->error('', 'REQUEST_ID'));
  105. }
  106. $condition = [
  107. [ "member_id", "=", $token[ 'data' ][ 'member_id' ] ],
  108. [ "id", "=", $id ]
  109. ];
  110. $withdraw_model = new WithdrawModel();
  111. $info = $withdraw_model->getMemberWithdrawDetail($condition);
  112. return $this->response($info);
  113. }
  114. /**
  115. * 提现记录
  116. * @return mixed
  117. */
  118. public function page()
  119. {
  120. $token = $this->checkToken();
  121. if ($token[ 'code' ] < 0) return $this->response($token);
  122. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  123. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  124. $condition = [
  125. [ "member_id", "=", $token[ 'data' ][ 'member_id' ] ]
  126. ];
  127. $withdraw_model = new WithdrawModel();
  128. $list = $withdraw_model->getMemberWithdrawPageList($condition, $page, $page_size, "apply_time desc", "id,withdraw_no,apply_money,apply_time,status,status_name,transfer_type_name");
  129. return $this->response($list);
  130. }
  131. }