167 lines
5.6 KiB
PHP
167 lines
5.6 KiB
PHP
<?php
|
||
/**
|
||
* Created by PhpStorm.
|
||
* User: zn
|
||
* Date: 2017/8/9
|
||
* Time: 14:37
|
||
*/
|
||
|
||
namespace app\controllers;
|
||
|
||
use common\models\User;
|
||
use common\modules\qixunpay\vo\Pay;
|
||
use common\modules\qixunpay\PayUtil;
|
||
use common\services\ClientMessageServices;
|
||
use common\services\GameConfigServices;
|
||
use common\services\ResultStatusServices;
|
||
use common\services\UserService;
|
||
use common\utils\YiiComponentUtil;
|
||
use Yii;
|
||
use yii\rest\Controller;
|
||
|
||
class PayController extends Controller
|
||
{
|
||
public function actionPay()
|
||
{
|
||
$userID = Yii::$app->request->get('user_id');
|
||
$payID = Yii::$app->request->get('pay_id'); //支付配置表ID
|
||
$configType = intval(Yii::$app->request->get('config_type')); //支付配置类型;0:充值,1:周卡月卡
|
||
|
||
// if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
||
$userDbData = User::findById($userID);
|
||
if ($configType == 0) {
|
||
//充值
|
||
|
||
if($userDbData['isjihuo']==0){
|
||
return ClientMessageServices::sendMessage('请先激活账号');
|
||
}
|
||
$config = GameConfigServices::getParamByPath('pay_list.' . $payID);
|
||
if (empty($config)) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
|
||
|
||
$rmb = floatval($config['rmb']);
|
||
$gem = (int)$config['gem'];
|
||
|
||
if ($rmb <= 0 || $gem <= 0) return ClientMessageServices::sendMessage(ResultStatusServices::RS_CONFIG_ERROR);
|
||
|
||
} elseif ($configType == 1) {
|
||
if($userDbData['isjihuo']==0){
|
||
return ClientMessageServices::sendMessage('请先激活账号');
|
||
}
|
||
//周卡月卡
|
||
$configType = 1;
|
||
|
||
$config = GameConfigServices::getParamByPath('card.' . $payID);
|
||
if (empty($config)) return ClientMessageServices::sendMessage(ResultStatusServices::RS_PARAM_ERROR);
|
||
|
||
$rmb = floatval($config['rmb']);
|
||
$gem = 0;
|
||
|
||
if ($rmb <= 0) return ClientMessageServices::sendMessage(ResultStatusServices::RS_CONFIG_ERROR);
|
||
}else{
|
||
if($userDbData['isjihuo']==1){
|
||
return ClientMessageServices::sendMessage('您的账号已经激活');
|
||
}
|
||
$rmb = GameConfigServices::getCommonNumByID(GameConfigServices::COMMON_BROADCAST_MESSAGE_EXPEND);
|
||
$gem = 0;
|
||
if ($rmb <= 0) return ClientMessageServices::sendMessage(ResultStatusServices::RS_CONFIG_ERROR);
|
||
}
|
||
|
||
list($insidePayConfig, $orderID) = PayUtil::pay($userID, $rmb, $gem, PayUtil::PAY_TYPE_WX_INSIDE, $payID, $configType);
|
||
|
||
$rData['order_id'] = $orderID; //订单ID
|
||
$rData['money'] = $rmb; //支付金额
|
||
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $rData);
|
||
//下面是之前配置微信支付的
|
||
// list($insidePayConfig, $orderID, $scanURL) = PayUtil::pay($userID,$rmb,$gem,PayUtil::PAY_TYPE_WX_SCAN,$payID);
|
||
$jsConfig = YiiComponentUtil::easywechat()->oaApp()->jssdk->buildConfig(['chooseWXPay'], true);
|
||
|
||
$rData['pay_config'] = $insidePayConfig; //微信支付配置
|
||
$rData['order_id'] = $orderID; //订单ID
|
||
$rData['js_config'] = $jsConfig;
|
||
|
||
return ClientMessageServices::sendMessage(ResultStatusServices::RS_OPERATION_SUCCESS, $rData);
|
||
}
|
||
|
||
|
||
public function actionRecharge()
|
||
{
|
||
//获取数据
|
||
$Code = $_POST['token'];
|
||
$payType = $_POST['payType'];
|
||
$number = $_POST['number'];
|
||
//验证
|
||
if (!$Code) {
|
||
$json = array('code' =>'1004', 'error_msg' =>'用户不存在');
|
||
return $json;
|
||
}
|
||
//查找用户
|
||
$userData = User::findOne(['code' => $Code]);
|
||
if ($userData == null) {
|
||
$json = array('code' =>'1004', 'error_msg' =>'用户不存在');
|
||
return $json;
|
||
}
|
||
$userID = $userData['id'];
|
||
$rmb = floatval($number);
|
||
$gem = (int)$number;
|
||
list($insidePayConfig, $orderID) = PayUtil::pay($userID, $rmb, $gem, PayUtil::PAY_TYPE_WX_INSIDE, 0, 0);
|
||
|
||
$rData['order_id'] = $orderID; //订单ID
|
||
$rData['money'] = $rmb*100; //支付金额
|
||
$rData['payType'] = $payType; //支付金额
|
||
$json = array('code' =>0, 'error_msg' =>$rData);
|
||
return $json;
|
||
|
||
}
|
||
|
||
/**
|
||
* 获取提现账户
|
||
*/
|
||
public function actionRechargelist()
|
||
{
|
||
//获取数据
|
||
$Code = $_POST['token'];
|
||
|
||
|
||
//验证
|
||
if (!$Code) {
|
||
$json = array('code' =>'1004', 'error_msg' =>'用户不存在');
|
||
return $json;
|
||
}
|
||
//查找用户
|
||
$userData = User::findOne(['code' => $Code]);
|
||
|
||
$find = Pay::find();
|
||
$find->andWhere(['=', 'user_id', $userData['id']]);
|
||
$find->limit(10);
|
||
$find->addOrderBy(['id' => SORT_DESC]);
|
||
|
||
$dbList = $find->all();
|
||
|
||
$json = array('code' =>0, 'data' =>$dbList);
|
||
return $json;
|
||
}
|
||
|
||
/**
|
||
* 支付返回
|
||
*/
|
||
public function actionPayCallBack()
|
||
{
|
||
PayUtil::payCallBack();
|
||
}
|
||
|
||
public function actionCheckOrder()
|
||
{
|
||
PayUtil::payCallBack();
|
||
exit;
|
||
//$userID = Yii::$app->request->get('user_id');
|
||
$orderID = Yii::$app->request->get('order_id');
|
||
|
||
// if (!$userID) return ClientMessageServices::sendMessage(ResultStatusServices::RS_USER_NOT_LOGIN);//验证登录
|
||
|
||
$r = PayUtil::checkOrder($orderID);
|
||
if ($r !== true) return ClientMessageServices::sendMessage(ResultStatusServices::RS_WX_PAY_ERROR, $r);
|
||
|
||
$user = User::findById($userID);
|
||
return ClientMessageServices::sendMessage(ResultStatusServices::RS_WX_PAY_ERROR, $user->genClientData());
|
||
}
|
||
} |