Pro/application/onlinechip/controller/Order.php
2026-02-25 01:50:31 +08:00

210 lines
8.0 KiB
PHP

<?php
namespace app\onlinechip\controller;
use \think\Controller;
use think\Exception;
use \think\Session;
use \think\Request;
use \think\Db;
use \think\Log;
class Order Extends Controller{
use traits\yonghengPay;
use traits\oneGoPay;
use traits\hipPay;
use traits\tingPay;
use traits\happyPay;
use traits\hengfuPay;
public function __construct()
{
parent::__construct();
}
public function test_post(){
return $this->fetch();
}
public function index(){
$user_id = intval(Request::instance()->get('uid'));
$api_token = trim(Request::instance()->get('api_token'));
$user = Db::name('user')->where(array('id' => $user_id))->find();
$area_list = config('area_list');
$pay_list = config('pay_list');
if(!isset($area_list[$user['area_id']])){
exit('所在地区暂不支持充值');
}
$pay_method = $area_list[$user['area_id']]['pay'];
if($user && $user['api_token'] == $api_token){
$this->assign('online_order_fac',$pay_list[$pay_method]['online_order_fac']);
$this->assign('payMethod',$pay_list[$pay_method]['type']);
$this->assign('client',1);
$this->assign('user_info',$user);
return $this->fetch();
}else{
exit('页面错误,请退出再登录!');
}
}
public function wappay(){
$user_id = intval(Request::instance()->get('uid'));
$api_token = trim(Request::instance()->get('api_token'));
$user = Db::name('user')->where(array('id' => $user_id))->find();
$area_list = config('area_list');
$pay_list = config('pay_list');
if(!isset($area_list[$user['area_id']])){
exit('所在地区暂不支持充值');
}
$pay_method = $area_list[$user['area_id']]['pay'];
if($user && $user['api_token'] == $api_token){
$this->assign('online_order_fac',$pay_list[$pay_method]['online_order_fac']);
$this->assign('payMethod',$pay_list[$pay_method]['type']);
$this->assign('client',2);
$this->assign('user_info',$user);
return $this->fetch();
}else{
exit('页面错误,请退出再登录!');
}
}
//确认充值
public function recharge(){
$user_id = intval(Request::instance()->post('user_id'));
$recharge_type = intval(Request::instance()->post('recharge_type'));
$receivables_id = intval(Request::instance()->post('receivables_id'));
if($recharge_type == 1){
$recharge_bank = trim(Request::instance()->post('recharge_bank'));
$recharge_cardnumber = trim(Request::instance()->post('recharge_cardnumber'));
}
$recharge_money = trim(Request::instance()->post('recharge_money'));
if(!$recharge_money || $recharge_money <= 0){
return json(array('Success' => 0, 'Msg' => '充值金额有误'));
}
$user = Db::name('user')->where(array('id' => $user_id))->find();
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$area_list = config('area_list');
//判断是否金流支线,如果不是的话,不允许充值
$isAllow = false;
foreach($area_list[$user['area_id']]['limit_agent'] as $allowAgentId){
if(in_array($allowAgentId,$zdlIdArr)){
$isAllow = true;
}
}
if(!$isAllow){
return json(array('status' => 0, 'message' => '该账号暂不支持充值'));
}
if($user && $recharge_type > 0 && $receivables_id > 0 && $recharge_money > 0){
$add_record = array();
$add_record['user_id'] = $user_id;
$add_record['username'] = $user['username'];
$add_record['record_type'] = 1;
$add_record['recharge_type'] = $recharge_type;
$add_record['receivables_id'] = $receivables_id;
$recharge_info = Db::name('receivables')->where('id',$receivables_id)->find();
$add_record['recharge_name'] = $recharge_info['receivables_name'];
$add_record['recharge_name'] = $user['username'];
if($add_record['recharge_type'] == 1){
$add_record['recharge_bank'] = $recharge_bank;
$add_record['recharge_cardnumber'] = $recharge_cardnumber;
}
$add_record['recharge_money'] = $recharge_money;
$add_record['create_time'] = time();
$add_record['status'] = 0;
$is_add_record = Db::name('receivables_record')->insert($add_record);
if($is_add_record){
$record_info = array();
$record_info['msg'] = '充值成功,请联系管理员确认';
$record_info['finish_money'] = Db::name('receivables_record')->where('record_type',1)->where('user_id',$user_id)->where('status',1)->sum('recharge_money');
$record_info['ongoing_money'] = Db::name('receivables_record')->where('record_type',1)->where('user_id',$user_id)->where('status',0)->sum('recharge_money');
$data = $record_info;
return json(array('Success' => 1, 'Data' => $data));
}else{
return json(array('Success' => 0, 'Msg' => '充值失败,请稍后再试'));
}
}else{
return json(array('Success' => 0, 'Msg' => '获取信息失败'));
}
}
//确认提现
public function withdrawal(){
$user_id = intval(Request::instance()->post('user_id'));
$recharge_name = trim(Request::instance()->post('recharge_name'));
$recharge_bank = trim(Request::instance()->post('recharge_bank'));
$recharge_bank_branch = trim(Request::instance()->post('recharge_bank_branch'));
$recharge_cardnumber = trim(Request::instance()->post('recharge_cardnumber'));
$recharge_money = trim(Request::instance()->post('recharge_money'));
if(!$recharge_name){
return json(array('Success' => 0, 'Msg' => '持卡人不能为空'));
}
if(!$recharge_bank){
return json(array('Success' => 0, 'Msg' => '提款银行不能为空'));
}
if(!$recharge_bank_branch){
return json(array('Success' => 0, 'Msg' => '提款银行支行不能为空'));
}
if(!$recharge_cardnumber){
return json(array('Success' => 0, 'Msg' => '提款银行卡号不能为空'));
}
if(!$recharge_money || $recharge_money <= 0){
return json(array('Success' => 0, 'Msg' => '提款金额有误'));
}
$user = Db::name('user')->where(array('id' => $user_id))->find();
$zdlIdArr = explode(',',$user['agent_parent_id_path']);
$area_list = config('area_list');
//判断是否金流支线,如果不是的话,不允许充值
$isAllow = false;
foreach($area_list[$user['area_id']]['limit_agent'] as $allowAgentId){
if(in_array($allowAgentId,$zdlIdArr)){
$isAllow = true;
}
}
if(!$isAllow){
return json(array('status' => 0, 'message' => '该账号暂不支持提现'));
}
if($user){
$is_banke_info = Db::name('receivables')->where('user_id',$user_id)->where('receivables_bank',$recharge_bank)->where('type',2)->find();
if(!$is_banke_info){
$add_bank = array();
$add_bank['user_id'] = $user_id;
$add_bank['receivables_name'] = $recharge_name;
$add_bank['receivables_bank'] = $recharge_bank;
$add_bank['receivables_bank_branch'] = $recharge_bank_branch;
$add_bank['receivables_bank_number'] = $recharge_cardnumber;
$add_bank['create_time'] = time();
$add_bank['status'] = 1;
$add_bank['type'] = 2;
Db::name('receivables')->insert($add_bank);
}
if($user['money'] > $recharge_money){
$add_record = array();
$add_record['user_id'] = $user_id;
$add_record['username'] = $user['username'];
$add_record['record_type'] = 2;
$add_record['recharge_name'] = $recharge_name;
$add_record['recharge_bank'] = $recharge_bank;
$add_record['recharge_bank_branch'] = $recharge_bank_branch;
$add_record['recharge_cardnumber'] = $recharge_cardnumber;
$add_record['recharge_money'] = $recharge_money;
$add_record['create_time'] = time();
$add_record['status'] = 0;
$is_add_record = Db::name('receivables_record')->insert($add_record);
if($is_add_record){
$record_info = array();
$record_info['msg'] = '提现成功,请等待管理员放款';
$record_info['newMoney'] = $user['money'] - $recharge_money;
Db::name('user')->where(array('id' => $user_id))->limit(1)->update(array('money' => $record_info['newMoney']));
$data = $record_info;
return json(array('Success' => 1, 'Data' => $data));
}else{
return json(array('Success' => 0, 'Msg' => '提现失败,请稍后再试'));
}
}else{
return json(array('Success' => 0, 'Msg' => '您的余额不足'));
}
}else{
return json(array('Success' => 0, 'Msg' => '获取信息失败'));
}
}
}