Browse Source

微信授权与付款

shish 6 years ago
parent
commit
954c782d43

+ 0 - 1
app/mobile/controllers/AuthController.php

@@ -148,7 +148,6 @@ class AuthController extends PublicController
 		$token = jwt::get($sourceId, $userId);
 		$suffixUrl = strpos($suffixUrl, '?') === false ? $suffixUrl . '?token=' . $token : $suffixUrl . '&token=' . $token;
 		$url = $host . '/' . $suffixUrl;
-		echo $url;die;
 		$this->redirect($url);
 	}
 	

+ 19 - 0
app/mobile/controllers/BaseController.php

@@ -2,7 +2,9 @@
 
 namespace mobile\controllers;
 
+use biz\merchant\services\MerchantService;
 use biz\user\services\UserService;
+use common\components\httpUtil;
 use common\components\jwt;
 use common\components\util;
 
@@ -18,11 +20,28 @@ class BaseController extends PublicController
 	public $validate = true;
 	public $withoutLogin = [];//不需要登陆可以访问的方法
 	public $userId, $user;
+	public $merchantId, $merchant;
+	public $isWeixin;
 	
 	public function beforeAction($action)
 	{
 		//token验证
 		$userId = jwt::checkLogin();
+		
+		$header = httpUtil::getHeader();
+		$account = isset($header['account']) ? $header['account'] : 0;
+		if (empty($account)) {
+			util::fail('商家无效');
+		}
+		$merchant = MerchantService::getById($account);
+		if (empty($merchant)) {
+			util::fail('商家信息无效');
+		}
+		$this->merchantId = $account;
+		$this->merchant = $merchant;
+		
+		$this->isWeixin = util::isWeixin();
+		
 		if (empty($userId)) {
 			$this->validate = false;
 		} else {

+ 6 - 0
app/mobile/controllers/MainController.php

@@ -3,6 +3,7 @@
 namespace mobile\controllers;
 
 use biz\user\services\UserService;
+use common\components\jwt;
 use common\components\token;
 use Yii;
 use yii\db\Exception;
@@ -30,4 +31,9 @@ class MainController extends PublicController
 		return $this->renderPartial('index', ['host' => $host, 'token' => $token]);
 	}
 
+	public function actionJwt()
+	{
+		echo jwt::create(1,12536630);
+	}
+	
 }

+ 7 - 5
app/mobile/controllers/PayController.php

@@ -12,6 +12,7 @@ use common\components\qrCodeUtil;
 use common\models\xhOrder;
 use common\models\xhShop;
 use common\services\xhMerchantExtendService;
+use Faker\Provider\Base;
 use Yii;
 use yii\helpers\Json;
 use common\services\xhUserAssetService;
@@ -25,11 +26,13 @@ use common\components\util;
 use common\components\stringUtil;
 use common\components\configDict;
 
-class PayController extends MobileendController
+class PayController extends BaseController
 {
 	public $layout = 'centerMain';
 	public $withoutLogin = ['success', 'exec-alipay', 'detail', 'get-params', 'receive-success', 'not-login-receive-info', 'not-login-save-receive-info'];
 	
+	public $enableCsrfValidation = false;
+	
 	public function actionIndex()
 	{
 		$request = Yii::$app->request;
@@ -166,7 +169,8 @@ class PayController extends MobileendController
 		$memberIntegral = xhMerchantExtendService::getGradeList($merchantExtend, 'desc');
 		Yii::info(json_encode($merchantExtend));
 		Yii::info(json_encode($memberIntegral));
-		$discount = isset($memberIntegral[$level]['discount']) ? $memberIntegral[$level]['discount'] : $memberIntegral[$level]['discount'];
+		//$discount = isset($memberIntegral[$level]['discount']) ? $memberIntegral[$level]['discount'] : $memberIntegral[$level]['discount'];
+		$discount = 0;
 		$actPrice = $prePrice;
 		$couponId = isset($post['couponId']) && !empty($post['couponId']) ? $post['couponId'] : 0;
 		Yii::info($this->userId . ' ' . $level . ' ' . $discount);
@@ -274,14 +278,12 @@ class PayController extends MobileendController
 	public function actionExecAlipay()
 	{
 		header("Content-type: text/html; charset=utf-8");
-		
-		
 		$get = Yii::$app->request->get();
 		$orderId = isset($get['orderId']) ? $get['orderId'] : 0;
 		$couponId = isset($get['couponId']) ? $get['couponId'] : 0;
 		$pay = xhOrderService::getById($orderId);
 		$merchantId = $pay['merchantId'];
-		
+
 		if ($merchantId == 12358) {
 			$config = array(
 				//应用ID,您的APPID。

+ 1 - 1
common/components/jwt.php

@@ -31,7 +31,7 @@ class jwt
 		->identifiedBy($uniqueId, true)//该jwt的唯一ID编号
 		->issuedAt($time)//该jwt的发布时间
 		->canOnlyBeUsedAfter($time)//该jwt的使用时间不能早于该时间
-		->expiresAt($time + 3600)//该jwt销毁的时间
+		->expiresAt($time + 8640000)//该jwt销毁的时间
 		->set('userId', $userId)//设置一个变量
 		->sign($signer, $key)->getToken();