210 lines
8.4 KiB
PHP
210 lines
8.4 KiB
PHP
<?php
|
||
/**
|
||
* ThinkShop商城系统 - 团队十年电商经验汇集巨献!
|
||
* =========================================================
|
||
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
||
* ----------------------------------------------
|
||
* 官方网址: https://www.cdcloudshop.com
|
||
|
||
* =========================================================
|
||
*/
|
||
|
||
namespace addon\fenxiao\api\controller;
|
||
|
||
use addon\fenxiao\model\Config as ConfigModel;
|
||
use addon\fenxiao\model\Fenxiao as FenxiaoModel;
|
||
use addon\fenxiao\model\FenxiaoWithdraw;
|
||
use app\api\controller\BaseApi;
|
||
use app\model\member\Member;
|
||
use app\model\member\Member as MemberModel;
|
||
|
||
/**
|
||
* 分销提现
|
||
*/
|
||
class Withdraw extends BaseApi
|
||
{
|
||
|
||
// /**
|
||
// * 申请提现
|
||
// */
|
||
// public function apply()
|
||
// {
|
||
// $token = $this->checkToken();
|
||
// if ($token['code'] < 0) return $this->response($token);
|
||
//
|
||
// $member_id = $this->member_id;
|
||
// $money = isset($this->params['money']) ? $this->params['money'] : '';
|
||
//
|
||
// if (empty($money)) {
|
||
// return $this->response($this->error('', 'REQUEST_MONEY'));
|
||
// }
|
||
//
|
||
// $data = [
|
||
// 'member_id' => $member_id,
|
||
// 'money' => $money,
|
||
// 'site_id' => $this->site_id
|
||
// ];
|
||
//
|
||
// $withdraw_model = new FenxiaoWithdraw();
|
||
// $res = $withdraw_model->addFenxiaoWithdraw($data);
|
||
//
|
||
// return $this->response($res);
|
||
// }
|
||
|
||
/**
|
||
* 提现记录分页
|
||
* @return false|string
|
||
*/
|
||
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;
|
||
$status = isset($this->params['status']) ? $this->params['status'] : 0;// 当前状态 1待审核 2待转账 3已转账 -1 已拒绝
|
||
|
||
$condition = [
|
||
['member_id', '=', $this->member_id]
|
||
];
|
||
if (!empty($status)) {
|
||
$condition[] = ['status', '=', $status];
|
||
}
|
||
|
||
$order = 'id desc';
|
||
$withdraw_model = new FenxiaoWithdraw();
|
||
$list = $withdraw_model->getFenxiaoWithdrawPageList($condition, $page, $page_size, $order);
|
||
foreach($list['data']['list'] as $k => $v){
|
||
$list['data']['list'][$k] = $withdraw_model->tran($v);
|
||
}
|
||
return $this->response($list);
|
||
}
|
||
|
||
/**
|
||
* 获取转账方式
|
||
* @return false|string
|
||
*/
|
||
public function transferType()
|
||
{
|
||
$token = $this->checkToken();
|
||
if ($token[ 'code' ] < 0) return $this->response($token);
|
||
|
||
$member_model = new Member();
|
||
$member_info = $member_model->getMemberInfo([ [ 'member_id', '=', $token[ 'data' ][ 'member_id' ] ] ], 'site_id,wx_openid,weapp_openid');
|
||
$withdraw_config_model = new \addon\fenxiao\model\Config();
|
||
$transfer_type_list = $withdraw_config_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 = $this->params[ 'apply_money' ] ?? 0;
|
||
$transfer_type = $this->params[ 'transfer_type' ] ?? '';//提现方式
|
||
$realname = $this->params[ 'realname' ] ?? '';//真实姓名
|
||
$bank_name = $this->params[ 'bank_name' ] ?? '';//银行名称
|
||
$account_number = $this->params[ 'account_number' ] ?? '';//账号名称
|
||
$mobile = $this->params[ 'mobile' ] ?? '';//手机号
|
||
$app_type = $this->params[ 'app_type' ];
|
||
$fenxiao_withdraw_model = new FenxiaoWithdraw();
|
||
$data = array (
|
||
'member_id' => $this->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 = $fenxiao_withdraw_model->apply($data, $this->site_id, 'shop');
|
||
return $this->response($result);
|
||
}
|
||
|
||
/**
|
||
* 提现详情
|
||
* @return mixed
|
||
*/
|
||
public function detail()
|
||
{
|
||
$token = $this->checkToken();
|
||
if ($token[ 'code' ] < 0) return $this->response($token);
|
||
|
||
$id = $this->params[ 'id' ] ?? 0;
|
||
$fenxiao_withdraw_model = new FenxiaoWithdraw();
|
||
$params = array (
|
||
'id' => $id,
|
||
'site_id' => $this->site_id
|
||
);
|
||
$result = $fenxiao_withdraw_model->getFenxiaoWithdrawDetail($params);
|
||
return $this->response($result);
|
||
}
|
||
|
||
/**
|
||
* Common: 桑果转赠
|
||
* Author: wu-hui
|
||
* Time: 2023/02/16 17:05
|
||
* @return false|string
|
||
*/
|
||
public function integralMoneyTransfer(){
|
||
// 用户登录
|
||
$token = $this->checkToken();
|
||
if ($token['code'] < 0) return $this->response($token);
|
||
// 参数获取
|
||
$to_username = input('username');
|
||
$apply_money = abs(input('apply_money'));
|
||
if($apply_money % 100 != 0){
|
||
return $this->response($this->error('','金额需为100的整数倍'));
|
||
}
|
||
$to_where = [
|
||
['site_id', '=', $this->site_id],
|
||
['username|mobile|rcode', '=', $to_username],
|
||
];
|
||
if ($to_username) {
|
||
$res = (new ConfigModel())->getFenxiaoWithdrawConfig($this->site_id)['data']['value'];
|
||
// 获取赠送人信息
|
||
$currentMemberInfo = (new MemberModel())->getMemberInfo([['member_id','=',$this->member_id]],'member_id,username,status')['data'];
|
||
|
||
// 获取接受者会员账号信息
|
||
$memberInfo = (new MemberModel())->getMemberInfo($to_where,'member_id,username,status,pay_password')['data'];
|
||
if(empty($memberInfo) || $memberInfo['status'] != 1) return $this->response($this->error('会员账号不存在!'));
|
||
// 获取接受者分销商信息
|
||
$fenXiaoInfo = (new FenxiaoModel())->getFenxiaoInfo([['member_id','=',$memberInfo['member_id']]],'member_id,fenxiao_name,fenxiao_id,status,parent')['data'];
|
||
if (empty($fenXiaoInfo) || $fenXiaoInfo['status'] != 1) return $this->response($this->error('当前会员不是分销商,不能接收桑果!'));
|
||
// // 根据 桑果转让限制 进行对应的判断操作 1=推荐关系,2=亲属线关系,3=全平台
|
||
// if(in_array((int)$res['co_money_transfer_limit'],[1,2])){
|
||
// $data['member_id'] = $this->member_id;
|
||
// $data['site_id'] = $this->site_id;
|
||
// $data['field'] = 'member_id';
|
||
// $lower = event('UserNodeDownAll',$data,TRUE);
|
||
// $mIds = [];
|
||
// if(!empty($lower)) $mIds = array_column($lower,'member_id');
|
||
// // if(!in_array($memberInfo['member_id'],$mIds) && $res['co_money_transfer_limit'] == 1) return $this->response($this->error('非下属不可转让'));
|
||
// $p = event('UserUpNodeData',$data,TRUE);
|
||
// $pmIds = [];
|
||
// if(!empty($p)) $pmIds = array_column($p,'member_id');
|
||
// // if(!in_array($memberInfo['member_id'],array_merge($mIds,$pmIds)) && $res['co_money_transfer_limit'] == 2) return $this->response($this->error('非亲属关系无法转账'));
|
||
// }
|
||
// 判断是否转让给自己
|
||
$fenXiaoInfo['username'] = $memberInfo['username'];
|
||
if ($this->member_id == $memberInfo['member_id']) return $this->response($this->error('不能转账给自己'));
|
||
// 转赠操作
|
||
$result = (new FenxiaoWithdraw())->integralMoneyTransfer($fenXiaoInfo, $this->member_id, abs($apply_money), $this->site_id);
|
||
return $this->response($result);
|
||
} else {
|
||
return $this->response($this->error('转入账号不能为空'));
|
||
}
|
||
}
|
||
|
||
|
||
} |