checkToken(); if ($token[ 'code' ] < 0) return $this->response($token); $member_model = new MemberModel(); $member_info_result = $member_model->getMemberInfo([ [ 'member_id', '=', $token[ 'data' ][ 'member_id' ] ] ], 'site_id,balance,balance_money,balance_withdraw_apply,balance_withdraw,pay_password'); $member_info_result['data']['is_pay_password'] = 1; if($member_info_result['data']['pay_password'] == ''){ $member_info_result['data']['is_pay_password'] = 0; } unset($member_info_result['data']['pay_password']); $config_model = new WithdrawModel(); $config_result = $config_model->getConfig($member_info_result[ 'data' ][ 'site_id' ], 'shop'); $config = $config_result[ "data" ][ 'value' ]; $config[ 'is_use' ] = $config_result[ "data" ][ 'is_use' ]; $data = array ( "member_info" => $member_info_result[ "data" ], "config" => $config ); return $this->response($this->success($data)); } /** * 会员提现配置 */ public function config() { $config_model = new WithdrawModel(); $config_result = $config_model->getConfig($this->site_id, 'shop'); return $this->response($config_result); } /** * 获取转账方式 * @return false|string */ public function transferType() { $token = $this->checkToken(); if ($token[ 'code' ] < 0) return $this->response($token); $member_model = new MemberModel(); $member_info = $member_model->getMemberInfo([ [ 'member_id', '=', $token[ 'data' ][ 'member_id' ] ] ], 'site_id,wx_openid,weapp_openid'); $withdraw_model = new WithdrawModel(); $transfer_type_list = $withdraw_model->getTransferType($member_info[ 'data' ][ 'site_id' ], 'shop'); if (empty($member_info[ 'data' ][ 'wx_openid' ]) && empty($member_info[ 'data' ][ 'weapp_openid' ])) { unset($transfer_type_list[ 'wechatpay' ]); } return $this->response($this->success($transfer_type_list)); } /** * 申请提现 * @return mixed */ public function apply() { $token = $this->checkToken(); if ($token[ 'code' ] < 0) return $this->response($token); $apply_money = isset($this->params[ 'apply_money' ]) ? $this->params[ 'apply_money' ] : 0; $transfer_type = isset($this->params[ 'transfer_type' ]) ? $this->params[ 'transfer_type' ] : '';//提现方式 $realname = isset($this->params[ 'realname' ]) ? $this->params[ 'realname' ] : '';//真实姓名 $bank_name = isset($this->params[ 'bank_name' ]) ? $this->params[ 'bank_name' ] : '';//银行名称 $account_number = isset($this->params[ 'account_number' ]) ? $this->params[ 'account_number' ] : '';//账号名称 $mobile = isset($this->params[ 'mobile' ]) ? $this->params[ 'mobile' ] : '';//手机号 $app_type = $this->params[ 'app_type' ]; $member_model = new MemberModel(); $member_info = $member_model->getMemberInfo([ [ 'member_id', '=', $token[ 'data' ][ 'member_id' ] ] ], 'site_id'); $withdraw_model = new WithdrawModel(); $data = array ( "member_id" => $token[ 'data' ][ 'member_id' ], "transfer_type" => $transfer_type, "realname" => $realname, "bank_name" => $bank_name, "account_number" => $account_number, "apply_money" => $apply_money, "mobile" => $mobile, "app_type" => $app_type ); $result = $withdraw_model->apply($data, $member_info[ 'data' ][ 'site_id' ], 'shop'); return $this->response($result); } /** * 提现详情 * @return mixed */ public function detail() { $token = $this->checkToken(); if ($token[ 'code' ] < 0) return $this->response($token); $id = isset($this->params[ 'id' ]) ? $this->params[ 'id' ] : 0; if (empty($id)) { return $this->response($this->error('', 'REQUEST_ID')); } $condition = [ [ "member_id", "=", $token[ 'data' ][ 'member_id' ] ], [ "id", "=", $id ] ]; $withdraw_model = new WithdrawModel(); $info = $withdraw_model->getMemberWithdrawDetail($condition); return $this->response($info); } /** * 提现记录 * @return mixed */ public function page() { $token = $this->checkToken(); if ($token[ 'code' ] < 0) return $this->response($token); $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1; $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS; $condition = [ [ "member_id", "=", $token[ 'data' ][ 'member_id' ] ] ]; $withdraw_model = new WithdrawModel(); $list = $withdraw_model->getMemberWithdrawPageList($condition, $page, $page_size, "apply_time desc", "id,withdraw_no,apply_money,apply_time,status,status_name,transfer_type_name"); return $this->response($list); } /*** * 会员互转 * @return false|string */ public function balanceTransfer(){ $token = $this->checkToken(); if ($token['code'] < 0) return $this->response($token); $to_username = input('username'); $apply_money = abs(input('apply_money')); $password = input('password',''); if($password == ''){ return $this->response($this->error('未填写支付密码')); } $to_where=[ ['site_id' , '=',$this->site_id], ['username|mobile','=',$to_username], ]; if($to_username){ $member_model = new MemberModel(); // 获取接收者信息 $to_member_info = $member_model->getMemberInfo($to_where, 'member_id,site_id,balance,balance_withdraw_apply,balance_withdraw,nickname,status,pay_password'); if(empty($to_member_info['data'])||$to_member_info['data']['status']!=1) return $this->response($this->error('会员账号不存在')); if($this->member_id==$to_member_info['data']['member_id']) return $this->response($this->error('不能转账给自己')); // 获取转让人信息 $member_info_result = $member_model->getMemberInfo([['member_id', '=', $token['data']['member_id']]], 'balance,username,nickname,status,pay_password'); if($member_info_result['data']['pay_password'] == ''){ return $this->response(error(-801,'您未设置支付密码,需设置支付密码后进行转账,点击确定前往支付密码设置')); } if(data_md5($password) != $member_info_result['data']['pay_password']) return $this->response($this->error('支付密码错误')); if($apply_money>$member_info_result['data']['balance']) return $this->response($this->error('账号余额不足')); if($member_info_result['data']['status']!=1) return $this->response($this->error('未知错误')); $withdraw_model = new WithdrawModel(); $result = $withdraw_model->MemberBalanceTransfer($member_info_result,$apply_money,$this->member_id,$to_member_info['data']['member_id'],$this->site_id,$to_member_info); return $this->response($result); }else{ return $this->response($this->error('转入账号不能为空')); } } }